The Transactor V8 05 1988 Mar

84
8/7/2019 The Transactor V8 05 1988 Mar http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 1/84 C o m p u t e r s a n C o p y r i g h t s P a i n l e s s M D e v e l o p m e n t U s i n g C o m m o d o r e 6 4 M a t r i x M a t h e m a t i c s D e c o d i n g I n f o c o m V o c a b u l a r i e s B e t t e r S y n t a x f o D e v i c e I / E d i t i n g P o w e r L i b r a r i e s T h L i n k B e t w e e n a n M B u i t h 1 7 5 0 R A E x p a n d e r B e t t e r M B a n k - S w i t c h i n g o t h C o m m o d o r e 1 2 A u t o b o o t i n g P r o g r a m s U n d e r C P / M A m i g a S e c t i o n : A m i g a D i s p a t c h e s A m i g a ' s F l a s h y B o o t S e q u e n c e C h a n g i n g t h M o u s e P o i n t e r f r o m A m i g a B a s i c 0 C a n a d a $ 4 . 2 5 U S $ 3 . 5 0 F a s t S t r i n g S e a r c h e s w i t h B i n a r y T r e e s

Transcript of The Transactor V8 05 1988 Mar

Page 1: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 1/84

C o m p u t e r s a n C o p y r i g h t sP a i n l e s s M D e v e l o p m e n tU s i n g C o m m o d o r e 6 4 M a t r i x M a t h e m a t i c sD e c o d i n g I n f o c o mV o c a b u l a r i e s

B e t t e r S y n t a x f o D e v i c e I /

E d i t i n g P o w e r L i b r a r i e sT h L i n k B e t w e e n a n M

B u i t h 1 7 5 0 R A E x p a n d e rB e t t e r M B a n k - S w i t c h i n go t h C o m m o d o r e 1 2 A u t o b o o t i n g P r o g r a m sU n d e r C P / M

A m i g a S e c t i o n :A m i g a D i s p a t c h e sA m i g a ' s F l a s h yB o o t S e q u e n c eC h a n g i n g t h M o u s eP o i n t e r f r o m A m i g a B a s i c

0

C a n a d a $ 4 . 2 5U S $ 3 . 5 0

F a s t S t r i n g S e a r c h e sw i t h

B i n a r y T r e e s

Page 2: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 2/84

T h P o t p o u r r i D i s kH e l p !

T h i s H E L P f u l u t i l i t y g i v e s y o i n s t a n tm e n u - d r i v e n a c c e s s t o t e x t f i l e sa t h t o u c h o k e w h i l e a n p r o g r a m i r u n n i n g !

L o a n H e l p e rH o m u c h i t h a t l o a n r e a l l y g o i n gt c o s t y o u ? W h i c h i n t e r e s t r a t ec a y o a f f o r d ? W i t h L o a n H e l p e r ,t h a n s w e r s a r e a s c l o s e a s y o u rf r i e n d l y 6 4

K e y b o a r dL e a r n i n g h o t p l a y t h p i a n o ?T h i s h a n d y e d u c a t i o n a l p r o g r a mm a k e s i e a s y a n f u t o l e a r n t h n o t e s o t h k e y b o a r d .

F i l e d u m pE x a m i n e y o u r d i s k f i l e s F A S T w i t ht h i s m a c h i n e l a n g u a g e u t i l i t y .H a n d l e s s i f o r m a t s , i n c l u d i n g h e x ,d e c i m a l , C B a n t r u e A S C I I ,W o r d P r o a n S p e e d S c r i p t .

A n a g r a m sA n a g r a m s l e t s y o u n s c r a m b l ew o r d s f o c r o s s w o r d p u z z l e s a n t h l i k e . T h p r o g r a m u s e s r e c u rs i v e M s u b r o u t i n e f o m a x i m u ms p e e d a n e f f i c i e n c y .

L i f e

F A S T m a c h i n e l a n g u a g e v e r s i o no m a t h e m a t i c i a n J o h n H o r t o nC o n w a y ' s c l a s s i c s i m u l a t i o n , S e u y o u r o w ' c o l o n i e s ' a n w a t c ht h e m g r o w !

W a B a l l o o n sS h o o t d o w n t h o s e e v i l N a z i W a B a l l o o n s w i t h y o u r h a n d y A c m eC a n n o n ! D o n ' t l e t h e m g e t a w a y !

V o G o o g o lA l a s t ! T h m a p h i l o s o p h e r ,H e l g a v o G o o g o l , b r i n g s h e o w b r a n d o w i s d o m t t h s m a l ls c r e e n ! I t h i s i ' A l ' , t h e n i j u s t a i n ' tn a t u r a l !

N e w sS a v e t h m o n e y y o u s p e n d o nt h o s e s u p e r m a r k e t t a b l o i d s t h i sp r o g r a m w i l l g e n e r a t e e q u a l l yc o n v i n c i n g h e a d l i n e c o p y f o f r e e !

W r T h u l t i m a t e i e a s y - t o - u s e d a t ab a s e p r o g r a m s , W R l e t s y o q u i c k l y a n s i m p l y c r e a t e , e x a mi n a n e d i t j u s t a b o u t a n y d a t a ,C o m e s w i t h s a m p l e f i l e .

Q u i zT r i v i a f a n a t i c s a n s t u d e n t s a l i k ew i l l h a v e f u n w i t h t h i s p r o g r a m ,w h i c h g i v e s y o m u l t i p l e c h o i c et e s t s o m a t e r i a l y o h a v e e t e r e d w i t h t h W R p r o g r a m .

A H A ! L a n d e rA H A I ' s g r e a t l u n a r l a n d e r p r o g r a m .U s e i t h e r j o y s t i c k o k e y b o a r d t c o m p e t e a g a i n s t y o u r s e l f o r u t

o t h e r p l a y e r s , W a t c h o u f o s p a c e m i n e s !

B a t h E l v e sc u t e l i t t l e a r c a d e - s t y l e g a m e ;

c a p t u r e t h e l v e s i t h b a a q u i c k l y a y o c a b u d o n ' t g e t h g o o d e l f !

B l a c k j a c kT h m o s t f l e x i b l e b l a c k j a c k s i m u l at i o n y o u ' l l f i n d a n y w h e r e . S e u y o u r f a v o u r i t e r u l e v a r i a t i o n s f o d o u b l i n g , s u r r e n d e r i n g a n s p l i tt i n g t h e d e c k .

F i l e C o m p a r eW h i c h o t h o s e t w f i l e s y o j u s tc r e a t e d i t h m o s t r e c e n t v e s i o n ? W i t h t h i s g r e a t u t i l i t y y o u ' l ln e v e r b l e f t w o n d e r i n g .

G h o u l D o g sA r c a d e m a n i a c s l o o k o u t ! Y o u ' l ln e e d a l y o u r d e x t e r i t y t o h a n d l et h i s w i c k e d j o y s t i c k - b u s t e r ! T h e s em a d o g - m o n s t e r s f r o m s p a c ea r n o f o n o v i c e s !

O c t a g o n sJ u s t t h t h i n g f o y o M e n s a t y p e s ,O c t a g o n s i c h a l l e n g i n g p u z z l eo t h m i n d . F o u r l e v e l s o p l a y ,a n t o u g h ' m e m o r y ' v a r i a t i o nf o r e a l e x p e r t s !

B a c k s t r e e t sn i f t y a r c a d e g a m e , 1 O O % m

c h i n e l a n g u a g e , t h a t h e l p s y o l e a r n t h t y p e w r i t e r k e y b o a r dw h i l e y o p l a y ! U n l i k e a n t y p i n gp r o g r a m y o u ' v e s e e n !

A l t h a b o v e p r o g r a m s , j u s t $ 1 7 . 9 5 U S $ 1 9 . 9 5 C a n a d i a n . N o n o E A C H o t h a b o v e p r o g r a m s , A L o t h a b o v e p r o g r a m s , o n s i n g l e d i s k , a c c e s s e di n d e p e n d e n t l y o f r o m m e n u , w i t h b u i l t - i n m e n u - d r i v e n h e l p a n f a s t - l o a d e r .

T h E N T I R E P O T P O U R R I C O L L E C T I O NJ U S T $ 1 7 . 9 5 U S ! !

S e O r d e r C a r d a C e n t e r

Page 3: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 3/84

V o l u m eI s s u e

B i t s a n P i e c e s . F i g u r e t h i s o n o u t !S p r i t e M e m o r y D i s p l a yF i l e T r a c k a n S e c t o rF i l e L o a d A d d r e s s C h a n g e rF i l e S t r i p p e rN o - Q u e s t i o n M a r k I n p u tB i n a r y S o r t i n g " O T h F l y "H a n d y H e x e rM i c r o t r a c eM o n i t o r D u m p t S e q u e n t i a l F i l e5 0 - l i n e , 8 0 - c o l u m n C l 2 D i s p l a yW i n d o w s o t h 1 2 T h O t h e r D r a g B a rA w r i t e F i l e T r a n s f e r sA m i g a 5 0 S e r i a l a n P a r a l l e l P o r t s

L e t t e r s 1 q u e s t i o n o c o p y r i g h t

T r a n s f o r m e r M o d s f o M C 6 8 0 1 0 A m i g aC 6 K e y b o a r d M a t r i xC l o c k S e t t i n gT r a n s a c t o r ' s A m i g a C o v e r a g eM h e a r t l e a p s u p . . .A c c e s s i n g C u r l y B r a c k e t s w i t h S p e e d s c r i p tT h C o n t i n u i n g B I T / . B Y T E S a g aM E P R O M B u r n e rI E E E I n t e r f a c e s f o t h C 6 4 / 1 2 8

N e w s B R 7 N e E d i t o r i a l A s s i s t a n t M e n d s O u r W a y sS a v e o Q u i c k B r o w n B o x e sC o m b i n a t i o n M a g a z i n e S u b s c r i p t i o n sS u b s c r i p t i o n S w i t c hP r o b l e m s K e e p L i f e I n t e r e s t i n gE a r l y R e n e w a l N o t i c e sT w S e p a r a t e S u b s !H a l f P r i c e F o O n Y e a r O n l yO f f i c e A c c e s sT h 2 0 / 2 0 D e a l1 5 4 1 U p g r a d e R O M s N L o n g e r A v a i l a b l eT P U G N L o n g e r S u p p l y i n g T r a n s a c t o rN e a n d I m p r o v e d T r a n s a c t o r D i s k s !F i s h D i s k s W i t h C u s t o m L a b e l sT r a n s a c t o r B i - M o n t h l y S p e c i a l E x t e n d e dT r a n s a c t o r M a i l O r d e rP a r e n t s L e g a l l y R e s p o n s i b l e f o T e e n a g e P i r a t e s ?T h 6 E m u l a t o r f o A m i g aT H A C C O U N T A N T v 2 . 0 f o C 1 2 8N e U t i l i t y P r o g r a m F o t h 1 5 8 1 D i s k D r i v eS u r v e y - M a s t e r f o C 6 C 1 2 8S a t c o m m 6 P r e c i s e l y a n Q u a r t e r b a c k f o t h A m i g aL e g a l C a r e F o Y o u r S o f t w a r eM I D I I n t e r f a c e f o C 6 4 & C 1 2 8C o m m o d o r e 1 2 S o f t w a r e f r o m A b a c u sS p e e d t e r m 1 2 8 . T A S - 1 2 8 , P P M - 1 2 8A m i g a S o f t w a r e a n d B o o k s f r o m A b a c u sT e x t P r o , B e c k e r T e x t ,D a t a R e t r i e v e , A s s e m P r o ,A m i g a B A S I C - I n s i d e O u t ,A m i g a T r i c k s a n T i p s ,A m i g a f o B e g i n n e r s ,A m i g a M a c h i n e L a n g u a g eP o w e r W i n d o w s : R e l e a s e 2 . K e t e k a n n o u n c e s n e C o m m a n d C e n t r eS p e e d S c r i p t U p g r a d e f o t h C - 1 2 8M P S - 8 0 1 D e s c e n d e r R O S y n t h e s i z e r S o f t w a r eM u s i c a l C a t e c h i s m L e s s o n s o t h 6

T r a n s B l o o p s . 1 R a n d o m N u m b e r G e n e r a t i o n i M C o m m o n b C o m p a r i s o n

T r a n s a c t o rS o c i a l l y U n a c c e p t a b l e

T e l e C o l u m n 1 B r a n c h o u i n t o b i n a r y t r e e s t o r g a n i z e y o u r d a t a l

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

K e a Q l n i O C O m T h o s e t e x t a d v e n t u r e s h a v e b i v o c a b u l a r i e s - b u t w h e r e ? Z I n t e r f a c i n g T W C 6 4 S D e v e l o p o n o n e m a c h i n e , t e s t o a n o t h e r ! 3 T h L i n k B e t w e e n a n d A s s e m b l y c a m u k e a P o w e r f u n c t i o n 3 M a i n t a i n i n g t h P o w e r L i b r a r y n ™ , ™ r o u t i n e s i m o c i i b r a r y c a i i s 4

D 6 t t G r O n t c l X f o K e r n a l D e v i c e I / O . D o n ' t l e " d e v i c e o n l y " p r o g r a m s r u l e y o u r l i f e 4 A R A M E X p a n S l O n B U H o d i t h a t R O c o d e f i n d i t w a i n t o t h s t r i n g s ? 4

S t e v e P u n t e r o f f e r s t i p s f o r f a s t e r b a n k m a n a g e m e n t 5 C P / M T h e r e ' s a n o t h e r w a y - a n i t ' s f a s t e r , t o o ! 5

Z T h i s i n t e r r u p t - d r i v e n t i m e k e e p e r e v e n h a b u i l t - i n a l a r m . O

A m i g a S e c t i o nI w h i c h T i a n n o u n c e s t h e n o a e r i c o m p u t e r j o u r n a l i s m U t

C h a n g e Y o u r M o u s e P o i n t e r S ^ S S ^ f f i S 7 F a C t S B e h i n d T h F l a S h e S W h a t y o u r A m i g a i t e H i n g y o u d u r i n g b o o t - u p . 7

N o t e : b e f o r e e n t e r i n g p r o g r a m s , s e " V e r i f i z e r " o p a g e 4

A B O U T T H C O V E R : T h t r e e w a d r a w n u s i n gD e l u x e P a i n t I I t h e n s i m p l y s t o r e d o d i s k , p a c k e d i a e n v e l o p e , a n s h i p p e d t t h I m a g e S e t C o r p o r a t i o n i S a F r a n c i s c o , C A I s e e m s t h A m i g a w i l l d j u s t a b o u ta n y t h i n g , a n c o l o u r s e p a r a t i o n s o m i c r o i a a p p l ic a t i o n t h a t ' s a b o u t a c o s t a n t i m e e f f e c t i v e a y o c a g e t . U s i n g p r o g r a m c a l l e d " C o l o r S e t " , t h e I F f i l ec o n t a i n i n g o u p i c t u r e c a n b e r e s i z e d v e r t i c a l l y o h o r i z o n t a l l y b e f o r e t h s e p a r a t i o n s a r e g e n e r a t e d .

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 4: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 4/84

I t a n s a c t o rT h M a g a i l n e f o C o m m o d o r e P r o g r a m m e r s

E d i t o r - i n - C h i e fK a r l J . H . H i l d o n

P u b l i s h e rR i c h a r d E v e r s

T e c h n i c a l E d i t o rC h r i s Z a m a r a

S u b m i s s i o n s E d i t o rN i c k S u l l i v a n

E d i t o r i a l A s s i s t a n tM o y a D r u m m o n d

C u s t o m e r S e r v i c eJ e n n i f e r R e d d y

C o n t r i b u t i n g W r i t e r sI a A d a mS t e v e A h l s t r o mD a v i d A r c h i b a l dJ a c k B e d a r dP a u l B l a i rN e a l B r i d g e sB i l l B r i e rA n t h o n y B r y a n tJ i B u t t e r f i e l dD a l e A C a s t e l l c fB e t t y C l a yT o K C o l l o p yD o n C u r r i eR o b e r t V D a v i sE l i z a b e t h D e a lF r a n k E D i G i o i aC h r i s D u n nM i c h a e l J E r s k i n eJ a c k F a r r a hM a r k F a r r i sJ i F r o s tM i k l o s G a r a m s z e g h yE r i c G e r m a i nD a v i d G o d s h a l lM i c h a e l T G r a h a mE r i c G i g u e r eT h o m a s G u r l e yT i G r a n t h a mP a t r i c k H a w l e yA d a m H e r s tT h o m a s H e n r yJ o h n H o u g h t o nR o b e r t H u e h nD a v i d J a n k o w s k iC l i f t o n K a r n e sL o m e K l a s s e n

J e s s e K n i g h tG r e g o r y K n o xD a v i d L a t h r o pJ a m e s A L i s o w s k iR i c h a r d L u c a sS c o t t M a c l e a nS t e v e M c C r y s t a lC h r i s M i l l e rK e a t h M i l l i g a nT e r r y M o n t g o m e r yR a l p h M o r r i l lD . J . M o r r i s sM i c h a e l M o s s m a nB r y c e N e s b i t tG e r a l d N e u f e l dN o e l N y m a nM a t t h e w P a l c i cR i c h a r d P e r r i tL a r r y P h i l l i p sS t e v e P u n t e rR a y m o n d Q u i r l i n gD o u g R e s e n b e c kT o n y R o m e rH e r b R o s eD a S c h e i nE J S c h m a h lD a v i d S h i l o hD a r r e n J S p r u y tA u b r e y S t a n l e yD a v i d S t i d o l p hR i c h a r d S t r i n g e rA n t o n T r e u e n f e l sA u d r y s V i l k a sJ a c k W e a v e rG e o f f r e y W e l c hE v a n W i l l i a m s

P r o d u c t i o nA t t i c T y p e s e t t i n g L t d .

P r i n t i n gP r i n t e d i C a n a d a b

M a c L e a n H u n t e r P r i n t i n g

P r o g r a m L i s t i n g s I n T r a n s a c t o rA l p r o g r a m s l i s t e d i T r a n s a c t o r w i l l a p p e a r a t h e y w o u l d o y o u r s c r e e n i U p p e r / L o w e r c a s em o d e . T o c l a r i f y t w p o t e n t i a l c h a r a c t e r m i x - u p s , z e r o e s w i l l a p p e a r a ' 0 a n t h l e t t e r " o w i l l o c o u r s e b i l o w e r c a s e . S e c o n d l y , t h l o w e r c a s e ( T i s t r a i g h t l i n e a o p p o s e d t t h n u m b e rw h i c h h a a a n g l e d t o p .M a n y p r o g r a m s w i l l c o n t a i n r e v e r s e v i d e o c h a r a c t e r s t h a t r e p r e s e n t c u r s o r m o v e m e n t s , c o l o u r s , o f u n c t i o n k e y s . T h e s e w i l l a l s o b s h o w n e x a c t l y a s t h e y w o u l d a p p e a r o y o u r s c r e e n , b u t t h e y ' r el i s t e d h e r e f o r e f e r e n c e . A l s o r e m e m b e r : C T R L - q w i t h i n q u o t e s i i d e n t i c a l t o C u r s o r D o w n , e a l

O c c a s i o n a l l y p r o g r a m s w i l l c o n t a i n l i n e s t h a t s h o w c o n s e c u t i v e s p a c e s . O f t e n t h n u m b e r o s p a c e sy o i n s e r t w i l l n o b c r i t i c a l t c o r r e c t o p e r a t i o n o t h p r o g r a m . W h e n i i s t h r e q u i r e d n u m b e r o s p a c e s w i l l b e s h o w n . F o e x a m p l e :

p r i n t ' f l u s h r i g h t " - w o u l d b s h o w n a p r i n t " [ 1 0 s p a c e s ] f l u s h r i g h t "

C u r s o r C h a r a c t e r s F o r P E C B V I 6 D o w nu - R i g h t - L e f t [ l i t ]R V R V S O f f -

C o l o u r C h a r a c t e r s F o r V I 6 B l a c k -W h i t eR e C y a n [ C y n ]P u r p l e - [ P u r ]G r e e n | B l u eY e l l o w - [ Y e l ]

F u n c t i o n K e y s F o V I 6 F 5 F 6 F 7 F 8

P l e a s e N o t e : T r a n s a c t o r ' sp h o n e n u m b e r i s ( 4 1 6 ) 7 6 4 - 5 2 7 3

M o n d a y s , W e d n e s d a y s a n d F r i d a y s O N L Y

C o m p u S e r v e A c c o u n t sC o n t a c t u s a n y t i m e o G C B M P R G , G C B M C O M , o E a s y P l e x a t

K a r l J . H . H i l d o n 7 6 7 0 3 , 4 2 4 2C h r i s Z a m a r a 7 6 7 0 3 , 4 2 4 5N i c k S u l l i v a n 7 6 7 0 3 , 4 3 5 3

T r a n s a c t o r i p u b l i s h e d b i - m o n t h l y b T r a n s a c t o r P u b l i s h i n g I n c . , 8 W e s t W i l m o t S t r e e t , U n i t 1 0 R i c h m o n d H i l l , O n t a r i o , L 4 1 K 7 . C a n a d i a n S e c o n d C l a s s m a i l r e g i s t r a t i o n n u m b e r 6 3 4 2 . U S P S 7 2 5 -0 5 0 , S e c o n d C l a s s p o s t a g e p a i d a B u f f a l o , N Y f o U . S . s u b s c r i b e r s . U . S . P o s t m a s t e r s : s e n d a d d r e s sc h a n g e s t T r a n s a c t o r , P . O . B o 3 3 8 , S t a t i o n C B u f f a l o , N Y , 1 4 2 0 9 I S S N * 0 8 2 7 - 2 5 3 0 .T r a n s a c t o r i i n w a c o n n e c t e d w i t h C o m m o d o r e B u s i n e s s M a c h i n e s L t d . o C o m m o d o r e I n c o r p o r a t e d .C o m m o d o r e a n C o m m o d o r e p r o d u c t n a m e s ( P E T , C B M , V I C , 6 4 , 1 2 8 , A m i g a ) a r r e g i s t e r e d t r a d e m a r k s o C o m m o d o r e I n c .

S u b s c r i p t i o n s :C a n a d a $ 1 C d n . U . S . A . $ 1 5 U S . A l o t h e r $ 2 1 U S .

A i r M a i l ( O v e r s e a s o n l y ) $ 4 U S . ( $ 4 . 1 5 p o s t a g e / i s s u e )S e n d a l s u b s c r i p t i o n s t o T r a n s a c t o r , S u b s c r i p t i o n s D e p a r t m e n t , 8 W e s t W i l m o t S t r e e t , U n i t 1 0 R i c h m o n d H i l l , O n t a r i o , C a n a d a , L 4 1 K 7 , 4 1 6 7 6 5 2 7 3 . N o t e : S u b s c r i p t i o n s a r e h a n d l e d a t h i s a d d r e s sO N L Y . S u b s c r i p t i o n s s e n t t o u B u f f a l o a d d r e s s ( a b o v e ) w i l l b e f o r w a r d e d t o u R i c h m o n d H i l l H Q F o b e s t r e s u l t s , u s p o s t a g e p a i d c a r d a c e n t e r o m a g a z i n e .

Q u a n t i t y O r d e r s :I C a n a d a :I n g r a m S o f t w a r e L t d .1 4 A d e s s o D r i v e

C o n c o r d , O n t a r i oL 4 2 W ( 4 1 6 ) 7 3 8 - 1 7 0 0

I t h U . S . A . :I P ( I n t e r n a t i o n a l P e r i o d i c a l D i s t r i b u t o r s )1 1 7 6 0 - B S o r r e n t o V a l l e y R o a dS a D i e g o , C a l i f o r n i a9 2 1 2 1 ( 6 1 9 ) 4 8 1 - 5 9 2 8A s f o D a v e B r u e s c h e r

S O L D O U T : T h B e s t o T h T r a n s a c t o r V o l u m e s 3 V o I s s u e s 0 3 , 0 4 , 0 5 , 0 6 , a n V o I s s u e s 0 2 ,0 3 , 0 4 a r a v a i l a b l e o m i c r o f i c h e o n l y

S t i l l A v a i l a b l e : V o l . 4 : 0 1 , 0 2 . V o l . 5 : 0 1 , 0 4 , 0 5 , 0 6 . V o l . 6 : 0 1 , 0 2 , 0 3 , 0 4 , 0 5 , 0 6 .V o l . 7 : 0 1 , 0 2 , 0 3 , 0 4 , 0 5 , 0 6 . V o l . 8 : 0 1 , 0 2 , 0 3 , 0 4 , 0 5

B a c k I s s u e s : $ 4 . 5 0 e a c h . O r d e r a l b a c k i s s u e s f r o m R i c h m o n d H i l l H Q E d i t o r i a l c o n t r i b u t i o n s a r a l w a y s w e l c o m e . M i n i m u m r e m u n e r a t i o n i $ 4 p e p r i n t e d p a g e . P r e f e r r e dm e d i a a r 1 5 4 1 , 2 0 3 1 , 4 0 4 0 , 8 0 5 0 , 8 2 5 0 , 1 5 7 1 , o r 1 5 8 1 d i s k e t t e s w i t h W o r d P r o , P a p e r C l i p , P o c k e t W r i t e r ,W o r d C r a f t , S u p e r s c r i p t , ( a c t u a l l y , j u s t a b o u t a n y w o r d p r o c e s s o r f i l e s ) o S E t e x t f i l e s , o A m i g a f o r m a t 3 > / 2d i s k e t t e s w i t h A S C I I t e x t f i l e s . P r o g r a m l i s t i n g s i n c l u d i n g B I T S s u b s m i s s i o n s o m o r e t h a n f e l i n e s s h o u l db p r o v i d e d o d i s k . M a n u s c r i p t s s h o u l d b t y p e w r i t t e n , d o u b l e s p a c e d , w i t h s p e c i a l c h a r a c t e r s o r f o r m a t sc l e a r l y m a r k e d . P h o t o s s h o u l d b g l o s s y b l a c k a n w h i t e p r i n t s . I l l u s t r a t i o n s s h o u l d b o w h i t e p a p e r w i t hb l a c k i n k o n l y .

A l l m a t e r i a l a c c e p t e d b e c o m e s t h e p r o p e r t y o f T r a n s a c t o r . A l l m a t e r i a l i c o p y r i g h t b T r a n s a c t o rP u b l i c a t i o n s I n c . R e p r o d u c t i o n i a n f o r m w i t h o u t p e r m i s s i o n i i v i o l a t i o n o a p p l i c a b l e l a w s . S o l i c i t e dm a t e r i a l i a c c e p t e d o n a n a l r i g h t s b a s i s o n l y . W r i t e t t h R i c h m o n d H i l l a d d r e s s f o w r i t e r ' s p a c k a g e .T h o p i n i o n s e x p r e s s e d i c o n t r i b u t e d a r t i c l e s a r e n o t n e c e s s a r i l y t h o s e o T r a n s a c t o r . A l t h o u g h a c c u r a c y i

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

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 5: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 5/84

S o c i a l l y U n a c c e p t a b l eH a v e l o o k a t h f i r s t i t e m u n d e r " I n d u s t r y N e w s " i t h N e B R s e c t i o n . I t ' s r e p o r t o f e d e r a l c o u r t c a s e u n d e r w a y i N e Y o r ks t a t e . S h o u l d j u d g e m e n t b f o u n d f o t h p l a i n t i f f , t h d e f e n d a n t w i l lb c o n v i c t e d o o p e r a t i n g p i r a t e b u l l e t i n b o a r d s y s t e m . M o r es i g n i f i c a n t t h a n t h a t i t h f a c t t h a t h i o h e p a r e n t s w i l l b h e l dr e s p o n s i b l e .

I f o o n e , a r o o t i n g f o t h p l a i n t i f f . A n i t h e y s h o u l d w i n ? S e n dt h e m o w a l k d o w n t h g a n g p l a n k i t h a t ' s s u i t a b l e ( a n d I ' i g o o d m o o d r i g h t n o w ) . B u s i n c e t h a t d o e s n ' t h a p p e n i o u " c i v i l i z e da g e " , t h c o u r t w i l l n e e d t t h i n k o s o m e t h i n g e l s e . P u n i s h m e n t o e q u a l s i g n i f i c a n c e w o u l d h o p e . P u n i s h m e n t t h a t w i l l m a k e o t h e r st h i n k t w i c e a b o u t s u p p l y i n g t h e p u b l i c a l a r g e w i t h c o m m e r c i a ls o f t w a r e . A n n o j u s t o v e r t h p h o n e l i n e s . . . h a n d - t o - h a n d t r a n s f e r st o o . W n e e d d e t e r r e n t . d e t e r r e n t c o m m e n s u r a t e w i t h t h c r i m e .O n t h a t d e t e r s t h a c b e c a u s e g e t t i n g c a u g h t w o u l d b s o c i a l l yu n a c c e p t a b l e . T h o s e i n v o l v e d w i t h t h i s c a s e h a v e t h e o p p o r t u n i t y t s e v a l u a b l e p r e c e d e n t h e r e . . . o n t h a t m a p r o v e t b t h e b e s tp r o t e c t i o n y e t a g a i n s t s o f t w a r e p i r a c y .

L o o k i n g a s o f t w a r e s t e a l i n g o v e r t h y e a r s , i s e e m s l i t t l e e l s e h a p r o v e n v e r y e f f e c t i v e f o v e r y l o n g . E a r l y p a c k a g e s u s e d R O i n s t a l l e d i a s p a r e s o c k e t , b u i w a s n ' t l o n g b e f o r e t h e p r o g r a ms t o p p e d l o o k i n g a t h R O M . S a m e w i t h t h e d o n g l e . T h e n t h e r e w a d i s k s u r f a c e p r o t e c t i o n . T h i c k m a n u a l s . T h e y a l h a o n t h i n g i c o m m o n , t h o u g h . M a k i n g c o p y w a s o m e t h i n g t b p r o u d o f . . .f r i e n d s a d m i r e d y o u , e v e n i t h e y w e r e n ' t t h r e c i p i e n t o f t h d u p l i c a t e . T h s k i l l r e q u i r e d w a q u i t e c a p t i v a t i n g . L i k e d r i n k i n g a n d r i v i n g , t h a t m u s t c h a n g e .

U n f o r t u n a t e l y , c h a n g e s l i k e t h a t r e q u i r e m o n e y . . . l o o m o n e y .C h a n g i n g t h p u b l i c ' s a t t i t u d e t o w a r d a n y t h i n g , a t l e a s t o t h i sc o n t i n e n t , i p o s s i b l e , b u i u s u a l l y m e a n s r e l e n t l e s s , e x p e n s i v ec a m p a i g n s . E v e n t h e n , t h e r e w i l l a l w a y s b t h o s e w h c h o o s e t i g n o r e t h c o n s e q u e n c e s . A n s i n c e n o b o d y i s u f f e r i n g p h y s i c a l l yw h e n p r o g r a m i p a s s e d a l o n g , p u b l i c c a m p a i g n i u n l i k e l y . I l o o k s l i k e w e ' l l h a v e t s e t t l e f o t h e m b a r r a s s m e n t o c o n v i c t i o nt h a t c a b u s e d p u b l i c l y t e q u a t e s o f t w a r e p i r a t e s w i t h t h c o m m o nt h i e f .

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

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

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

a l s o s e l l s o u m a g ) l o s e s , a n t h c o n s u m e r p a y s h i g h e r p r i c e s . W h e nt h e s e o u t f i t s c a n ' t s u s t a i n t h e m s e l v e s a n l o n g e r , t h e y g u n d e r . T h e m p l o y e e s l o s e , a n t h c u s t o m e r s l o s e w h e n t h e y c a n l o n g e r g e s u p p o r t f o t h p r o d u c t s t h e y b o u g h t . W h e l s e ? H o a b o u t t h e s s e n t i a l s e r v i c e s t h a t e v e r y c o m p a n y n e e d s ? I t ' s t i m e t h a u t h o r i t i e st o o k n o t i c e . r u m o u r h e a r d r e c e n t l y s u g g e s t s t h e y a r e . P e r h a p s b n e x t i s s u e I ' l l h a v e m o r e o t h a t .

A f a a t h i s l a t e s t r o u n d g o e s , w o r d i t h a t t h D o f a m i l y s t a n d sg o o d c h a n c e o l o s i n g t h e i r t e l e p h o n e s e r v i c e . I t ' s w i t h i n t h e c o u r t ' sp o w e r t o r d e r i a n t h d e t e r r e n t v a l u e w o u l d h a v e f a m o r e i m p a c tt h a n e v e n t h m o s t r e a s o n a b l e f i n e . w o u l d h o p e t h e t e l e p h o n ec o m p a n y w o n ' t h a v e p r o b l e m w i t h t h a t e i t h e r . W p a l o t s o d i n e r o s t t h p h o n e p e o p l e a n i t ' s m g u e s s t h a t m a n y o t h s o f t w a r e c o m p a n i e s t h a t h a v e g o n e u n d e r w e r e p a y i n g m o r e t h a n u s

I t ' s a l s o m c o n t e n t i o n t h a t t h p h o n e c o m p a n y c o u l d d m o r e t e l i m i n a t e t h p i r a t e B B S . d o n ' t e x p e c t t h e m t g o a r o u n d s n i p p i n gp h o n e l i n e s . S i m p l y a l e r t i n g t h p r o p e r a u t h o r i t i e s w o u l d b e e n o u g ho t h e i r p a r t . I w o u l d b i n t e r e s t i n g e m p l o y m e n t f o s o m e o n e w h n o o n l y e n j o y s B B S i n g b u a l s o w a n t s t p r e s e r v e i t a n i c o u l dc e r t a i n l y b c o n s i d e r e d a r e v e n u e p r o t e c t i o n f o t h p h o n e c o m p a n y .B u m a n y o y o w i l l d i s a g r e e , k n o w . B e c a u s e i M B e l l g e t si n v o l v e d , i t ' s v e r y p o s s i b l e t h a t t h B B a w k n o w i w i l l b e c o m ee x t i n c t . B B o p e r a t o r s w h d o n ' t e v e n t a k e d o n a t i o n s w i l l s u d d e n l yb p a y i n g t o f f e r t h e i r s e r v i c e , w h i c h m i g h t h a v e b e e n c o m p l e t e l y o t h l e v e l a n n o m o r e t h a n a h o b b y . T h e r e i s n ' t r o o m h e r e t d e s c r i b eh o t h p h o n e p e o p l e c o u l d d t h i s j o r i g h t , b u t h i n k i t ' s w o r t hl o o k i n g a t

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

f i n d i m o s t d i s t a s t e f u l t h a t a n y o n e c o u l d p a r t i c i p a t e i s o m e t h i n g s e v i l , e s p e c i a l l y w h e n t h e y m u s t k n o w h o w m u c h i c a h u r t a h o n e s t m a n u f a c t u r e r t r y i n g t m a k e a h o n e s t b u c k . A n b a s e d o t h a t , d o h o p e m o r e p i r a t e b o a r d s a r c a u g h t , e l i m i n a t e d , a n p e n a l i z e d . A n p e r h a p s o n e d a y e n o u g h D o e ' s w i l l h a v e l o s t t h e i rt e l e p h o n e l i n e s t m a k e p o l i c i n g t h B B o p e r a t o r s u n n e c e s s a r y .

I t ' s n o t t h e s o l u t i o n , b u i t ' s s t a r t . H a n d - t o - h a n d t r a n s f e r s a r s t i l l t h b i g g e s t p r o b l e m . B u i t h i s a n g l e c a n b e s u c c e s s f u l l y l a b e l e d " s o c i a l l yu n a c c e p t a b l e " , i t ' s s t e p c l o s e r t c h a n g i n g t h a t t i t u d e t o w a r d sp i r a c y a a l l e v e l s . p l a n t d m p a r t . Y o c a d y o u r s b b o y c o t t i n g t h p i r a t e B B S . A l s o , I ' m s u r e m a n u f a c t u r e r s w o u l d b em o s t i n t e r e s t e d i t h w h e r e a b o u t s o b o a r d s o f f e r i n g t h e i r s o f t w a r e .A n / i n t e n d t m a k e i p o s s i b l e f o m o r e f i r m s t r e a c t .

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

K a r l J . H . H i l d o n , E d i t o r i C h i e fT h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 6: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 6/84

U s i n g " V E R I F 1 Z E R "T h T r a n s a c t o r ' s F o o l p r o o f P r o g r a m E n t r y M e t h o d

V E R I F I Z E R s h o u l d b r u b e f o r e t y p i n g i a n l o n g p r o g r a m f r o m t h p a g e s o T h T r a n s a c t o r . I w i l l l e y o u c h e c k y o u r w o r k l i n e b l i n e a y o e n t e r t h e p r o g r a m , a n c a t c h f r u s t r a t i n g t y p i n g e r r o r s . T h V E R I F IZ E c o n c e p t w o r k s b y d i s p l a y i n g t w o - l e t t e r c o d e f o e a c h p r o g r a ml i n e w h i c h y o u c a n c h e c k a g a i n s t t h e c o r r e s p o n d i n g c o d e i t h p r o g r a m l i s t i n g .

T h e r e a r f i v e v e r s i o n s o V E R I F I Z E R h e r e ; o n f o P E T / C B M s , V I o C 6 4 , P l u s 4 C 1 2 8 , a n B 1 2 8 . E n t e r t h a p p l i c a b l e p r o g r a m a n d R U i t I y o g e a d a t a o c h e c k s u m e r r o r , r e - c h e c k t h p r o g r a m a n d k e e pt r y i n g u n t i l a l g o e s w e l l . Y o s h o u l d S A V E t h p r o g r a m , s i n c e y o u ' l lw a n t t u s i e v e r y t i m e y o e n t e r o n o o u p r o g r a m s . O n c e y o u ' v eR U t h l o a d e r , r e m e m b e r t e n t e r N E t p u r g e B A S I C t e x t s p a c e .T h e n t u r n V E R I F I Z E R o n w i t h :

S Y 6 3 t e n a b l e t h P E T / C B M v e r s i o n ( o f f : S Y 6 3 7 )S Y 8 2 t e n a b l e t h C 6 4 / V I C v e r s i o n ( o f f : S Y 8 3 1 )S Y 3 0 7 2 , 1 t e n a b l e t h C 1 2 8 v e r s i o n ( o f f : S Y 3 0 7 2 , 0 )

O n c e V E R I F I Z E R i o n e v e r y t i m e y o p r e s s R E T U R N o p r o g r a ml i n e t w o - l e t t e r r e p o r t c o d e w i l l a p p e a r o t h t o l e f t o t h s c r e e n i r e v e r s e f i e l d . N o t e t h a t t h e s e l e t t e r s a r i u p p e r c a s e a n w i l l a p p e a r a g r a p h i c s c h a r a c t e r s u n l e s s y o a r i u p p e r / l o w e r c a s e m o d e ( p r e s ss h i f t / C o m m o d o r e o C 6 4 / V I C ) .

N o t e : I r e p o r t c o d e i m i s s i n g ( o " — " ) i m e a n s w e ' v e e d i t e d t h a tl i n e a t t h l a s t m i n u t e w h i c h c h a n g e s t h e r e p o r t c o d e . H o w e v e r , t h i sw i l l o n l y h a p p e n o c c a s i o n a l l y a n u s u a l l y o n l y o R E s t a t e m e n t s .

W i t h V E R I F I Z E R o n j u s t e n t e r t h e p r o g r a m f r o m t h m a g a z i n e n o m a l l y , c h e c k i n g e a c h r e p o r t c o d e a f t e r y o p r e s s R E T U R N o l i n e . I t h c o d e d o e s n ' t m a t c h u p w i t h t h l e t t e r s p r i n t e d i t h b o b e s i d e t h l i s t i n g , y o c a r e - c h e c k a n c o r r e c t t h l i n e , t h e n t r a g a i n . I y o w i s h , y o c a L I S T a r a n g e o l i n e s , t h e n t y p e R E T U R N o v e r e a c h i s u c c e s s i o n w h i l e c h e c k i n g t h r e p o r t c o d e s a t h e y a p p e a r . O n c e t h p r o g r a m h a b e e n p r o p e r l y e n t e r e d , b s u r e t t u r n V E R I F I Z E R o f w i t ht h S Y i n d i c a t e d a b o v e b e f o r e y o u d o a n y t h i n g e l s e .

V E R I F I Z E R w i l l c a t c h t r a n s p o s i t i o n e r r o r s l i k e P O K E 5 2 3 8 1 , 0 i n s t e a do P O K E 5 3 2 8 1 , 0 . H o w e v e r , V E R I F I Z E R u s e s " w e i g h t e d c h e c k s u mt e c h n i q u e " t h a t c a n b e f o o l e d i y o t r h a r d e n o u g h ; t r a n s p o s i n g t w s e t s o f c h a r a c t e r s w i l l p r o d u c e t h s a m e r e p o r t c o d e b u t h i s s h o u l dn e v e r h a p p e n s h o r t o f d e l i b e r a t e l y ( v e r i f i z e r c o u l d h a v e b e e n d e s i g n e dt b m o r e c o m p l e x , b u t t h e r e p o r t c o d e s w o u l d n e e d t b l o n g e r , a n u s i n g i w o u l d b e m o r e t r o u b l e t h a n c h e c k i n g c o d e m a n u a l l y ) . V E R I F IZ E i g n o r e s s p a c e s , s y o m a a d o o m i t s p a c e s f r o m t h l i s t e dp r o g r a m a t w i l l ( p r o v i d i n g y o d o n ' t s p l i t u k e y w o r d s ! ) . S t a n d a r dk e y w o r d a b b r e v i a t i o n s ( l i k e n i n s t e a d o n e x t ) w i l l n o a f f e c t t h V E R I F I Z E R r e p o r t c o d e .

T e c h n i c a l i n f o : V I C / C 6 4 V E R I F I Z E R r e s i d e s i t h e c a s s e t t e b u f f e r , s i y o u ' r e u s i n g d a t a s e t t e b a w a r e t h a t t a p e o p e r a t i o n s c a b d a n g e r o u s t i t h e a l t h . A f a a c o m p a t i b i l i t y w i t h o t h e r u t i l i t i e s g o e s ,V E R I F I Z E R s h o u l d n ' t c a u s e a n p r o b l e m s s i n c e i w o r k s t h r o u g h t h B A S I C w a r m - s t a r t l i n k a n j u m p s t t h o r i g i n a l d e s t i n a t i o n o t h l i n ka f t e r i t ' s f i n i s h e d . W h e n d i s a b l e d , i r e s t o r e s t h l i n k t i t o r i g i n a lc o n t e n t s .

C C

L H D G O J A I

O I

C E H 0 J P H E L K

E D

K J L

B D G F K A I

E E O M M D C N O A G J E

M B

P E T / C B M V E R I F I Z E R ( B A S I C 2 . o 4 . 0 )1 r e m * d a t a l o a d e r f o r V e r i f i z e r 4 . 0 °1 5 r e m p e v e r s i o n2 0 c s =3 f o 6 3 t 7 5 4 : r e a d a : p o k e i , 4 0 c s = c a : n e x t i5 0 6 i c s < > 1 5 5 8 0 t h e n p r i n t " * * * * * d a t a e r r o r * * * * * " : e n 7 0 r e m s y 6 3 8 e n 1 0 0 :1 0 0 0 d a t a 7 6 , 1 3 8 , 2 , 1 2 0 , 1 7 3 , 1 6 3 , 2 , 1 3 3 , 1 4 41 0 1 0 d a t a 1 7 3 , 1 6 4 , 2 , 1 3 3 , 1 4 5 , 8 8 9 6 , 1 2 0 , 1 6 51 0 2 0 d a t a 1 4 5 , 2 0 1 , 2 , 2 4 0 , 1 6 , 1 4 1 , 1 6 4 , 2 , 1 6 51 0 3 0 d a t a 1 4 4 , 1 4 1 , 1 6 3 , 2 , 1 6 9 , 1 6 5 , 1 3 3 , 1 4 4 , 1 6 91 0 4 0 d a t a 2 , 1 3 3 , 1 4 5 , 8 8 , 9 6 , 8 5 , 2 2 8 , 1 6 5 , 2 1 71 0 5 0 d a t a 2 0 1 , 1 3 , 2 0 8 , 6 2 , 1 6 5 , 1 6 7 , 2 0 8 , 5 8 , 1 7 31 0 6 0 d a t a 2 5 4 , 1 , 1 3 3 , 2 5 1 , 1 6 2 , 0 , 1 3 4 , 2 5 3 , 1 8 91 0 7 0 d a t a 0 2 , 1 6 8 , 2 0 1 , 3 2 , 2 4 0 , 1 5 , 2 3 0 , 2 5 31 0 8 0 d a t a 1 6 5 , 2 5 3 , 4 1 3 , 1 3 3 , 2 5 4 , 3 2 , 2 3 6 ,1 0 9 0 d a t a 1 9 8 , 2 5 4 , 1 6 2 4 9 , 2 3 2 , 1 5 2 , 2 0 8 , 2 2 9 , 1 6 1 1 0 0 d a t a 2 5 1 , 4 1 1 5 2 4 , 1 0 5 , 1 9 3 , 1 4 1 , 0 , 1 2 81 1 1 0 d a t a 1 6 5 , 2 5 1 , 7 4 , 7 4 , 7 4 7 4 2 4 , 1 0 5 , 1 9 31 1 2 0 d a t a 1 4 1 , 1 , 1 2 8 , 1 0 8 , 1 6 3 , 2 , 1 5 2 , 2 4 , 1 0 11 1 3 0 d a t a 2 5 1 , 1 3 3 , 2 5 1 , 9

V I C / C 6 4 V E R I F I Z E R1 0 r e m * d a t a l o a d e r f o r V e r i f i z e r "1 r e v i c / 6 4 v e r s i o n2 0 c s3 f o 8 2 t 9 5 8 : r e a d a : p o k e i , 4 0 c s c a : n e x t i5 0 6 i c s < > 1 4 7 5 5 t h e n p r i n t " * * * * * d a t a e r r o r7 r e s y 8 2 8 e n 1 0 0 :1 0 0 0 d a t a 7 6 7 4 3 , 1 6 5 , 2 5 1 , 1 4 1 ,1 0 1 0 d a t a 2 5 2 , 1 4 1 , 3 , 3 , 9 6 , 1 7 3 , 31 0 2 0 d a t a 3 , 2 4 0 , 1 7 , 1 3 3 , 2 5 2 , 1 7 3 ,

9 9 , 1 4 1 , 2 3 , 1 6 99 6 , 1 7 3 , 2 5 4 , 1 , 1 3 3

0 , 1 8 9 , 0 2 , 2 4 01 5 , 1 3 3 ,3 2 , 1 8 3 ,

1 0 3 0 d a t a 2 5 1 , 1 6 9 ,1 0 4 0 d a t a 3 , 3 ,1 0 5 0 d a t a 0 , 1 6 0 ,1 0 6 0 d a t a 3 2 , 2 4 0 , 1 5 , 1 3 3 , 9 1 , 2 0 0 , 1 5 2 ,1 0 7 0 d a t a 1 3 3 , 9 0 , 3 2 , 1 8 3 , 3 , 1 9 8 , 9 0 1 0 8 0 d a t a 2 3 2 , 2 0 8 , 2 2 9 , 5 6 3 2 , 2 4 0 , 2 5 5 ,1 0 9 0 d a t a 3 2 , 2 1 0 , 2 5 5 , 1 6 9 , 1 8 3 2 , 2 1 0 ,1 1 0 0 d a t a 8 9 , 4 1 , 1 5 , 2 4 , 1 0 5 , 9 7 , 3 2 ,1 1 1 0 d a t a 1 6 5 , 8 9 , 7 4 , 7 4 , 7 4 , 7 4 2 4 1 1 2 0 d a t a 3 2 , 2 1 0 , 2 5 5 , 1 6 9 , 1 4 6 , 3 2 , 2 1 0 ,1 1 3 0 d a t a 3 2 , 2 4 0 , 2 5 5 , 1 0 8 , 2 5 1 , 0 , 1 6 5 ,1 1 4 0 d a t a 1 0 1 , 8 9 , 1 3 3 , 8 9 9

* * * * " : e n

3 , 1 6 53 , 2 0 13 , 1 3 33 , 1 4 1

8 9 , 1 6 22 2 2 0 4 1 1 6 , 2 4 9

1 6 9 , 1 2 5 5 , 1 6 52 1 0 , 2 5 51 0 5 , 9 2 5 5 , 2

9 1 2

V I C / 6 4 D o u b l e V e r i f i z e r S t e v e n W a l l e y , S u n n y m e a d , C W h e n u s i n g ' V E R I F I Z E R ' w i t h s o m e T V s , 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 i c u o f f , h i d i n g t h e v e r i f i z e r - d i s p l a y e d c o d e s . D O U B L E V E R I -

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 7: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 7/84

F I Z E R s o l v e s t h a t p r o b l e m b y s h o w i n g t h t w o - l e t t e r v e r i f i z e rc o d e o b o t h t h f i r s t a n d s e c o n d r o o t h T s c r e e n . J u s t r u nt h b e l o w p r o g r a m o n c e t h e r e g u l a r V e r i f i z e r i a c t i v a t e d .

K B D

G I

E K K F L

1 0 f o a 6 7 t 7 2 0 : r e a d d a : p o k e a d , d a : n e x t a 1 1 0 s y s 6 7 9 : p r i n t : p r i n t1 2 p r i n f d o u b l e v e r i f i z e r a c t i v a t e d " : n e w1 3 d a t a 1 2 0 , 1 6 9 , 1 8 0 , 1 4 1 , 2 0 1 4 d a t a 1 6 9 , 2 , 1 4 1 , 2 1 3 8 1 5 d a t a 9 6 1 6 2 , 0 , 1 8 9 , 0 , 2 1 61 6 d a t a 1 5 7 , 4 0 , 2 1 6 , 2 3 2 , 2 2 4 ,1 7 d a t a 2 0 8 , 2 4 5 , 1 6 2 , 0 , 1 8 9 ,1 8 d a t a 4 , 1 5 7 , 4 0 4 , 2 3 2 , 2 2 41 9 d a t a 2 , 2 0 8 , 2 4 5 , 7 6 4 9 , 2 3 4

V E R I F I Z E R F o T a p e U s e r s T o P o t t s , R o w l e y , M T h f o l l o w i n g m o d i f i c a t i o n s t t h V e r i f i z e r l o a d e r w i l l a l l o w V I a n 6 o w n e r s w i t h D a t a s e t t e s t u s t h V e r i f i z e r d i r e c t l y ( w i t h o u t t h e l o a d e r ) .A f t e r r u n n i n g t h n e l o a d e r , y o u ' l l h a v e s p e c i a l c o p y o t h V e r i f i z e rp r o g r a m w h i c h c a b l o a d e d f r o m t a p e w i t h o u t d i s r u p t i n g t h e p r g r a m i m e m o r y . M a k e t h e f o l l o w i n g a d d i t i o n s a n c h a n g e s t t h V I C /6 V E R I F I Z E R l o a d e r :

N 3 f o 8 5 t 9 8 0 : r e a d a p o k e i , A 6 i f c s < > 1 4 8 2 1 t h e n p r i n t " * * * * * d a t a e r r o r * * * * * " : e n I 7 0 r e m s y s 8 5 0 o n s y s 8 5 3 o f

8 d e l e t e l i n e1 0 d e l e t e l i n e

O 1 0 0 0 d a t a 7 6 , 9 6 , 3 , 1 6 5 , 2 5 1 , 1 4 1 , 2 3 , 1 6 5M 1 0 3 0 d a t a 2 5 1 , 1 6 9 , 1 2 1 , 1 4 1 , 2 3 , 1 6 9 , 3 , 1 4 1E 1 0 7 0 d a t a 1 3 3 , 9 0 3 2 , 2 0 5 , 3 , 1 9 8 , 9 0 1 6 , 2 4 9B 2 0 0 0 a V e r i f i z e r . s y s 8 5 0 [ s p a c e ] BK 2 0 1 0 f o 8 5 t 9 8 G 2 0 2 0 a a c h r $ ( p e e k ( i ) ) : n e x tD 2 0 3 0 o p e n 1 , 1 , 1 , a $ : c l o s e

I 2 0 4 0 e n d

N o R U N , p r e s s i n g P L A Y a n R E C O R D w h e n p r o m p t e d t d s ( u s er e w o u n d t a p e f o e a s y f u t u r e a c c e s s ) . T u s t h s p e c i a l V e r i f i z e r t h a th a j u s t b e e n c r e a t e d , f i r s t l o a d t h p r o g r a m y o w i s h t v e r i f y o r e v i e w i n t o y o u r c o m p u t e r f r o m e i t h e r t a p e o r d i s k . N e x t i n s e r t t h t a p ec r e a t e d a b o v e a n b s u r e t h a t i i r e w o u n d . T h e n e n t e r i d i r e c tm o d e : O P E N l r C L O S E l . P r e s s P L A Y w h e n p r o m p t e d b y t h c o m p u t e r ,a n w a i t w h i l e t h s p e c i a l V e r i f i z e r l o a d s i n t o t h e t a p e b u f f e r . O n c el o a d e d , t h e s c r e e n w i l l s h o w F O U N D V E R I F I Z E R . S Y S 8 5 0 . T o a c t i v a t e ,e n t e r S Y 8 5 ( n o t t h 8 2 a i t h o r i g i n a l p r o g r a m ) . T d e - a c t i v a t e ,u s e S Y S 8 5 3 .

I y o a r g o i n g t u s t a p e t S A V E a p r o g r a m , y o u m u s t d e - a c t i v a t e( S Y S 8 5 3 ) s i n c e V E R I F I Z E R m o v e s s o m e o t h i n t e r n a l p o i n t e r s u s e dd u r i n g a S A V E o p e r a t i o n . A t t e m p t i n g S A V E w i t h o u t t u r n i n g o f V E R I F I Z E R f i r s t w i l l u s u a l l y r e s u l t i c r a s h . I y o w i s h t u s V E R I F I Z E R a g a i n a f t e r u s i n g t h e t a p e , y o u ' l l h a v e t r e l o a d i w i t h t h O P E N 1 : C L O S E 1 c o m m a n d s .

C 1 2 8 V E R I F I Z E R ( 4 c o l u m n m o d e )P A J N O J M A

I G

1 0 0 0 r e m d a t a l o a d e r f o V e r i f i z e r 2 8 1 0 1 0 r e m c o m m o d o r e c 1 2 8 v e r s i o n1 0 2 0 r e m u s i 4 0 c o l u m n m o d e o n l y !1 0 3 0 c 1 0 4 0 f o 3 0 7 2 t 3 2 1 4 : r e a d x p o k e j , x : c c x n e x t1 0 5 0 i c h < > 1 7 8 6 0 t h e n p r i n t " c h e c k s u m e r r o r " : s t o p1 0 6 0 p r i n t " s y s 3 0 7 2 , 1 : r e t e n a b l e "1 0 7 0 p r i n t " s y s 3 0 7 2 , 0 : r e t d i s a b l e "1 0 8 0 e n d1 0 9 0 d a t a 2 0 8 , 1 1 , 1 6 5 , 2 5 3 , . 1 4 1 , 2 , 3 , 1 6 5

M H L J E

K D J K E

C E A J C B P

1 1 0 0 d a t a 2 5 4 ,1 1 1 0 d a t a 2 0 1 ,1 1 2 0 d a t a 3 1 1 3 0 d a t a 1 6 9 ,. 1 1 4 0 d a t a 1 3 3 ,1 1 5 0 d a t a 2 1 1 6 0 d a t a 3 1 1 7 0 d a t a 2 2 1 1 8 0 d a t a 1 5 2 ,1 1 9 0 d a t a 1 9 8 ,1 2 0 0 d a t a 3 2 1 2 1 0 d a t a 1 6 9 ,1 2 2 0 d a t a 1 5 1 2 3 0 d a t a 2 5 0 ,1 2 4 0 d a t a 3 2 1 2 5 0 d a t a 2 4 1 2 6 0 d a t a 2 5 2 ,

1 4 1 ,1 2

1 3 3 ,1 2

2 5 0 ,2 0 1 ,2 3 2 ,2 0 1 ,

4 1 2 5 1 ,2 4 0 ,

1 8 2 4 7 4

2 1 0 ,3 2 2 4

3 , 3 ,2 4 0 , 1 7 2 5 3 , 1 6 9 ,1 4 1 , 3 1 6 2 , 0

4 8 , 1 4 4 ,2 0 8 , 2 4 2 ,

3 2 2 4 0 ,3 , 1 3 3 ,

1 6 , 2 4 9 ,2 5 5 , 1 6 9 ,

3 2 , 2 1 0 ,1 0 5 , 1 9 3 ,

7 4 , 7 4 ,2 5 5 , 1 6 9 ,2 4 0 , 2 5 5 ,1 0 1 , 2 5 0 ,

9 6 , 1 7 3 ,1 3 3 , 2 5 4 ,

3 8 , 1 4 1 ,3 9 6

1 6 0 , 0 7 , 2 0 1 ,

1 8 9 , 0 1 5 , 1 3 3 ,

2 5 1 , 3 2 2 3 2 , 2 0 8 ,

1 9 3 2 2 5 5 , 1 6 5 ,

3 2 , 2 1 0 ,7 4 2 4

1 4 6 , 3 2 ,1 0 8 , 2 5 3 ,1 3 3 , 2 5 0 ,

3 1 7 3 ,

2 1 6 5 , 2 1 8 9 ,

5 8 , 1 7 62 , 2 4 0

2 5 2 , 2 0 1 3 5 , 1 2 2 9 , 5 2 1 0 , 2 5 52 5 0 , 4 2 5 5 , 1 6 51 0 5 , 1 9 32 1 0 , 2 5 5

0 , 1 6 59

I n t r o d u c i n gT h S t a n d a r d

T r a n s a c t o r P r o g r a m G e n e r a t o rI y o t y p e i p r o g r a m s f r o m t h m a g a z i n e , y o m i g h t b a b l e t s a v ey o u r s e l f s o m e w o r k w i t h t h p r o g r a m l i s t e d o t h i s p a g e . S i n c e m a n yp r o g r a m s a r e p r i n t e d i t h f o r m o B A S I C " p r o g r a m g e n e r a t o r " ,w h i c h c r e a t e s m a c h i n e l a n g u a g e p r o g r a m o d i s k , w h a v e c r e a t e d" s t a n d a r d g e n e r a t o r " p r o g r a m t h a t c o n t a i n s , c o d e c o m m o n t a l p r o g r a m g e n e r a t o r s . J u s t t y p e t h i s i o n c e , a n s a v e a l t h a t t y p i n g f o e v e r y o t h e r p r o g r a m g e n e r a t o r y o e n t e r !

O n c e t h p r o g r a m i t y p e d i ( c h e c k t h v e r i f i z e r c o d e s a u s u a l w h e ne n t e r i n g i t ) , s a v e i o d i s k f o f u t u r e u s e . W h e n e v e r y o t y p e i p r o g r a m g e n e r a t o r ( f o r e x a m p l e l i s t i n g s a n f r o m t h a r t i c l e" I n t e r f a c i n g t w C o m m o d o r e 6 4 s " i t h i s i s s u e ) , t h l i s t i n g w i l l r e f e r t ot h s t a n d a r d g e n e r a t o r . L o a d t h s t a n d a r d g e n e r a t o r y o u ' v e s a v e d , t h e nt y p e t h l i n e s f r o m t h l i s t i n g a s h o w n . T h r e s u l t i n g p r o g r a m w i l li n c l u d e t h e g e n e r a t o r c o d e a n d b e r e a d y t r u n .

W h e n y o r u t h i s n e g e n e r a t o r , i w i l l c r e a t e m a c h i n e l a n g u a g ep r o g r a m o d i s k t h a t c a n b e l o a d e d ( l o a d " f i l e n a m e \ 8 , 1 ) a n e x e c u t e dw i t h a S Y S c o m m a n d . T h e m a c h i n e l a n g u a g e p r o g r a m i d e s c r i b e d i t h r e l a t e d a r t i c l e , a n t h g e n e r a t o r i j u s t a e a s y w a f o y o t c r e a t ei u s i n g t h e s t a n d a r d B A S I C e d i t o r a y o u r d i s p o s a l . A f t e r t h m a c h i n el a n g u a g e f i l e h a b e e n c r e a t e d , t h g e n e r a t o r i n l o n g e r n e e d e d . T h s t a n d a r d g e n e r a t o r , h o w e v e r , s h o u l d b k e p t h a n d y f o a l f u t u r eT r a n s a c t o r t y p e - i n p r o g r a m g e n e r a t o r s .

T h s t a n d a r d g e n e r a t o r l i s t e d h e r e w i l l a p p e a r i e v e r y i s s u e f r o m n o o ( w h e n n e c e s s a r y ) a s a s t a n d a r d T r a n s a c t o r u t i l i t y l i k e V e r i f i z e r .

M E L K E F D C C H N K H J M M

I

1 0 0 r e m t r a n s a c t o r s t a n d a r d p r o g r a m g e n e r a t o r1 1 n " f i l e n a m e " : r e n a m e o p r o g r a m1 2 0 n d 0 0 0 : s 0 0 0 0 0 : c 0 0 0 0 01 3 f o t n d r e a d1 4 0 c h c h - x : n e x t1 5 i c t h e n p r i n f d a t a e r r o r " : s t o p1 6 p r i n t " d a t a o k , n o c r e a t i n g f i l e "1 7 r e s t o r e1 8 0 o p e n 1 , 8 , 1 , " 0 : " n 1 9 h i n t ( s a / 2 5 6 ) : l s a - 2 5 6 * h i2 0 0 p r i n t # 1 , c h r $ ( l o ) c h r $ ( h i ) ;2 1 f o t o n d : r e a d x2 2 p r i n t # 1 , c h r $ ( x ) ; : n e x t2 3 c l o s e2 4 p r i n f p r g f i l e ' " ; r i $ ; " ' c r e a t e d . . . . '2 5 p r i n t t h i s g e n e r a t o r n l o n g e r n e e d e d . "2 6 0 :

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 8: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 8/84

G o a i n t e r e s t i n g p r o g r a m m i n g t i p , s h o r t r o u t i n e , o a u n k n o w n b i o C o m m o d o r e t r i v i a ? S e n d i i i w u s i i t h B i t s c o l u m n , w 7 c r e d i t y o i

t h c o l u m n a n s e n d y o f r e e o n e - y e a r ' s s u b s c r i p t i o n t T h T r a n s a c t o r

F i g u r e T h i s O n O u t !

H e r e ' s c h a l l e n g e f o a l w h t h i n k t h e y k n o w t h 6 4 ' s i n n a r d sp r e t t y w e l i : e x a m i n e t h e f o l l o w i n g p r o g r a m :

p r i n t " * " ; : p o k e N U M . O

T h t r i c k i t f i l l i " N U M " w i t h v a l u e t h a t w i l l c a u s e t h p r o g r a mt f i l l t h e n t i r e s c r e e n w i t h a s t e r i s k s . T h o s e w h f i g u r e o u t h P O K E w i n o t h i n g b u t h s a t i s f a c t i o n o h a v i n g s o l v e d t h e p u z z l e .T h f i r s t o n w h c a f i g u r e o u T W s o l u t i o n s , h o w e v e r , g e t sT r a n s a c t o r b i t s b o o k a p r i z e . J u s t t s a v e y o f r o m t r y i n g t o o h a r da n p o s s i b l y l o s i n g y o u r s a n i t y , i t ' s o n l y f a i r t t e l l y o t h a t w k n o wo n s e c o n d s o l u t i o n .

S p r i t e M e m o r y D i s p l a y R i c h a r d L u c a sL o A n g e l e s , C

T h i s b i i n o j u s t d a z z l e r , i t ' s a l s o e d u c a t i o n a l . T h V I C — I I c h i p i t h C o m m o d o r e 6 c a u s a n s e c t i o n o m e m o r y t o u t p u td i s p l a y , i n c l u d i n g p a g e z e r o . T h i s p r o g r a m c o m b i n e s t h i s f e a t u r ew i t h s p r i t e s t c r e a t e d y n a m i c b i t - m a p p e d d i s p l a y o t h f i r s t t w p a g e s o m e m o r y . W h e n r u n , i s e t s u e i g h t s p r i t e s , t h e n l o o p s s t h a t y o c a s e z e r o p a g e a c t i v i t y d u r i n g t h e x e c u t i o n o B A S I Cp r o g r a m . P r e s s a n k e t e x i t t h p r o r a m . T h s p r i t e s w i l l r e m a i no t h s c r e e n . N o t i c e h o m u c h l e s s a c t i v i t y t h e r e i i i m m e d i a t em o d e ? S e h o t h e d i s p l a y c h a n g e s a y o m o v e t h c u r s o r ,e v a l u a t e a e x p r e s s i o n , l i s t p r o g r a m , e t c . W h e n y o u ' r e f i n i s h e d ,R U 9 9 9 T o r e s t o r e y o u r c o m p u t e r t n o r m a l .

M N M O O K P H O E B I D

1 0 r e m z e r o p a g e d i s p l a y r 5 / 1 0 / 8 46 0 p o k e 5 3 2 8 0 , 0 : p o k e 5 3 2 8 1 , 0 : p r i n t n [ m d . g r e y ] '1 0 v 5 3 2 4 81 1 p o k e v 2 1 , 2 5 51 2 p o k e v 2 3 , 2 5 51 3 p o k e v 2 9 , 2 5 51 4 0 p o k e v i , 3 0 : p o k e v + 1 , 6 51 5 0 p o k e v 2 , 9 0 : p o k e v 3 , 6 51 6 0 p o k e v i 4 , 1 5 0 : p o k e v i 5 , 6 51 7 0 p o k e v 6 , 2 1 0 : p o k e v 7 , 6 51 8 p o k e v 8 , 3 0 : p o k e v + 9 , 1 3 51 9 p o k e v + 1 0 , 9 0 : p o k e v + 1 1 , 1 3 52 0 p o k e v + 1 2 , 1 5 0 : p o k e v + 1 3 , 1 3 5

A D D B F O O C

I

2 1 p o k e v + 1 4 , 2 1 0 : p o k e v + 1 5 , 1 3 52 2 f o t 7 p o k e 2 0 4 0 + i , i : n e x t2 3 f o t 7 p o k e v 3 i 7 n e x t2 5 p r i n t ° [ c l r ] p a g e z e r o "2 6 p r i n t " [ 8 c r s r d o w n ] p a g e o n e [ 6 c r s r d o w n ] "2 7 g e a $ i a " t h e n 2 7 2 8 p r i n t " [ c r s r d o w n ] g o t o 9 9 9 [ 2 c r s r u p ] '2 9 0 e n d9 9 9 p o k e 5 3 2 4 8 2 1 , 0 : p r i n t " [ c l r ] " ;

F i l e T r a c k a n S e c t o r P a u l B l a i rC a n b e r r a , A u s t r a l i a

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

T h e n f i g u r e d t h a t t h e D i s k O p e r a t i n g S y s t e m d o e s i a l a n y w a yw h e n i o p e n s f i l e . H m m m m m . T h t r i c k i t o f i n d w h i c h i n t e r n a lb u f f e r h a b e e n s e w h e n t h O P E N c o m m a n d i i s s u e d . D O u s e sl o c a t i o n $ F i t h e d i s k d r i v e t s t o r e t h n u m b e r o t h b u f f e r ( 0 - 5i t h 1 5 * * d r i v e s ) t h a t w i l l b u s e d . L i n e 2 r e a d s t h e b u f f e rn u m b e r . K n o w i n g t h i s , w h a v e i d e n t i f i e d w h i c h o t h e " p a i r s " o t r a c k a n s e c t o r v a l u e s s t o r e d b e t w e e n $ 0 a n $ 1 i t h d r i v e w w a n t f o t h f i l e i q u e s t i o n . B u f f e r u s e s $ 0 6 a n d $ 0 7 , b u f f e r u s e s$ 0 8 a n d $ 0 9 , a n s o n q u i c k f i i l i n e 3 0 a n w c a g e t h v a l u e s w w a n t .

I F P

M L C G

r e f i n d t r a c k a n s e c t o r o f i l e1 0 z $ c h r $ ( 0 ) : i n p u f w h i c h f i l e " ; n m $ : o p e n 1 5 , 8 , 1 52 0 o p e n 2 , 8 , 2 , n m $ : p r i n t # 1 5 , n m - r " c h r $ ( 2 4 9 )

c h r $ ( 0 ) c h r $ ( 1 )3 g e t # 1 5 , a $ : b 2 * a s c ( a $ z $ 4 p r i n t # 1 5 , " m - r B ; c h r $ ( b f ) c h r $ ( 0 ) c h r $ ( 2 )5 g e t # 1 5 , a $ , b $ : t a s c ( a $ z $ ) : s a s c ( b $ z $ 6 c l o s e 2 c l o s e 1 5 : p r i n t ' t r a c k ^ t n ' s e c t o r ^ s c

F i l e L o a d A d d r e s s C h a n g e r D a r r y l B r i m n e rW i n d s o r , O n t .

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

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 9: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 9/84

s i t u a t i o n s i m a b c o n v e n i e n t t h a v e t h a b i l i t y t c h a n g e t h s t a r t i n g a d d r e s s e s o d i s k . F o i n s t a n c e U l t r a f o n t s t o r e s i t c h a r a c t e rs e t s a $ 7 0 0 0 , w h i l e P a p e r c l i p u s e s $ 0 8 0 0 . T h f o l l o w i n g p r o g r a mg i v e s t h e u s e r t h e a b i l i t y t c h a n g e t h e l o a d a d d r e s s o p r o g r a m f i l e( P R G ) o d i s k . N o t e t h w a t h t r a c k a n s e c t o r o t h f i l e i so b t a i n e d . ( N o t t h s a m e w a P a u l B l a i r d o e s i i t h p r e v i o u s b i C Z

B O F

I

C

I K P

H J

L

1 0 0 0 r e m c h a n g e l o a d a d d r e s s o f i l e1 0 1 0 i n p u t " f i l e n a m e > B ; f s $1 0 2 0 p r i n t : J n p u t " n e w l o a d a d d r e s s > " ; n a1 0 3 0 o p e n 2 , 8 , 0 , f s $ : c l o s e 2 : o p e n 1 5 , 8 , 1 5

: p r i n t # 1 5 , " m - r " ; c h r $ ( 1 4 4 ) ; c h r $ ( 2 )1 0 4 0 g e t # 1 5 , s $ : p r i n t # 1 5 , " m - r ' ; c h r $ ( 1 4 7 ) ; c h r $ ( 2 ) ;

c h r $ ( 2 ) : g e t # 1 5 , t $ , b $1 0 5 0 o p e n 2 , 8 , 2 , B r : p r i n t # 1 5 , " u 1 0 " ; a s c ( t $ ) ; a s c ( s $ )1 0 6 0 p r i n t # 1 5 , " b - p 2 " ; a s c ( b $ ) : g e t # 2 , f $ , t $ , s $1 0 7 0 p r i n t # 1 5 , " u 1 0 " ; a s c ( t $ ) ; a s c ( s $ )

: p r i n t # 1 5 , " b - p 2 2 1 0 8 0 h i n t ( n a / 2 5 6 ) : l o n a - h i * 2 5 61 0 9 0 p r i n t # 2 , c h r $ ( l o ) ; c h r $ ( h i ) ;

: p r i n t # 1 5 , " u 2 0 " ; a s c ( t $ ) ; a s c ( s $ )1 1 0 0 c l o s e 2 : c l o s e 1 5

F i l e S t r i p p e r E r i c G i g u e r e , W a t e r l o o , O n t .

W h e n s u b m i t t i n g a r t i c l e s t o t h T r a n s a c t o r , t h e d i t o r s p r e f e r t h a v e c o p y o t h a r t i c l e o d i s k a s w e l l a s o p a p e r . B u a n w o r dp r o c e s s o r f i l e s y o u s a r b o u n d t h a v e e m b e d d e d c o m m a n d s i t h e m , c o m m a n d s w h i c h a r u s e l e s s f o t h T r a n s a c t o r ' s e d i t o r i a lp u r p o s e s . I t ' s b e s t t s e n d s i m p l e f i l e w i t h o u t a n o t h e s ec o m m a n d s . S t m a k e t h i n g s s i m p l e r , w r o t e s m a l l p r o g r a m t h a tw o u l d t a k e C o m m o d o r e 6 E a s y S c r i p t f i l e a n a u t o m a t i c a l l y s t r i po u t t h e e m b e d d e d c o m m a n d s . T h p r o g r a m s h o u l d b e a s i l ym o d i f i a b l e t o s u i t y o u r o w w o r d p r o c e s s o r . T h l i n e s s p e c i f i c t E a s y S c r i p t a r l i n e s 1 2 t 1 6 0 . L i n e 1 2 i s p e c i a l b e c a u s e i i n t e r c e p t s E a s y S c r i p t c o m m a n d l i n e s a n s e t s n o - p r i n t f l a g ( t h ef l a g i r e s e t w h e n t h e n d - o f - l i n e i e n c o u n t e r e d ) . A p a r t f r o m t h i s ,t h p r o g r a m s i m p l y i g n o r e s c h a r a c t e r s t h a t a r e n ' t v a l i d a l p h a n u -m e r i c s o r p u n c t u a t o r s .

P A G B

B B G A

M

A L

C C J

1 0 0 r e m e a s y s c r i p t f i l e s t r i p p e r1 1 0 r e m b y e r i c g i g u e r e1 2 0 r e m1 3 p r i n t B [ C L R D W N ] i n p u t f i l e n a m e : " ; : g o s u b 2 7 0

: f i $ l e f t $ ( i n $ , 1 6 )1 4 p r i n t ° [ D W N ] o u t p u t f i l e n a m e : " ; : g o s u b 2 7 0: f o $ l e f t $ ( i n $ , 1 6 )1 5 f 0 p r i n t " [ D W N ] o p e n i n g t h f i l e s . . . 1 6 o p e n 1 5 , 8 , 1 5 , d i 0 " : g o s u b 2 8 0 : i t h e n 3 0 1 7 o p e n 2 , 8 , 2 , ° 0 : d f i " , s , r " : g o s u b 2 8 0

i t h e n 3 0 1 8 o p e n 3 , 8 , 3 , " 0 : " f o " , s , w " : g o s u b 2 8 0

i t h e n 3 0 1 9 g e t # 2 , a $ : a s c ( a $ c h r $ ( O ) ) : o s 2 0 i 1 2 t h e n g e t # 2 , a $ : i a " * t h e n f

g o t o 2 5 2 1 i f a n 1 t h e n f 0 g o t o 2 5 2 2 i ( a < 3 2 a n d a < > 1 3 ) o a > 2 1 8 t h e n 2 5 2 3 i a > 9 5 a n a < 1 9 2 t h e n 2 5 2 4 0 i f f l 0 t h e n p r i n t # 3 , a $ ;

N P H O O C

2 5 i o t h e n 1 9 2 6 c l o s e 2 c l o s e 3 c l o s e 1 5 e n 2 7 o p e n 1 , 0 : i n p u t # 1 , i n $ : c l o s e i : p r i n t : r e t u r n2 8 i n p u t # 1 5 , e , e $ : i e < 2 0 t h e n2 9 r e t u r n3 0 p r i n t n [ D W N ] d i s k e r r o r : " ; e ; e $ : g o t o 2 4

N o - Q u e s t i o n M a r k I n p u t K e a t h M i l l i g a nA u s t i n , T

I n p u t f r o m B A S I C w i t h o u t t h q u e s t i o n m a r k p r o m p t c a b a c c o mp l i s h e d b f o o l i n g B A S I C i n t o t h i n k i n g i i r e c e i v i n g i n p u t f r o ms o m e t h i n g o t h e r t h a n t h k e y b o a r d . W h e n t h i n p u t r o u t i n e i c a l l e d , i c h e c k s l o c a t i o n 1 9 i t h i s l o c a t i o n c o n t a i n s z e r o , t h r o u t i n e w i l l k n o w t h k e y b o a r d i b e i n g u s e d a n w i l l d f e e x t r at h i n g s , s u c h a p r i n t i n g t h q u e s t i o n m a r k .

T r t h i s :

1 p o k e 1 9 , 1 : i n p u t " p r o m p t B ; a $ : p o k e 1 9 , 0

T h s y s t e m u s e s t h s a m e i n p u t r o u t i n e i i m m e d i a t e m o d e a t h o n u s e d b y t h I N P U T s t a t e m e n t , s t h P O K E 1 9 , 0 i n e e d e d t p u t h i n g s b a c k t n o r m a l .

B i n a r y S o r t i n g" O t h F l y "

D o E l l i sW i n n i p e g , M a n i t o b a

F u r t h e r t ' S o r t i n g o t h F l y ' i n t h S e p t e m b e r 8 B i t s a n P i e c e s :

S o r t i n g d a t a a s i i e n t e r e d c a a l s o b a c c o m p l i s h e d w i t h a b i n a r y -s o r t a l g o r i t h m i n s t e a d o s e q u e n t i a l s u b s t i t u t i o n a u s e d i t h i l l u s t r a t i o n g i v e n . A l t h o u g h t h s e q u e n t i a l a l g o r i t h m i M a r t i nH o f h e i n z ' s p r o g r a m ( l i n e s 8 0 - 9 0 ) i i n d e e d f a s t e r t h a n a b i n a r y s o r t( o a l e a s t , t h a n m b i n a r y s o r t ) f o s m a l l l i s t s , i m t e s t s t h b i n a r y s o r t t a k e s o v e r o s p e e d s o m e w h e r e i b e t w e e n s i x t y a n s e v e n t y t o t a l - m y s t i c a l l y s u p p o s e t h e x a c t p o i n t w o u l d t u r n o u t t b 6 3 T h r e l a t i v e s p e e d d i f f e r e n c e c u r v e s r a p i d l y a p a r t f r o m t h e r e ,s t h a t w i t h 2 0 0 - m e m b e r a r r a y , t h s e q u e n t i a l s o r t t a k e s 3 0 l o n g e r t h a n t h b i n a r y .

E v e n m o r e i m p o r t a n t , t h e s e q u e n t i a l s o r t i f a s t e r i n r e g i o n w h e r et h e y a r b o t h v i r t u a l l y i n s t a n t a n e o u s ; s h o r t l y p a s t t h e t h r e s h o l d o n o t i c e a b i l i t y o p r o c e s s i n g t i m e - w h i c h t a k e t b a b o u t h a l fs e c o n d t h b i n a r y s o r t i f a s t e r a n y w a y . F i n a l l y , t h e b i n a r y s o r t h a

m u c h n a r r o w e r r a n g e o f v a r i a t i o n . T h i s m e a n s , f o e x a m p l e , t h a tt h w o r s t - c a s e s i t u a t i o n i 2 0 0 - m e m b e r a r r a y s o r t c a t a k e t w o t h r e e t i m e s a l o n g w i t h s e q u e n t i a l a l g o r i t h m n o t i c e a b l ed i f f e r e n c e i n d e e d . T e x a m i n e t h d i f f e r e n c e , s u b s t i t u t e t h f o l l o wi n l i n e s 8 0 - 9 0 f o t h o s e i t h o r i g i n a l p r o g r a m ; t h e n c o m p a r e t h t i m e r e q u i r e d t s o r t a l p h a b e t i c a l l y ( t h e n e b i n a r y s o r t ) w i t h t h a tr e q u i r e d t s o r t b a g ( t h e s e q u e n t i a l s u b s t i t u t i o n ) . T h e f f e c t s w i l lb m o s t n o t i c e a b l e w i t h a r r a y s o v e r 1 0 0 .

K C I

B M L

8 i ( t $ ( j ) t $ ( a ( h ) ) ) t h e n i n t ( ( h g ) / 2 ) : g o t o 8 8 4 h : i n t ( ( h + j ) / 2 )8 i h - t h e n 8 8 h - ( t $ ( j ) t $ ( a ( h ) ) ) : j - 9 i g > t h e n a ( + 1 a ( g ) : g - 1 : g o t o 9

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 10: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 10/84

H a n d y H e x e r B r i a n M c i n t y r eV a n c o u v e r , B

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

I K O

N A I

1 2 3 4 5 6

i n t ( a / 2 5 6 ) : g o s u b 3 0a - b * 2 5 6 : g o s u b 4 0 : r e t u r n

p r i n t ' $ ' ;i n t ( b / 1 6 ) : g o s u b 5 0 : x b - x * 1 6

p r i n t m i d $ ( a 0 1 2 3 4 5 6 7 8 9 a b c d e f B , xr e t u r n

1 , 1 ) ;

T h r o u t i n e m a b e n t e r e d a f o u r p l a c e s , l i n e 1 f o t w b y t en u m b e r s ( t 6 5 5 3 5 ) , l i n e s 3 a n 4 f o o n b y t e n u m b e r s ( 0 t o2 5 5 ) , a n l i n e 5 f o s i n g l e d i g i t s ( 0 t o 1 5 ) . T h e s e e x a m p l e s s h o w t h d i f f e r e n t w a y s t u s i t

I n p u t O u t p u t

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

g o s u b i Og o s u b 3 0g o s u b 4 0g o s u b 5 0

$ C 0 0 0S E

E

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

M i c r o t r a c e P e t e r L o t t r u pB u e n o s A i r e s , A r g e n t i n a

H e r e i s h o r t t r a c e u t i l i t y w h i c h w i l l d i s p l a y t h e c u r r e n t B A S I C l i n en u m b e r i r e v e r s e f i e l d o t h e t o p l e f t c o r n e r o t h e s c r e e n . I i p l a c e d i t h e c a s s e t t e b u f f e r , a n a c t i v a t e d w i t h S Y 8 2 8 . I c a b d i s a b l e d w i t h S Y 8 3 1 .

T h p r o g r a m b e l o w i m o d i f i e d v e r s i o n o f M r . L o t t r u p ' s o r i g i n a lm i c r o t r a c e , w i t h a a d d e d f e a t u r e : y o c a s l o w d o w n y o u r B A S I Cp r o g r a m w h i l e i i b e i n g t r a c e d b h o l d i n g t h C T R L k e y d o w n .W h e n C T R L i r e l e a s e d , t h p r o g r a m c o n t i n u e s a f u l l s p e e d . T h i sm a k e s m i c r o t r a c e e v e n m o r e u s e f u l f o d e b u g g i n g t r i c k y p r o g r a m s .- C

D N L B G B E I

K L

C J F N A M

1 p r i n t " m i c r o t r a c e2 p r i n f s y s 8 2 t t r a c e p r o g r a m l i n e s3 p r i n t ' h o l d C t r l k e t s l o w t r a c e d o w n4 p r i n t ' s y s 8 3 t t u r n m i c r o t r a c e o f 5 0 6 f o 8 2 t 9 3 4 : r e a d7 p o k e i , a : c c a n e x t8 i c h < > 1 1 7 1 6 t h e n p r i n t " d a t a e r r o r ! "9 0 e n d1 0 0 0 d a t a 7 6 , 6 6 , 3 7 6 , 7 7 t 3 , 1 6 9 , 8 1 0 1 0 d a t a 1 4 1 , 8 3 , 1 6 9 , 3 , 1 4 1 , 9 1 0 2 0 d a t a 9 6 , 1 6 9 , 2 2 8 , 1 4 1 , 8 3 , 1 6 9 , 1 6 71 0 3 0 d a t a 1 4 1 , 9 , 3 , 9 6 , 1 6 6 , 5 8 , 1 3 4 , 9 1 0 4 0 d a t a 2 3 2 , 2 4 0 , 5 9 , 1 6 5 , 5 7 , 1 3 3 , 9 8 , 1 6 21 0 5 0 d a t a 0 , 1 6 0 , 8 , 1 6 9 , 1 7 6 , 1 5 7 , 0 1 0 6 0 d a t a 5 6 , 1 6 5 , 9 8 , 2 4 9 , 1 5 7 , 3 7 2 , 1 6 5

P N P M B H P

1 0 7 0 d a t a 9 9 , 2 4 9 , 1 5 8 , 3 , 1 4 4 , 1 0 , 1 3 3 , 9 1 0 8 0 d a t a 1 0 4 , 1 3 3 , 9 8 , 2 5 4 , 0 4 , 1 7 6 , 2 3 21 0 9 0 d a t a 1 0 4 , 2 3 2 , 1 3 6 , 1 3 6 , 1 6 2 2 1 , 1 7 3 , 1 4 1 1 0 0 d a t a 2 , 2 4 0 , 1 1 , 1 6 2 , 3 2 , 1 6 5 , 1 6 2 , 1 9 71 1 1 0 d a t a 1 6 2 , 2 4 0 , 2 5 2 , 2 0 2 , 2 0 8 , 2 4 7 , 7 6 2 2 1 1 2 0 d a t a 1 6 7 , 1 0 1 0 0 , 1 0 0 , 0 , 2 3 21 1 3 0 d a t a 3 1 6 3

C 1 2 8 B I T SM o n i t o r D u m p t S e q u e n t i a l F i l e

P h i l i p H e r o l dS e a t t l e , W

W h e n e x a m i n i n g R O o l o n g p r o g r a m w i t h t h 1 2 8 ' s m o n i t o r , i t ' sh a r d t k e e p t r a c k o w h e r e y o u a r e , e s p e c i a l l y w h e n y o u ' r e o l e v e ls i x o f s e r i e s o f n e s t e d s u b r o u t i n e s . O n s o l u t i o n i t d u m p t h w h o l e t h i n g t p r i n t e r . B e t t e r , i n m o p i n i o n , i t c r e a t es e q u e n t i a l f i l e o t h m o n i t o r d u m p , l o a d i i n t o w o r d p r o c e s s o r ,t a k e a d v a n t a g e o i t s e a r c h c a p a b i l i t i e s a n c o m m e n t t h f i l e t y o u r h e a r t ' s c o n t e n t .

H e r e ' s h o t c r e a t e s u c h s e q u e n t i a l f i l e , d u m p i n g t h f i r s t t w p a g e s o B A S I C R O a a e x a m p l e . T y p e i n d i r e c t m o d e :

o p e n 1 , 8 , 2 , B f i l e n a m e , s , w B : c m d 8m o n i t o r

f 4 0 0 0 f 4 2 0 0

W h e n t h e c u r s o r r e a p p e a r s , t y p e

p r i n t # 8 : c l o s e 8

. . a n d t h a t ' s a l t h e r e i t i t T h e s a m e t e c h n i q u e w o r k s o t h 6 4 u s i n g a m o n i t o r p r o g r a m ( a c c e s s e d w i t h t h e a p p r o p r i a t e S Y c o m a n d ) .

5 l i n e , 8 c o l u m nd i s p l a y o t h C 1 2 8

D a r r e l G r a i n g e rT o r o n t o , O n t .

T h e C 1 2 8 8 c o l u m n s c r e e n i c a p a b l e o d i s p l a y i n g 5 0 r o w s o t e x t .T h B A S I C s c r e e n e d i t o r r o u t i n e s w i l l o n l y u s 2 r o w s , b u y o c a t a k e a d v a n t a g e o t h 5 l i n e d i s p l a y i y o u r o w p r o g r a m s .

T h i s p r o g r a m w i l l a l t e r t h 8 5 6 3 V D c h i p t d i s p l a y 5 r o w s . Y o w o n ' t b a b l e t u s a l 5 l i n e s w h e n p r o g r a m m i n g , b u t h i s g i v e sy o a i d e a o w h a t t h e d i s p l a y l o o k s l i k e a n d s h o w s y o w h a tv a l u e s t u s f o y o u r p r o g r a m s .

C H

F I M

0 r e m s y w r i t e , v a l , r e g

r e w r i t e r o u t i n e t w r i t e t 8 0 c o l u m n r e g i s t e r sr e v a v a l u e b e i n g w r i t t e n t o r e g i s t e r

4 r e m r e r e t w h i c h t h e v a l u e i b e i n g w r i t t e n5

: r e m 1 2 h o r i z o n t a l t o t a l: r e m 1 0 h o r i z o n t a l s y n c p o s i t i o n

r e 7 b i 7 - v e r t i c a l s y n c w i d t h: r e m 3 2 v e r t i c a l t o t a l: r e m 2 v e r t i c a l d i s p l a y e d

1 0 s y 5 2 6 8 4 , 1 2 8 , 01 1 s y 5 2 6 8 4 , 1 0 4 , 21 2 s y 5 2 6 8 4 , 1 3 7 , 31 3 s y 5 2 6 8 4 , 6 4 , 1 4 s y 5 2 6 8 4 , 5 0 ,

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e 0

Page 11: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 11/84

J G

G F

1 5 s y 5 2 6 8 4 , 5 7 , : r e m 2 9 v e r t i c a l s y n c p o s i t i o n1 6 s y 5 2 6 8 4 , 3 , : r e m O i n t e r l a c e m o d e1 7 s y 5 2 6 8 4 , 7 , 2 : r e m 7 b i d i s a b l e a t t r i b u t e s1 8 s y 5 2 6 8 4 , 1 6 , 2 : r e m 2 4 b a c k / f o r e g r o u n d c o l o r s

( T h e v a l u e i m m e d i a t e l y a f t e r t h R E s t a t e m e n t o e a c h l i n e i t h o r i g i n a l v a l u e f o e a c h r e g i s t e r . )

L i n e 1 0 T h i s m o d i f i e s t h e h o r i z o n t a l t o t a l t m a k e t h e d i s p l a ym o r e r e a d a b l e .L i n e 1 1 a n l i n e 1 5 W h e n y o a l t e r t h d i s p l a y , t h s c r e e n w i l lm o v e a r o u n d . T h e s e r e g i s t e r s w i l l h e l p t c e n t r e t h i n g s o t h s c r e e n ( y o u c o u l d u s t h e h o r i z o n t a l / v e r t i c a l p o s i t i o n i n g o t h m o n i t o r b u t t h a t w o u l d m e s s u y o u r 4 c o l u m n p i c t u r e ) .L i n e 1 2 T h i s h e l p s c l e a r u f l i c k e r . T h h i g h n y b b l e i d o u b l e d a t h P r o g r a m m e r ' s R e f e r e n c e G u i d e s u g g e s t s .L i n e 1 3 a n 1 4 T h i s s e t s t h n u m b e r o d i s p l a y e d l i n e s t o t w i c ea m a n y a u s u a l . L i n e 1 3 i t h n u m b e r o f l i n e s o t h s c r e e ni n c l u d i n g t h e s p a c e i t h e t o p a n b o t t o m b o r d e r s . L i n e 1 4 i j u s tt h l i n e s d i s p l a y e d .

L i n e 1 6 T h i s t u r n s o i n t e r l a c e m o d e , n e c e s s a r y f o 5 l i n ed i s p l a y .L i n e 1 7 - d i s a b l e d a t t r i b u t e s b e c a u s e t h b o t t o m 2 5 l i n e s , w h i c hc o u l d n o a c c e s s f r o m t h B A S I C s c r e e n e d i t o r , w e r e f l a s h i n ga n n o y i n g l y . T h i s h a t h s i d e e f f e c t , a m o n g o t h e r t h i n g s , o f n o a l l o w i n g u p p e r / l o w e r c a s e c h a r a c t e r s . I y o w i s h t u s t h u p p e r /l o w e r c a s e c h a r a c t e r s e t , d e l e t e l i n e s 1 7 a n 1 8 a n s e t h c h a r a c t e r c o l o u r i t h e u s u a l w a y .L i n e 1 8 B e c a u s e t h e r e a r e n a t t r i b u t e s , a l s c r e e n c o l o u r d e f a u l t st t h v a l u e i n r e g i s t e r 2 6 T h v a l u e 1 6 u s e d h e r e p r o d u c e s g r e yt e x t o b l a c k b a c k g r o u n d .

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

W i n d o w s o t h 1 2 I a A d a mV a n c o u v e r , B

I y o u ' v e d o n e m u c h p r o g r a m m i n g o t h 1 2 8 , y o k n o w h o u s e f u l t h w i n d o w s c a b i n s e t t i n g u d i f f e r e n t a r e a s o t h s c r e e nf o d i f f e r e n t p u r p o s e s . Y o a l s o k n o w t h a t w i n d o w s c a n b e c r e a t e db e i t h e r E S C a p e s e q u e n c e s o r t h e W I N D O W c o m m a n d , a n a r c a n c e l l e d b p r i n t i n g H O M E t w i c e .

W e l l , h e r e ' s t w i s t . I y o o p e n t w w i n d o w s i s u c c e s s i o n w i t h o u tP R I N T i n g i t h f i r s t , b o t h w i n d o w s a r e c a n c e l l e d a n y o g e t h f u l l s c r e e n ! S o m e t h i n g l i k e t h i s :

1 w i n d o w 2 0 , 5 , 3 5 , 82 r e m . . . i l o o p w a i t i n g f o a e v e n t3 w i n d o w 1 0 , 1 0 , 3 5 , 1 54 p r i n f ' c u r s o r s h o u l d b a r o w 1 0 c o l u m n 1 0

W h e n e v e r y o o p e n w i n d o w , t h c u r s o r i a u t o m a t i c a l l y p l a c e d i t h h o m e p o s i t i o n . I s e e m s t h a t , w h e n y o o p e n a s e c o n d , t h es c r e e n e d i t o r t r e a t s t h i s a t w s u c c e s s i v e H O M E s , a n d u t i f u l l yc a n c e l s y o u r w i n d o w . T h i s c o u l d h a p p e n i n a d v e r t e n t l y i a p r og r a m , w i t h u n f o r t u n a t e r e s u l t s .

L e t ' s s a y o u s s e v e r a l w i n d o w s o n t h e s c r e e n - o n e f o t i t l e , o n f o i n p u t , o n f o s t a t u s , e t c . Y o a c t i v a t e t h i n p u t ; w i n d o w a n l e a v e t h e c u r s o r t h e r e t a w a i t m e s s a g e f r o m t h u s e r . B e f o r e t h a ti r e c e i v e d , h o w e v e r , s o m e o t h e r e v e n t c h a n g e s t h s t a t u s . Y o u rp r o g r a m o p e n s t h s t a t u s w i n d o w o s i t h i n k s ! I n s t e a d , a l w i n d o w s a r c a n c e l l e d a n y o u r s t a t u s m e s s a g e g e t s d u m p e d a l o v e r y o u r n i c e l y c e n t r e d t i t l e .

H o t a v o i d t h e p r o b l e m ? N u m b e r o n e : a l w a y s p r i n t s o m e t h i n gw h e n y o u o p e n w i n d o w , e v e n i i t ' s j u s t " c u r s o r u p " . N u m b e rt w o : p u t " , 1 " a f t e r t h W I N D O W c o m m a n d , t c l e a r t h w i n d o w .N u m b e r t h r e e : I y o c a m a n a g e i t p r i n t t h e l e s s - c o n v e n i e n te s c a p e c o d e s t d e f i n e y o u r w i n d o w . I t ' s n o h a r d t d e a l w i t h t h ep r o b l e m , o n c e y o k n o w i e x i s t s .

A M I G A B I T ST h O t h e r D r a g B a r

W h e n y o u ' v e s i z e d w i n d o w s n a r r o w t h a t t h e r e ' s n d r a g b a r l e f tt g r a b i b y t h e r e ' s s t i l l w a t d r a g t h w i n d o w w i t h o u t r e s i z i n g i a g a i n ! L o o k t t h r i g h t o f t h w i n d o w - t o - f r o n t g a d g e t ; f e p i x e l so t i t l e b a o v e r h a n g b e y o n d t h r i g h t o t h e g a d g e t ! T h i s i a c t u a l l yt i n y s t r i p o d r a g - b a r , t w p i x e l s w i d e . P o i n t r i g h t a t t h l i n e t h a tf o r m s t h r i g h t s i d e o f t h f r o n t g a d g e t , a n d y o u c a n g r a b t h w i n d o w a n d r a g i a r o u n d f r o m t h e r e .

A w r i t e F i l e T r a n s f e r s G l e n n W i o r e k , C h i c a g o , I

T h e r e i a u n d o c u m e n t e d s w i t c h i A w r i t e , t h p r o g r a m t h a tt r a n s f e r s f i l e s f r o m t h M S - D O S s i d e o a b r i d g e - c a r d e q u i p p e dA m i g a 2 0 0 0 t t h A m i g a s i d e . A w r i t e i f o u n d o t h G B a s i c d i s kt h a t c o m e s w i t h t h A 2 0 8 8 B r i d g e b o a r d . A w r i t e h a p r o b l e m st r a n s f e r r i n g e x e c u t a b l e f i l e s , t r a n s f e r r i n g o n l y t h f i r s t 2 5 t 5 1 b y t e s .

I o r d e r t t r a n s f e r a n f i l e p r o p e r l y , y o h a v e t u s t h u n d o c um e n t e d / s w i t c h t p u A w r i t e i n t o b i n a r y t r a n s f e r m o d e . T h f o r m a t f o t h i s c o m m a n d ( i a M S - D O S w i n d o w ) i s

A W R I T E [ d r i v e : ] [ p a t h ] f i l e n a m e d r i v e : [ p a t h ] f i l e n a m e /

E x a m p l e : A W R I T E a : \ b i n \ t e s t . a r c D F O : t e s t . a r c I

T h a b o v e c o m m a n d w o u l d t r a n s f e r t h f i l e " t e s t . a r c " f r o m t h M S D O A : d r i v e i t h e " b i n " d i r e c t o r y t t h r o o t d i r e c t o r y o f A m i g af l o p p y d r i v e 0

A m i g a 5 0 S e r i a la n P a r a l l e l P o r t s

R i c h a r d L u c a sL o A n g e l e s , C

P a g e s A - a n A - o t h e " I n t r o d u c t i o n t t h C o m m o d o r e A m i g a5 0 0 " m a n u a l s h o w p i c t u r e s o t h A m i g a s e r i a l a n p a r a l l e l p o r t s ,r e s p e c t i v e l y . T h m a n u a l d o e s n ' t s a t h i s , b u t h p i c t u r e s s h o w t h c a b l e c o n n e c t o r s , n o t h p o r t s o t h A m i g a 5 0 0 . I n a d d i t i o n , t h e r ei w a r n i n g o p a g e A - t h a t i m p l i e s t h a t y o u n e e d s p e c i a l c a b l et c o n n e c t t h A m i g a 5 0 t y o u r p r i n t e r t h r o u g h t h p a r a l l e l p o r t .( T h i s i t r u e f o t h A m i g a 1 0 0 0 - C Z A c t u a l l y , h a v e f o u n d t h a t m s t a n d a r d I B p a r a l l e l p r i n t e r c a b l e ( D B 2 5 m a l e t C e n t r o n i c s 3 m a l e , w i t h a l D B - 2 5 p i n s p r e s e n t e x c e p t 2 t h r o u g h 2 5 w i l l w o r kj u s t f i n e w i t h p r i n t e r s t h a t h a v e s t a n d a r d C e n t r o n i c s i n p u t s .

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 12: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 12/84

q u e s t i o n o c o p y r i g h t : F i r s t I ' l i k e t t h a n k y o f o p u b l i s hi n m r e p l y l e t t e r t o t h J o r d a n R o l l t o p S t a n d ( T r a n s a c t o r , V o l u m e6 I s s u e 6 ) Y o w i s h e d m s u c c e s s t h e n s I ' r e p o r t i n g t h a t d i g e t h r e e r e q u e s t s f o f u r t h e r i n f o r m a t i o n a n o n s u b s e q u e n t o r d e rm a k i n g m y e a r e n d i n g D e c e m b e r 3 1 1 9 8 6 r e g i s t e r n e p r o f i t o $ 1 5 . 9 0 . N o r e a l l y e n o u g h t a l l o w m t o q u i t m j o b , b u t h e x p e r i e n c e w a i n v a l u a b l e : w h e n d l a u n c h m b u s i n e s s , w i l l b b e t t e r p r e p a r e d t h a n d l e t h t y p e o r e q u e s t s l i k e l y t c o m e i n ( I c a c o m p r e h e n d t h e r e q u e s t s o h a c k e r s w h a r e n ' t r e a l l y i n t od r i l l s , s a w s , e t c . , t h e n s h o u l d f a r e w e l l w i t h t h c a b i n e t m a k e r s o t h w o r l d . ) T h a n k s a g a i n .

S e c o n d i q u e s t i o n c o n c e r n i n g c o p y r i g h t . ( O n o n o a g a i n ! )r e c e n t l y d i d s o m e e x t e n s i v e r e w o r k i n g o C o m m o d o r e ' s " E a s y M a i l6 4 f o l o c a l b u s i n e s s m a n , s p e e d i n g d i s k a c c e s s , a d d i n g f e a t u r e s ,a n e v e n c u t t i n g p r o g r a m s i z e b a b o u t 4 p e c e n t . M q u e s t i o n i t h i s : c a l e g a l l y o f f e r t h i s a a ' u p g r a d e ' p r o d u c t o r w o u l d g e n a i l e d f o n o t " r e a d i n g t h p r o g r a m i n t o m e m o r y o c o m p u t e rs o l e l y f o t h p u r p o s e o e x e c u t i n g t h p r o g r a m . . . " ? w a t h i n k i n go d e a l w h e r e l e g a l o w n e r o E a s y M a i l c o u l d s e n d m t h e d i s ka n w o u l d c o p y t h n e p r o g r a m t i f o c o u p l e o d o l l a r s , b u t r y t o " t o e t h e l i n e " i r e g a r d t c o p y r i g h t a n d o n ' t n e e d a n t r o u b l e e i t h e r . A s i d e l i g h t o t h i s , o n o t h t h i n g s d i t E a s y M a i l w a t u s a M s o r t r o u t i n e f o t h l i s t i n g r o u t i n e s .U n f o r t u n a t e l y , t h r o u t i n e u s e d c a m e f r o m a o l d i s s u e o C o p u t e ! a n d , b e i n g t h t y p e t h e y a r e , I - h a v e t r e w r i t e i m y s e l f s d o n ' t v i o l a t e t h e i r c o p y r i g h t . A n c o m m e n t s o t h i s w o u l d b a p p r e c i a t e d .

T h i r d i c o m m e n t o t h c i r c u l a t i o n s i t u a t i o n t h a t r e c e i v e da t t e n t i o n i t h l e t t e r s c o l u m n f o w h i l e . D o n ' t g e t o u p s e t w h e np e o p l e c o m p l a i n a b o u t y o u r m o d e s t c i r c u l a t i o n . T h T w i l l n e v e r b a w i d e l y c i r c u l a t e d a C o m p u t e ! , t h e i r G a z e t t e , o r t h e o t h e r s u n t i ly o q u i t g i v i n g r e a d e r s m a t e r i a l t c h e w o ( a n d d i g e s t a n g r o w u t b b i g , s t r o n g p r o g r a m m e r s ) a n s t a r t s p o o n - f e e d i n g u s r e a d y -m a d e p r o g r a m s i f o r m a t t h a t t e a c h e s ( a n d r e q u i r e s ) n o t h i n g b u s o m e t i m e s p e n t t y p i n g t h e m i n E v e r y m o n t h g e m o r e d i s a p

p o i n t e d w i t h C o m p u t e ! P u b l i c a t i o n s a n l o n g f o m o r e o t h T K e e p u t h g o o d w o r k .

M a t t h e w R S t r a n g e , M a n s f i e l d , P e n n s y l v a n i a

G l a d w c o u l d h e l p y o e s t a b l i s h s u c h a l u c r a t i v e b u s i n e s s , M a t h e w . N e x t t i m e y o ' r p a s s i n g b i t h R o l l s , w h n o s t o p i a t t h eo f f i c e a n t r e a t u t f e o t h o s e f a C u b a n c i g a r s y o } r w a s h i n gy o u r m a r t i n i s d o w n w i t h n o w a d a y s ?

W c a n ' t s e t h a t y o u h a v e c o p y r i g h t p r o b l e m w i t h E a s y m a i lw h a t p e o p l e d w i t h t h e i r b o u g h t - a n d - p a i d - f o r c o m m e r c i a l p r g r a m s i t h e i r o w a f f a i r ; a f a a w e k n o w i i p e r f e c t l y l e g a l t s e l la a f t e r m a r k e t u p g r a d e . S e v e r a l u p g r a d e p a c k a g e s f o S p e e d s c r i p ta r c o m m e r c i a l l y a v a i l a b l e , w i t h n a r g u m e n t f r o m C O M P U T E !w h o , a y o n o t e i y o u r l e t t e r , a r e n o t g e n e r a l l y s h y a b o u tp r o c l a i m i n g t h s a n c t i t y o t h e i r c o p y r i g h t s .

A f o r c i r c u l a t i o n y o u ' r e r i g h t , o u r s w i l l p r o b a b l y n e v e r g i n t oo r b i t . W e ' d s t i l l l i k e t r e a c h t h s t r a t o s p h e r e , t h o u g h , a n w e ' r eh o p i n g t s e l o o i m p r o v e m e n t i t h a t a r e a n o w h a t w e ' r eg e t t i n g b a c k i n t o r e t a i l d i s t r i b u t i o n .

T r a n s f o r m e r M o d i f i c a t i o n f o M C 6 8 0 1 0 U p g r a d e d A m i g a :B a c k i t h S e p t e m b e r 1 9 8 7 i s s u e o T r a n s a c t o r ( V o l u m e 8 I s s u e 2 m a r t i c l e c a l l e d " U p g r a d i n g t h A m i g a 1 0 0 0 t 3 b i t s " w a p u b l i s h e d . I t o l d h o t r e p l a c e y o u r M C 6 8 0 0 0 w i t h a M C 6 8 0 1 0a n a l s o h o t m o d i f y y o u r d i s k s s t h a t 9 9 o y o u r p r o g r a m sw o u l d r u w i t h t h M C 6 8 0 1 0 .

T h e n , i t h N o v e m b e r i s s u e , I a R o b e r t s o n w r o t e t a s h o t u s D e c i G e l w i t h o u t m o d i f y i n g e v e r y o n o f h i s d i s k s ( L e t t e r s ,V o l u m e 8 I s s u e 3 ) T h a n s w e r t h a t f o l l o w e d w a c o r r e c t , a n s i n c e

s w i t c h e d t a M C 6 8 0 1 0 h a v e o n l y f o u n d f e ( l e s s t h a n 1 0 g a m e s t h a t r e q u i r e t h D e c i G e l p a t c h t r u n . A l o t h e r s ( a b o u t 8 0 l o a d a n r u f i n e w i t h n c h a n g e s . f i n d t h a t o l d e r V . g a m e s a r t h c o m m o n p r o b l e m p r o g r a m s . A l m o s t a l o t h b e t t e r s o f t w a r e

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 13: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 13/84

h o u s e s h a v e w r i t t e n t h e i r n e w e r p r o g r a m s a n u p d a t e s ( V . c o m p a t i b i l i t y ) w i t h t h M C 6 8 0 1 0 i m i n d . h a v e f o u n d t w p r g r a m s , h o w e v e r , t h a t w i l l n o r u n : " H a c k e r " w h i c h , d u t t h f o r mo c o p y p r o t e c t i o n u s e d d o e s n o h a v e s t a r t - u p s e q u e n c e t h a t c a b m o d i f i e d , s o r r y ; a n " T r a n s f o r m e r " f r o m C o m m o d o r e f o w h i c h

f i f o l l o w s .

a n o a u s e r o T r a n s f o r m e r a n o f f e r t h i s f i x / p a t c h f o t h o s e w h f e e l t h e y c a n n o t u p g r a d e b e c a u s e o f l o s i n g T r a n s f o r m e r . N l o n g e rn e e d t h e y s u f f e r ! I y o u w e r e t i n s t a l l D e c i G e l o y o u r T r a n s f o r m e rd i s k a n m a k e t h p r o p e r c a l l t a c t i v a t e D e c i G e l w h e n b o o t i n gy o u r m a c h i n e , i w o u l d b l o s t a y o u r A m i g a r e s e t s i t s e l f w h e ns t a r t i n g T r a n s f o r m e r . S w h a t d o y o u d o s i m p l e f i x / p a t c h t y o u rT r a n s f o r m e r p r o g r a m w i l l s o l v e t h e p r o b l e m . T h i s r e q u i r e s t h u s o a b i n a r y f i l e e d i t o r s o r r y , b u C o m m o d o r e d i n o t s u p p l y o n w i t h y o u r A m i g a . L i k e D e c i G e l i t s e l f , t h b e s t p l a c e t o b t a i n f i l ee d i t o r i t h e p u b l i c d o m a i n . p r e f e r N e w Z a p 3 . a v a i l a b l e o F i s hd i s k # 5 8 . T h i n s t r u c t i o n s t h a t f o l l o w a s s u m e y o a r f a m i l i a r w i t hN e w Z a p .

M a k e b a c k u p c o p y o y o u r T r a n s f o r m e r d i s k a n p u t t h e o r i g i n a lb a c k i i t b o x . P u t t h c o p y i d r i v e ' x a n s t a r t N e w Z a p w i t h t h c o m m a n d :

1 > n e w z a p d f x : a t l

P r e s s r e t u r n . U s i n g t h s e a r c h f u n c t i o n o N e w Z a p ( A m i g a - z a n A m i g a - c ) c h a n g e a l o c c u r r e n c e s o t h e s e h e s t r i n g s :

t o 4 0 c 2 , 4 0 c 4 , 4 0 c 6 , 4 0 c 7

4 2 c 2 , 4 2 c 4 , 4 2 c 6 , 4 2 c 7

T h i s m e a n s t h a t 4 0 c 2 w i l l b e c o m e 4 2 c 2 , 4 0 c 4 b e c o m e s 4 2 c 4 , e t c .T h e r e a r q u i t e f e ( m e a n l o t ! ) o c h a n g e s t b e m a d e , s r e l a x ,t a k e y o u r t i m e a n r e m e m b e r t s a v e e a c h d i s k b l o c k a y o g o W h a t y o u h a v e f o a l t h i s w o r k i c o p y o T r a n s f o r m e r t h a t w i l lw o r k w i t h a M C 6 8 0 1 0 . P l e a s e n o t e t h a t a f t e r T r a n s f o r m e r i m o d i f i e d i t h i s f a s h i o n , i w i l l n o r u o a M C 6 8 0 0 0 m a c h i n e .( T h a t ' s w h w m a d e c o p y , d i d n ' t w e ? )

W h i l e w a r o t h e s u b j e c t o T r a n s f o r m e r , t h e r e i p a t c ha v a i l a b l e t m a k e i r u u n d e r A m i g a D O S V . i t h p u b l i c d o m a i nc a l l e d " T r a n s 1 2 " . I i n o a v a i l a b l e o a n o t h e F i s h o r A m i c u sd i s k s , b u s h o u l d b a v a i l a b l e o s e r v i c e s l i k e P e o p l e L i n k a n D e l p h i , o r c h e c k y o u r l o c a l B B o u s e r s ' g r o u p f o a c o p y . I i e a s yt u s j u s t c o p y T r a n s l 2 t y o u r c o p y o T r a n s f o r m e r , C t y o u rT r a n s f o r m e r d i s k a n r u T r a n s l 2 . T h i s w i l l p a t c h y o u r T r a n sf o r m e r f o u s u n d e r V I . 2

D a n i e l S c h e i n , W e s t L a w n , P e n n s y l v a n i a

C - 6 4 K e y b o a r d M a t r i x : A l i n o t w e l l i t h e . C - 6 4 k e y b o a r dm a t r i x . T h p r o g r a m b e l o w v i s u a l l y r e p r e s e n t s w h i c h k e y s a r b e i n g p r e s s e d . T y p e i i a n s a v e i b e f o r e r u n n i n g ; i t u r n s o f t h n o r m a l k e y s c a n . Y o c a s e t l i e p r o b l e m b p r e s s i n g t h e S t o p K e y ,C o m m o d o r e K e y , K e a n S p a c e B a r a t h s a m e t i m e a n t h e n ,w i t h t h e s e h e l d d o w n , p r e s s i n g t h e F k e y . T h C u r s o r D o w n , F a n F k e y s w i l l c o m e o a i t h e y a r b e i n g p r e s s e d . s t u m b l e da c r o s s t h i s o t h w a t s p l i t k e y b o a r d r o u t i n e . S f a r I ' v e w o r k e d

a r o u n d i w i t h r o u t i n e t h a t u s e s t h e R i g h t S h i f t a n t h C u r s o rC o n t r o l k e y s f o o n p l a y e r , w i t h t h L e f t A r r o w a n t h O n a n T w k e y s f o t h e o t h e r p l a y e r . T h e s e k e y s a r i m u t u a l l y e x c l u s i v ec o l u m n s a s e e n b y D a t a P o r t B b u t h i s m e t h o d l i m i t s t h n u m b e ro e x c l u s i v e k e c l o s e r s t o e i g h t , m a k e s f i n g e r p l a c e m e n t a w k w a r da n d a n a c c i d e n t a l k e p r e s s c a n t h r o w t h w h o l e s c h e m e o f f . A n s u g g e s t i o n s ?

0 : 7 : 5 6 3 2 0 : b 1 : c l 5 5 2 9 62 d i m ( 7 , 7 ) , x ( 7 ) , y ( 7 ) : r $ c h r $ ( 1 8 ) : n c h r $ ( 1 4 6 )3 f o = t s x ( i ) 2 t i : y ( i ) 2 5 5 - x ( i )4 f o = t s : m ( i , j ) ( s - i ) * 4 0 ( s - j )5 n e x t j . i6 0 p o k e 5 3 2 8 0 , . : p o k e 5 3 2 8 1 , . : p o k e 6 4 6 , 1 : p o k e 5 6 3 3 3 , 1 2 77 0 p r i n t c h r $ ( 1 4 7 ) ;8 p r i n t r $ B q « - 1 a n $ " s t c o s p c t l « - 1 '9 p r i n t r $ 7 t = ; * £ M n $ s p c ( 1 2 ) " l s h h m 1 0 p r i n t r $ \ @ : . - l p1 1 p r i n t r $ M n o k m 0 j i 9 "1 2 p r i n t r $ ' v u h b 8 g y 7 "1 3 p r i n t r $ " x t f c 6 d r 5 "1 4 p r i n t r $ e s z 4 a w 3 " n $ n r s h "1 5 p r i n t r $ " [ 8 s p c s ] " n $ " c r f f f f 7 e r r r t d e l "1 6 f o = t s p o k e a , y ( i ) : f o = t 1 7 1 i ( p e e k ( b ) a n x ( j ) ) = . t h e n c1 8 0 p o k e m ( i , j ) , c : n e x t j , i : g o t o 1 6

O w i n g s S a f f e l l , E u g e n e , O r e g o n

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

C l o c k S e t t i n g : T h i s y e a r h a a i n t e r f a c e b u i l t f o m w h i c ho p e r a t e s s o m e l i g h t s i m h o m e a w e l l a s t h e a u t o m a t i c s p r i n k l i n gs y s t e m f o m y a r d a n g r e e n h o u s e . w r o t e p r o g r a m t r u t h i n t e r f a c e i B a s i c o t h 1 2 a n i w o r k s j u s t f i n e .

T h p r o b l e m h a v e i t h a t , i t h e r e i p o w e r c u t , t h p r o g r a m b o o t sf r o m d i s k b u t , o f c o u r s e , d o e s n o r e - s e t t h t i m e o d a y . I t h e r ed i g i t a l c l o c k o t h m a r k e t t h a t t h 1 2 8 c a n r e a d e x t e r n a l l y a n t h e n u s e t r e s e t e i t h e r o t h t w c l o c k s r e s i d e n t i t h c o m p u t e r ? I n o t , c a t h 1 2 r e a d a e x t e r n a l c l o c k a n i t h e r e a n y o n e w h c o u l d p r o v i d e m w i t h t h n e c e s s a r y h a r d w a r e a n d p r o g r a m t r e a d t h e c l o c k ?

D a v i d K u h n , N a n a i m o , B r i t i s h C o l u m b i a

W e l l , w e ' r e s u r e t h a t t h e r e i s o m e w a t i n t e r f a c e a e x t e r n a lc l o c k t t h e 1 2 8 , b u w d o n ' t r e m e m b e r e v e r h a v i n g s e e n i d o n e ,c o m m e r c i a l l y o r o t h e r w i s e . R e a d e r s ?

T r a n s a c t o r ' s A m i g a C o v e r a g e : s e t h a t y o a r s t a r t i n g t g e f l a k a b o u t c o v e r a g e o t h A m i g a . v o t e w i t h y o u . F a c e i t t h 6 w i t h i t 8 o p e r a t i n g s y s t e m a n 8 B a s i c i n t e r p r e t e r , h a b e e n

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 14: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 14/84

p r e t t y t h o r o u g h l y d i s s e c t e d . M u l t i p l e e d i t i o n s o t h c o m m e n t e dR O M s a r a v a i l a b l e , a n e v e n t h T r a n s a c t o r ' s e x p e r t i s e i r e f l e c t e di n c r e a s i n g l y i c l e v e r w a y s t u s w h a t i g e n e r a l l y k n o w n , r a t h e rt h a n m y s t e r i e s r e v e a l e d ( t h o u g h y o s t i l l r e v e a l m o r e m y s t e r i e st h a n a n y o n e e l s e ) . T h A m i g a i n e w , i t ' s m y s t e r i o u s , a n i t ' sC o m m o d o r e . I t o o , c a n n o t a f f o r d a A m i g a , y e t h e i d e a t h a t i t c o v e r a g e i i n a p p r o p r i a t e f o t h T i p r e p o s t e r o u s .

G o o d l u c k i y o u r e n d e a v o u r s , t h T r a n s a c t o r i t o p s .

T a T r e p a g n i e r , K e n n e r , L o s A n g e l e s

W e l l , t h a n k s f o r t h e s u p p o r t , T a b , b u a y o n o w k n o w w e a r n l o n g e r g o i n g t c o v e r A m i g a i t h i s m a g a z i n e . S t i l l , y o u ' r e r i g h t ,w e ' r e r u n n i n g o u o m y s t e r i e s . B e c a u s e o t h a t , w e ' l l p r o b a b l y b a d j u s t i n g o u f o r m a t s l i g h t l y i n i s s u e s t c o m e . . . a l o n g w i t h t h u t i l i t i e s a n t e c h n i c a l a p p l i c a t i o n s , w e ' l l b e a d d i n g m o r e t h e o r e t i c a lm a t e r i a l ( l i k e t h b i n a r y t r e e s a r t i c l e i n t h i s i s s u e ) a n r e v i e w s o s e l e c t e d p r o d u c t s . A l s o f o t h o s e o f y o w h h a v e b e e n c l a m o u ri n f o i i l o o k s a s t h o u g h w e ' r e f i n a l l y g o i n g t g e a r o u n d t r u n n i n g m a c h i n e l a n g u a g e s u b r o u t i n e s c o l u m n s t a r t i n g n e x ti s s u e . A n y t h i n g e l s e y o ' d l i k e t s e e ? L e t u s k n o w .

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

1 V o l u m e 7 I s s u e 5 p a g e 1 0 " S c r e e n S a v e " . R e l i n e 1 2 0 0 - m v e r i f i z e r s a y s i e q u a l s H B . Y o u r p r i n t e d l i n e s a y s C K f e e l t h e r r o ri i n l i n e 1 2 0 0 a s t h e p r o g r a m d o e s n ' t r u p l e a s e a d j u d i c a t e .

2 V o l u m e 8 I s s u e 1 p a g e 3 6 " C o m p l e x N u m b e r s . . . " I s e e m st h a t n e e d V o I s s u e " n e w w e d g e " , w h i c h d o n ' t h a v e . I i p o s s i b l e t p u r c h a s e a b a c k c o p y f r o m y o u , o r c a g e p h o t o c o p yf r o m y o o f r o m a n o t h e r r e a d e r ?

3 R e g a r d i n g t h V e r i f i z e r C o d e s i t h l e f t - h a n d c o l u m n , c o u l d t h e yb m o v e d t t h r i g h t - h a n d e d g e ? I w o u l d b m u c h m o r e c o n v e ni e n t .

E r n e s t D o r f m a n , B r o o k l y n , N e Y o r k

S o r r y , E r n e s t , b u w s t i l l g e C f o t h a t V e r i f i z e r c o d e . I s i t p o s s i b l ey o h a v e p a i r o f t r a n s p o s e d n u m b e r s i t h a t D A T A l i n e , o p o s s i b l y p e r i o d s u b s t i t u t e d f o c o m m a ? F o o t h e r p o s s i b i l i t i e s ,t a k e l o o k a t t h e s e c t i o n o n p a g e 1 t i t l e d " C o m m o n b C o m p a r is o n " .

N e W e d g e i n o n e e d e d f o t h c o m p l e x n u m b e r s p r o g r a m . I w a r e f e r e n c e d i t h a r t i c l e a t h p l a c e w h e r e a e x p l a n a t i o n o ft h w e d g e t e c h n i q u e u s e d i t h p r o g r a m c o u l d b f o u n d .

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

A c c e s s i n g C u r l y B r a c k e t s w i t h S p e e d s c r i p t : I r e s p o n s e t t h l e t t e r f r o m J o h n F r a n c i s ( L e t t e r s , V o l u m e 8 I s s u e 2 c o n c e r n i n g

a c c e s s i n g c u r l y b r a c k e t s w i t h S p e e d s c r i p t : A s s u m i n g h i t e r m i n a lp r o g r a m w i l l l e h i u p l o a d f i l e i t r u e A S C I I w i t h o u t t r a n s l a t i o n ,S p e e d s c r i p t h a s e v e r a l f e a t u r e s t h a t w i l l p r o v i d e h i w i t h t h c u r l yb r a c k e t s i s e q u e n t i a l f i l e . F i r s t , h e c a n p u f o r m a t t i n g c o m m a n do f " C t r l 3 a " a s t h e f i r s t c h a r a c t e r o t h f i l e . T h i s w i l l t r a n s l a t ee v e r y t h i n g i n t o t r u e A S C I I . T h e n d e f i n e a n t w u p p e r c a s e c h a r a ct e r s a s t h e A S C I I c o d e s f o t h e c u r l y b r a c k e t s . u s e d s h i f t e d " " C t r l 3 , S h i f t 1 2 3 " , 1 2 3 b e i n g t h e d e c i m a l o $ 7 B . T h e n d t h s a m e f o 1 2 o $ 7 D . u s e d S h i f t e d " - " . T h e s e c o n t r o l c h a r a c t e r sw i l l s h o w o t h s c r e e n § r e v e r s e d c h a r a c t e r s . T h e n w h e n e v e r h n e e d s t h e c u r l y b r a c k e t s , h j u s t n e e d s t h i " C t r l 3 , s h i f t " f o r l e f t

a n " C t r l 3 , s h i f t - f o r i g h t } .

S p e e d s c r i p t t h e n a l l o w s f i l e t b s a v e d a S E f i l e i P E T S C I I ( o A S C I I i t h a b o v e c o m m a n d i i n c l u d e d ) b h i t t i n g " S h i f t - C t r l - P "a n r e s p o n d i n g " D t " P r i n t t D i s k " . T h r e v e r s e d c o n t r o lc h a r a c t e r s a r e n o s a v e d s i n c e t h e y a r P r i n t F o r m a t c o m m a n d s .T h e n h e c a n j u s t a d j u s t h i t e r m i n a l p r o g r a m t u p l o a d w i t h n t r a n s l a t i o n a n t h c o r r e c t A S C I I c o d e s w i l l b s e n t . c h e c k e d t h i so u b e x a m i n i n g s u c h f i l e h a p r i n t e d t d i s k a n s u r e e n o u g h , i c o n t a i n e d n c o d e s a b o v e $ 7 F , a n t h e c u r l y b r a c k e t s a p p e a r e d a $ 7 a n $ 7 D .

p r i n t e d t h i s l e t t e r o m S t a r N X - 1 0 b l o c k i n g m i n t e r f a c e i n t oT r a n s p a r e n t m o d e a n p r i n t i n g i a a A S C I I f i l e , r a t h e r t h a n h a v et h i n t e r f a c e t r a n s l a t e .

J a m e s G r e e k , N e Y o r k , N e Y o r k

A n f r o m w h a t w c a s e e , i w o r k e d g r e a t !

T h C o n t i n u i n g B I T / . B Y T E S a g a : J a c k L o t h i a n ' s u n - a s s e m b l e r( T r a n s a c t o r , V o l u m e 6 I s s u e 4 i f i n e p r o g r a m t h a t h a e v o k e ds e v e r a l l e t t e r s d u r i n g t h p a s t y e a r . t h i n k t h i s i p r i m a r i l y b e c a u s et h p r o g r a m i q u i t e u s e f u l t m a n y r e a d e r s a n i w e l l s t r u c t u r e da n d c o m m e n t e d , e n a b l i n g r e a d e r s e a s i l y t o u n d e r s t a n d i t f u n c t i o ni n g . l i k e o t h e r r e a d e r s h a v e s o m e c o m m e n t s a n i d e a s t o f f e r .

J o h n M e n k e ( L e t t e r s , V o l u m e 6 I s s u e 5 p o i n t e d o u t t h e p r o b l e m o d i s a s s e m b l i n g t h s e q u e n c e $ 2 C ; $ 0 0 ; $ A 9 a B I $ 0 0 A 9 t h C o m m o d o r e A s s e m b l e r w i l l r e - a s s e m b l e t h i s a B I $ A 9 , c h a n g i n gt h B I f o $ 2 C . t o $ 2 4 , d r o p p i n g t h b y t e $ 0 c o m p l e t e l y a n o f f s e t t i n g a l t h c o d e t h a t f o l l o w s b y o n e b y t e . T h o m a s G u r l e y( L e t t e r s , V o l u m e 7 I s s u e 5 p o i n t e d o u t h a t t h i s w a s n ' t u n i q u e t t h B I i n s t r u c t i o n b u w a d u t t h a b s o l u t e a d d r e s s i n g m o d e . H o b s e r v e d t h a t , i t h a d d r e s s i n g m o d e w a o n o t h e a b s o l u t em o d e s ( i n c l u d i n g a b s o l u t e , X a n a b s o l u t e , Y ) a n t h o p e r a n d w a l e s s t h a n 2 5 6 , t h e a s s e m b l e r w o u l d c h a n g e t h a d d r e s s i n g m o d e t t h c o r r e s p o n d i n g z e r o p a g e m o d e a n d r o p t h e b y t e $ 0 0 . H i ss u g g e s t e d p r o g r a m c h a n g e s t c o r r e c t t h i s p r o b l e m c a u s e d t h s e q u e n c e $ 4 C ; $ 7 3 ; $ 0 0 t b d i s a s s e m b l e d a . B Y T E 7 6 ; . B Y T E1 1 5 ; B Y T E 0 . r a t h e r t h a n J M $ 0 0 7 3 . T h p r o b l e m i t h a t n o a l i n s t r u c t i o n s w i h t a b s o l u t e a d d r e s s i n g m o d e s a l s o h a v e t h c o r r e sp o n d i n g z e r o p a g e a d d r e s s i n g m o d e . I t h e y d o t h z e r o p a g e m o d eo c o d e i l e s s t h a n t h e a b s o l u t e m o d e o c o d e .

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

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 15: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 15/84

1 3 8 0 p p $ " : a d $ " : i t h e n 1 4 0 51 4 1 0 i n > a n n < 1 4 t h e n p p p p n + " 1 4 3 5 i f n = 1 4 t h e n 1 3 8 01 7 3 0 q q g o s u b 2 0 9 0 : a q g o s u b 2 0 9 0

a a q * m h : 2 d a 1 7 3 1 h n 3 g o s u b 2 1 8 01 7 3 2 i a d < 2 5 6 a n m n $ ( q 1 ) m n $ ( q 1 - 8 t h e n 1 4 r e t u r n1 7 9 2 i a d < 2 5 6 a n m n $ ( q 1 ) m n $ ( q 1 - 8 t h e n 1 4 : r e t u r n1 8 5 2 i a d < 2 5 6 a n m n $ ( q 1 ) m n $ ( q 1 - 8 t h e n 1 4 : r e t u r n2 0 1 5 r e m c o n v e r t a b s o l u t e a d d r e s s l e s s t h a n 2 5

t . b y t e i n s t r u c t i o n s2 0 2 0 p a d $ + " . b y t e " s t r $ ( o p ) \ \ b y t e B s t r $ ( a d )

" : . b y t e O ; * * * w a s " n " * * * "2 0 2 2 0 g o s u b 2 1 5 0 : p + 1 : r e t u r n

T h e s e a n o t h e r l e t t e r s h a v e s u g g e s t e d t h e p r e f e r e n c e f o t h e u s e r t d e t e r m i n e w h e t h e r h o s h w a n t e d t h B I ( $ 2 C ) o c o d e t b d i s a s s e m b l e d a B I o . B Y T E a n s o m e h a v e s u g g e s t e d t h p r o p e rm e t h o d o i m p l e m e n t i n g t h i s o p t i o n . I s e e m s t m t h a t t h i sd e c i s i o n s h o u l d b e b a s e d o t h c o n t e x t i w h i c h t h i s i n s t r u c t i o n i f o u n d . P r o g r a m m e r s u s t h $ 2 o p c o d e f o t w d i s t i n c t p u r p o s e s .T h f i r s t i i t d o c u m e n t e d f u n c t i o n o s e t t i n g o c l e a r i n g t h a n f l a g s . W h e n t h p r o g r a m m e r u s e s t h e $ 2 o p c o d e f o r t h i s p u r p o s et h e p r e f e r a b l e m e t h o d i t d i s a s s e m b l e $ 2 w i t h t h B I o c o d e .

T h o t h e r u s i t h q u a s i - d o c u m e n t e d f u n c t i o n o s k i p p i n g 2 b y t e sw h e n e n t e r e d f r o m t h t o a n c r e a t i n g s i d e e n t r y p o i n t i m m e d ia t e l y b e l o w t h $ 2 b y t e , w h e r e r e g i s t e r i c o m m o n l y s e u s i n gt h i m m e d i a t e a d d r e s s i n g m o d e . W h e n u s e d f o r t h i s p u r p o s e , i i p r e f e r a b l e t d i s a s s e m b l e $ 2 w i t h t h . B Y T E p s e u d o o p s t h a t t h s i d e e n t r y p o i n t i c l e a r l y s h o w n . T h i s a l s o p e r m i t s t h d i s a s s e m b l e rt c r e a t e v a l i d l a b e l f o t h e n t r y p o i n t . S i n c e t h o c o d e t h a ti m m e d i a t e l y f o l l o w s $ 2 i c o m m o n l y f o t h i m m e d i a t e a d d r e s s i n gm o d e , t h i s a s s u m p t i o n c a n b u s e d a s t h e c r i t e r i o n f o d e t e r m i n i n gw h e t h e r t d i s a s s e m b l e u s i n g e i t h e r t h . B Y T E o B I T o p c o d e s .( T h o u g h t h i s i s n ' t p e r f e c t c r i t e r i o n , i i a e a s i l y i m p l e m e n t e d" r u l e o t h u m b " t h a t i v a l i d p r o b a b l y 7 5 o t h e t i m e a t l e a s t . )

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

D E L E T E L I N E S 3 1 0 T H R U 3 6 2 0 9 0 i a a $ < > " " t h e n a a a $ : a a $ " d : g o t o 2 0 9 42 0 9 2 g e t # 1 , a $2 0 9 4 a s c ( a $ n $ ) : r e t u r n2 1 2 0 + : n m n $ ( q ) : n m d ( q )2 1 2 2 i f q O 4 4 t h e n 2 1 2 62 1 2 4 g e t # 1 , a a $ : q 1 a s c ( a a $ n $ ) : i f m d ( q 1 )

t h e n 0 : n $ " . b i t "2 1 2 6 r e t u r n

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

B i l l T a y l o r , C u p e r t i n o , C a l i f o r n i a

M E P R O M B u r n e r : B e i n g a a v i d r e a d e r o T r a n s a c t o r , k n o wh o t e c h n i c a l l y m i n d e d t h s t a f f a n r e a d e r s a r e . T h i s i w h h a v ed e c i d e d t a s y o f o a d v i c e c o n c e r n i n g t h e f o l l o w i n g p r o b l e m .

w o u l d l i k e t w r i t e a M p r o g r a m a n d b u r n i o a E P R O M , w h i c hw o u l d t h e n g i c a r t r i d g e . h a v e t h t e c h n i c a l a n p r a c t i c a la b i l i t i e s t o d i t j u s t d o n ' t k n o w h o t g a b o u t i t I ' v e r e a dd i f f e r e n t b o o k s o t h s u b j e c t o c a r t r i d g e s , b u t h e y a r a l v e r yc r y p t i c . k n o w t h a t u p o n p o w e r - u p t h c o m p u t e r c h e c k s f o c a r t r i d g e b y c o m p a r i n g a d d r e s s e s $ 8 0 0 4 t $ 8 0 0 8 t t h w o r d' C B M 8 0 ' . I i m a t c h e s , p r o g r a m c o n t r o l i t r a n s f e r r e d t t h e c a rt r i d g e t h r o u g h t h e v e c t o r a $ 8 0 0 0 . H o w e v e r , t h P R O M r e m o v e df r o m c a r t r i d g e ( V i s i b l e S o l a r S y s t e m ) d o e s n ' t h a v e ' C B M 8 0 ' a $ 8 0 0 4 , a n t h e v e c t o r a $ 8 0 0 0 j u m p s i n t o t h B a s i c i n p u t b u f f e r .A l s o , a l J M P s a n J S R s h a v e t h e i r t a r g e t a d d r e s s e s s t a r t w i t h $ ( a i $ E 1 9 1 ) i n s t e a d o $ 8 S b a s i c a l l y t h i s i w h a t w a n t t k n o w :W h a t P R O M s a r e g e n e r a l l y u s e d i c a r t r i d g e s ? W h c a n ' t f i n d' C B M 8 0 ' a $ 8 0 0 4 ? A r e a d i n g i w r o n g ? S h o u l d j u s t g i v e u a n b u c o m m e r c i a l c a r t r i d g e - m a k e r ?

a l s o n o t i c e d e x t r a r o o m f o a n o t h e r m i c r o c i r c u i t i t h c a r t r i d g e .W h a t c o u l d i b e u s e d f o r ? A n f i n a l l y , a r e t h e r e a n b o o k se x p l a i n i n g t h e o p e r a t i o n o t h C o m m o d o r e 6 i n d e t a i l ? w o u l dg r e a t l y a p p r e c i a t e t h i s l e t t e r b e i n g p u b l i s h e d ; e v e n i y o c a n ' t g i v em t h a n s w e r , m a y b e a n o t h e r r e a d e r c a h e l p m o u t . c a n b er e a c h e d a t h a d d r e s s b e l o w .

P a t r i c k G D e m e t s , B o 1 9 3 6 , G r a n d C e n t r e , A l b e r t a T 0 1 T

U n f o r t u n a t e l y , w d n o h a v e a c c e s s t t h V i s i b l e S o l a r S y s t e mc a r t r i d g e p i t y , b e c a u s e w e ' d b i n t e r e s t e d i c h e c k i n g i o u t . W w o n d e r i t h e c a r t r i d g e i s e u t u s t h U l t i m a x m e m o r y l a y o u t o o n o t h o t h e r l e s s - u s e d l a y o u t s c h a r t e d i t h P r o g r a m m e r s 'R e f e r e n c e G u i d e . T h U l t i m a x l a y o u t d o e s h a v e c a r t r i d g e R O a S E 0 0 0 . T h ' C B M S O ' I D i o b v i o u s l y n o t n e e d e d i n t h i s c a s e b e c a u s et h h a r d w a r e r e s e t v e c t o r i w i t h i n t h e a d d r e s s r a n g e o t h c a r t r i d g e i t s e l f A n o y o r e a d e r s h a v e m o r e d e f i n i t e i n f o r m a t i o no t h i s ?

O t h q u e s t i o n o f b o o k s , t h e r e a r l o t s t h a t c o v e r t h 6 f r o ms o f t w a r e v i e w p o i n t , b u w a s s u m e t h a t ' s n o w h a t y o m e a n .H a r d w a r e i n f o r m a t i o n i l o h a r d e r t f i n d o u t s i d e t h P r o g r a mm e r s ' R e f e r e n c e G u i d e . A g a i n - a n y o n e h a v e r e c o m m e n d a t i o n s ?

I E E E I n t e r f a c e s f o r t h C - 6 4 / 1 2 8 : Y o r e c e n t l y h a l e t t e ri n q u i r i n g a b o u t I E E E i n t e r f a c e s f o t h C - 6 4 / 1 2 8 . h a v e u s e dc o u p l e o t h e m a n d w o u l d l i k e t o g i v e y o m i m p r e s s i o n s o t h e m .

F i r s t t h M S I E E E i n t e r f a c e w a m e n t i o n e d . W e l l , i d o e s n ' t e v e nm a k e v e r y g o o d d o o r s t o p , u n f o r t u n a t e l y . I d o e s w o r k w i t h p l a i nv a n i l l a B a s i c p r o g r a m s a n v e r y l i t t l e e l s e . A l s o t h e r e w a p r o g r a mt h a t M S g a v e o u t h a t d i i m p r o v e i t p e r f o r m a n c e . E v e n t h e n i h a a c o u p l e o b i l i m i t a t i o n s a n q u i c k l y g a v e u t r y i n g t u s t h a t i n t e r f a c e .

O t m o r e u s e f u l i n t e r f a c e s f o u s e w i t h t h C - 6 4 . 1 t h i n k i w o u l db h a r d t o f i n d b e t t e r i n t e r f a c e t h a n t h B u s C a r d w i t h t h e B a s i c 4 . e x t e n s i o n s , t h M m o n i t o r a n t h p r i n t e r p o r t i i t I a l s o s e e m s t b c o m p a t i b l e w i t h l o o c o m m e r c i a l s o f t w a r e , t h o u g h o c o u r s en o a l l .

H o w e v e r , t h B u s C a r d d o e s n o w o r k o t h C - 1 2 8 i 1 2 m o d e . F o u s w i t h t h e C - l 2 8 r e c o m m e n d t h e Q u i c k s i l v e r 1 2 8 . 1 a c u r r e n t l yT h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 16: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 16/84

u s i n g t h a t i n t e r f a c e o m C - 1 2 8 . H o w e v e r , s i n c e S k y l e s r e p l a c e st h K e r n a l R O i t h 1 2 w i t h , o n o f t h e i r o w d e s i g n , i i n o c o m p a t i b l e w i t h C P / M . S k y l e s d o e s s e l l R O s w i t c h b o a r d t h a ty o u c a n i n s t a l l i y o u r C - 1 2 8 a n h a v e b o t h R O M S a v a i l a b l e t y o u ,b u i y o s w i t c h y o u r o r i g i n a l K e r n a l R O b a c k i n y o s t i l l h a v e t r e m o v e t h e Q u i c k s i l v e r c a r t r i d g e i o r d e r t b o o t C P / M . A s t d r i v ec o m p a t i b i l i t y w i t h C P / M , d o n ' t t h i n k t h a t t h h i g h e r c a p a c i t yd r i v e s ( 8 0 5 0 , 8 2 5 0 , S F D 1 0 0 1 ) a r c o m p a t i b l e w i t h C o m m o d o r e ' si m p l e m e n t a t i o n o C P / M o t h C - 1 2 8 .

O n o t h e r t h i n g : t h S F D 1 0 0 1 w o r k i n g t h r o u g h t h e Q u i c k s i l v e r i a q u i c k a i n o t q u i c k e r t h a n t h e 1 5 7 1 . F r o m m o b s e r v a t i o n s a n t h c o m m e n t s o o t h e r u s e r s , t h d a t a t r a n s f e r s a a b o u t t h s a m es p e e d . B u t h i n t e r n a l o p e r a t i o n s o t h S F D 1 0 0 1 c a n r u n c i r c l e sa r o u n d t h 1 5 7 1 .

h o p e t h i s h e l p s y o u r r e a d e r s a n p r o v i d e s l i t t l e b a c k g r o u n d o t h e s e i n t e r f a c e s . h a v e u s e d m I E E E i n t e r f a c e s w i t h M S a n S F D 1 0 0 1 d i s k d r i v e a n a q u i t e s a t i s f i e d w i t h m c u r r e n t s e t - u p( C 4 2 8 , 1 5 7 1 , M S d u a l , a n S F D 1 0 0 1 ) .

L y l e G i e s e , W o o d s t o c k , I l l i n o i s

T r a n s B l o o p e r sR a n d o m N u m b e r G e n e r a t i o n i M L M a 1 9 8 7 : V o l u m e7 I s s u e 6 p g 2

N o t h i n g w r o n g w i t h p r o g r a m h e r e . . . j u s t c o u p l e o r a n d o me r r o r s t h a t c r e p t i n t o t h t e x t . C h a r l i e K l u e p f e l o B l o o m f i e l d , N J w r i t e s :

. . T h a r t i c l e c o n t a i n s a i n c o n s i s t e n c y w h i c h m a k e s m d i t r u s t t h v a l u e s s h o w n i t h t a b l e o F i g u r e ( p a g e 2 8 ) . T h d i a g r a m s h o w s t a p s f r o m a n 2 w h i l e t h t a b l e s h o w s t a p sf r o m a n 1 T r y i n g b o t h o u t , i n B A S I C , s h o w s t h a t t h e d i a g r a mi c o r r e c t a n t h t a b l e i w r o n g . U s i n g t a p s a a n g i v e sc y c l e l e n g t h o 7 a n d 2 g i v e s t h e m a x i m u m , 3 1 T h u s , h o c a w b s u r e t h o t h e r e n t r i e s o t h t a b l e a r c o r r e c t ?

B t h w a y , t h n u m b e r ' 1 0 2 1 ' i t h r i g h t h a n d c o l u m n o p a g e2 s h o u l d b e 1 0 2 1 ( o r 1 0 \ 2 1 ) . T h f o r m e r i n o t v e r y l t a s t r o n o m i -c a V \

O u h u m b l e s t a p o l o g i e s f o r t h i s o n e , C h a r l i e . W e ' r e a l s o s o r r yw d i d n ' t g e t t o t h i s s o o n e r , b u t t h e o r i g i n a l m a n u s c r i p t f o t h i sa r t i c l e w e n t i n t o h i b e r n a t i o n w h i l e w e f f e c t e d o u " b i g m o v e "a n o n l y j u s t t u r n e d u a g a i n t h o t h e r d a y .

A f t e r c h e c k i n g t h m a n u s c r i p t , t h t a p s s h o w n f o t h i s s p o t i t h t a b l e a r i n d e e d a a n 2 F o l l o w i n g y o u r s u g g e s t i o n , w d e c i d e d t c h e c k t h r e s t o t h t a b l e t o o , b u f o u n d n o t h e re r r o r s . T h n u m b e r 1 0 1 2 1 c h e c k s o u t o o , b u c ' m o n C h a r l i e . . .t h d i f f e r e n c e i o n l y 1 , 0 0 0 , 0 0 0 , 0 0 0 , 0 0 0 , 0 0 0 , 0 9 8 , 9 7 9 ( s e x t i l -l i o n , 9 8 . . . ) .

A n t h a n k s f o w r i t i n g ! W u s u a l l y o n l y f i n d o u a b o u t e r r o r s i p r o g r a m s . I t ' s t h m e t i c u l o u s t y p e s l i k e y o u r s e l f t h a t a l l o wo t h e r s t g b a c k a n d " u p d a t e o u p r o d u c t " .

C o m m o n b C o m p a r i s o n

E v e r e t t E S t o n e w r i t e s d e s c r i b i n g s o m e t r o u b l e s g e t t i n g D a v i dL a t h r o p ' s " C o m p a r e " p r o g r a m ( T r a n s a c t o r , V o l u m e 8 I s s u e 1 t w o r k " c a n o g e t h c h e c k s u o 2 6 6 2 4 n o c a r u t h t h p r o g r a m w i t h o u t a d d i n g a n o t h e r z e r o t t h e n o t h D A T As t a t e m e n t s a t l i n e 7 4 5 0 . "

I ' l l a s s u m e y o u ' r e a l r e a d y a w a r e t h a t t h c h e c k s u m s h o u l d b 5 2 3 6 2 6 ( 2 6 6 2 4 i t h i n i t i a l l o o p v a l u e ) , b u t h a t o n e ' s t o e a s y .O n o t h m o s t c o m m o n a n l e s s o b v i o u s p r o b l e m s w f i n dr e a d e r s e n c o u n t e r w i t h l o n g l i s t i n g s o D A T A s t a t e m e n t s i t h o m i s s i o n o c o m m a . U s u a l l y t h i s e r r o r g e t s d e t e c t e d b e c a u s et h c o m m a i m i s s i n g f r o m b e t w e e n t w o n u m b e r s t h a t , w h e nc o n c a t e n a t e d , f o r m a v a l u e g r e a t e r t h a n 2 5 5 . H o w e v e r , i t h c o m m a i a b s e n t f r o m b e t w e e n t w o n u m b e r s s u c h a a n 4 4 t h R E A D c o m m a n d " s e e s " v a l u e o 2 4 4 , w h i c h i o k a y i P O K E s t a t e m e n t o C H R $ f u n c t i o n . H o w e v e r , t h p r o g r a m h a j u s t s c o o p e d u p t w o n u m b e r s a s o n e , a n w i l l r u o u o D A T Ab e f o r e t h e R E A D l o o p i c o m p l e t e . A d d i n g z e r o e s t t h e n o t h D A T A s t a t e m e n t s w i l l s a t i s f y t h l o o p , b u t t h e e n t i r e p r o g r a mb e y o n d t h t r o u b l e s p o t w i l l b e " s k e w e d " o n e b y t e .

S e p a r a t i n g n u m b e r s w i t h a p e r i o d i n s t e a d o c o m m a c r e a t e ss i m i l a r s i t u a t i o n . T h i s o n e ' s e q u a l l y h a r d t d e t e c t a f i r s t g l a n c eb e c a u s e t h P O K E c o m m a n d a n C H R $ f u n c t i o n s i m p l y i g n o r et h f r a c t i o n a l p a r t a n r e p o r t n e r r o r .

R e m e m b e r , m a c h i n e l a n g u a g e i a e x a c t s c i e n c e : i t ' s e i t h e rr i g h t o i i s n ' t . A ? O U T O D A T A e r r o r c a i n d i c a t e m i s s i n gc o m m a , a m i s s i n g D A T A n u m b e r , o e v e n a m i s s i n g l i n e . T h f i r s t t h i n g t c h e c k i t h c o u n t e r v a l u e . I t h l o o p i F O t 1 0 0 , " P R I N T J i m m e d i a t e l y a f t e r i t ' s f i n i s h e d s h o u l d r e t u r n" 1 0 1 " . I y o g e t , f o e x a m p l e , " 9 9 " , y o u h a v e t w o p r o b l e m s t g l o o k i n g f o r .

O n c e t h e l o o p i e n d i n g c o r r e c t l y , i t ' s p o s s i b l e t h c h e c k s u w i l lf a l l n a t u r a l l y i n t o p l a c e . I i d o e s n ' t , t h e r e ' s a c o u p l e o o t h e rp o t e n t i a l t r o u b l e s p o t s y o c a l o o k a b e f o r e y o c o n c l u d e t h a tt h e e r r o r i i t h e p r i n t e d l i s t i n g . I t h e v a r i a b l e " C H " i u s e d t a c c u m u l a t e t h s u ( a i t h c a s e w i t h m o s t p r o g r a m s i T r a n s a c t o r ) , P R I N T C a f t e r t h e r r o r r e p o r t . I i c o n t a i n s af r a c t i o n a l p a r t , c h a n c e s a r t h e r e ' s a p e r i o d w h e r e t h e r e s h o u l db c o m m a . I f i t ' s o f b a e v e n 1 0 o r 2 0 0 , c h a n c e s a r y o u ' v ek e y e d , f o e x a m p l e , 4 i n s t e a d o 1 4 o r 2 4 9 .

L a s t l y , t h V e r i f i z e r e n t r y c h e c k e r w i l l p r e v e n t a l m o s t a n e r r o r ,b u i c a b f o o l e d . V e r i f i z e r u s e s a t e c h n i q u e c a l l e d C y c l i cR e d u n d a n c y C h e c k s u m m i n g i a r r i v i n g a i t t w o - c h a r a c t e rc o d e . H o w e v e r , t h c y c l e l e n g t h C h r i s c h o s e w a 4 T h e r e f o r e , i t w c o n s e c u t i v e 3 - d i g i t n u m b e r s o c c u r i D A T A l i n e ( e . g . " . . 2 0 8 , 2 4 9 , . . . " ) , e n t e r i n g " . . . 2 4 9 , 2 0 8 , . . . " w o u l d p r o d u c e t h s a m e c o d e ( c o m m a i i m p o r t a n t , s p a c e i i g n o r e d ) . c y c l e o w o u l d v i r t u a l l y e l i m i n a t e t h i s p o s s i b i l i t y b e c a u s e o n l y t h o d e s o D A T A l o a d e r s e v e r u s n u m b e r s w i t h m o r e t h a n d i g i t s .W e ' v e c o n s i d e r e d m a k i n g n e V e r i f i z e r t h a t c h e c k s f o s p a c e sw i t h i n q u o t e s a n i g n o r e s r e m a r k s p e r h a p s w e ' l l a l t e r t h i s t o o .

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 17: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 17/84

T e l e C o l u m nF o r u m s G e F a c e L i f t

S o m e m o n t h s o p r e p a r a t i o n , 1 h o u r o n l i n e s t i n t , s e v e r a lr o u n d s o f i n t e r n a l s h u f f l i n g , a n a n o t h e r t w s e s s i o n s o a b o u t 1 h o u r s e a c h , h a v e l e t t h r e - o r g a n i z a t i o n o t h D a t a L i b r a r i e s i C B M P R G a n C B M C O M , t h t w f o r u m s w m a n a g e o n C o m p uS e r v e .

l i t t l e b a c k g r o u n d : t h f o r u m s o r i g i n a l l y k e p t a l l f i l e s a n p r o g r a m s i o n o f 1 1 D a t a L i b r a r i e s . O n c e i a F o r u m , o n e w o u l de n t e r " D L " a t h m a i n F u n c t i o n p r o m p t f o l l o w e d b n u m b e rf r o m 0 t o 1 0 , o s i m p l y D L n , w h e r e w a t h D n u m b e r f o t h o s e w h d i d n ' t n e e d t s e t h l i s t o c h o i c e s e a c h t i m e .

S o m e t i m e a g o , C o m p u S e r v e e x t e n d e d t h e i r F o r u m s o f t w a r e t a l l o w 1 D L s , 0 - 1 7 . I w a s u g g e s t e d t h a t D b r e s e r v e d f o S y s o p a c t i v i t y , b u D L t h r o u g h 1 7 c o u l d b t i t l e d a n w a d e e m e d a p p r o p r i a t e . T e r r i f i c ! N o w c o u l d g a n r e d i s t r i b u t ef i l e s i o u D L i n t o m o r e n a r r o w l y d e f i n e d c a t e g o r i e s . C o m p uS e r v e f u r n i s h e s n u m b e r o u t i l i t i e s a c c e s s i b l e o n l y f r o m S y s o pa c c o u n t s f o d o i n g j u s t t h a t , a n i w o u l d b a s i m p l e m a t t e r o m o v i n g t h f i l e s f r o m o n D t a n o t h e r . N o s s i m p l e !

F i r s t w c a p t u r e d t h t i t l e s a n d e s c r i p t i o n s o e v e r y f i l e f r o m a l 1 D L i b o t h C B M C O M a n C B M P R G . T h e r e a r t h o u s a n d s o f i l e s r e p r e s e n t i n g f e m e o c o d e u p l o a d e d o v e r t h c o u r s e o t h l a s t 4 - y e a r s ! S i n c e n o n e o t h i s i A m i g a s o f t w a r e ( t h a t ' s a l i t h A M I G A F O R U M D L s ) , m e a d d s u t L O o p r o g r a m s .I d i d n ' t t a k e l o n g t o r e a l i z e t h a t w e ' d b i t t e n o f m o u t h f u l .

A f t e r f e w e e k s o e v a l u a t i n g t h e k i n d s o p r o g r a m s i n t h e r e , w c r e a t e d n u m b e r o n e c a t e g o r i e s . W i t h 1 D L p e r f o r u m ,m i n u s f o t h S y s o p a r e a s , w h a 3 t w o r k w i t h . B u w d i d n ' t w a n t t u s t h e m a l u p w w a n t e d t l e a v e r o o m f o f u t u r e e x p a n s i o n s h o u l d t h n e e d a r i s e . S e v e r a l t i m e s w w e r ef o r c e d t d i s c a r d , m o d i f y , c o m b i n e , a n c r e a t e m o r e n e c a t e g or i e s s t h a t e a c h a n e v e r y f i l e i t h D L w o u l d h a v e " p l a c e t g o " . W s e t t l e d o t h e 3 1 t i t l e s b e l o w , a n t h e n d e t e r m i n e d w h i c hw o u l d g o t C B M P R G a n d w h i c h i C B M C O M . W a v o i d e d ,h o w e v e r , d e c i d i n g t h e o r d e r o t h D t i t l e s , m a i n l y b e c a u s e w t h o u g h t t h i s w o u l d c h a n g e , a n b e c a u s e w d i d n ' t h a v e t o a t t h i st i m e .

W k n e w i a d v a n c e t h a t m a n y f i l e s i C B M C O M w o u l d e v e n t ua l l y e n d u p i C B M P R G , a n v i c e v e r s a . I n f a c t , w d e c i d e d t h a tt h C 1 2 8 T e r m i n a l P r o g r a m s D i C B M P R G s h o u l d g o v e r t C B M C O M w i t h t h e o t h e r t e l e c o m p u t i n g s t u f f . H o w e v e r , C o m p uS e r v e h a s n r e m o t e S y s o p u t i l i t y f o t r a n s f e r r i n g f i l e s b e t w e e nF o r u m s , s h o r t o d o w n l o a d i n g a n r e - u p l o a d i n g . S w d e s i gn a t e d " t r a n s f e r D L i e a c h f o r u m t h a t C o m p u S e r v e c o u l d t h e nt r a n s f e r f o u l o c a l l y .

I t o o k m o n t h s t g t h r o u g h a l t h l i s t s . B e f o r e a c t u a l l y p r i n t i n gu t h l i s t s , N i c k t r i m m e d d o w n m o s t o t h d e s c r i p t i o n s t m a k et h e m l e s s u n w i e l d y . E v e n t h e n t h t o t a l l i s t i n g w a a r o u n d t h r e ei n c h e s t h i c k . E a c h f i l e w a g i v e n c o d e f r o m t 3 1 A l t h o u g hs e v e r a l o t h D n a m e s w e r e n ' t c h a n g e d , w s t i l l w e n t t h r o u g he a c h a n e v e r y f i l e l o o k i n g f o s t r a y s t h a t w o u l d b b e t t e r o f i a n o t h e r c a t e g o r y . Q u i t e o f t e n N i c k a n w o u l d l o o k a e a c h o t h e ra n d o n e o u w o u l d s a y , " w h a t ' s t h i s d o i n g h e r e ? " , a n p r o m p t l ym a r k i t b m o v e d t o n o t h e o t h e r 3 c a t e g o r i e s .

T h e n C a m e T h e D a y

W f i r e d u t e r m i n a l p r o g r a m o t h A m i g a a n a n o t h e r u t i l i t yt h a t a l l o w e d 5 f u n c t i o n k e d e f i n i t i o n s t h r o u g h u s e o t h S H I F T ,A L a n " A m i g a " k e y s . T h c o d e s w g a v e e a c h f i l e w e r e u s e d a i n d i r e c t i o n t c o m m a n d s t o r e d i f u n c t i o n k e t h a t w o u l dm o v e t h f i l e t t h e a p p r o p r i a t e D L I w a s n ' t u n t i l t h i s p o i n t t h a tw a c t u a l l y p i c k e d t h o r d e r o o u D n a m e s a t h e y w o u l da p p e a r t t h u s e r . W i t h C o m p u S e r v e ' s 1 9 - c h a r a c t e r l i m i t o D n a m e s , t h i s w a s n ' t a l w a y s e a s y !

C B M P R G D a t a L i b r a r i e sC B M P R G S y s o p sN e U p l o a d s O c t - >P r o g r a m m e r U t i l sA s s e m b l e r U t i l i t i e sD e m o P R G s & S u b r t n sT h F o r t h Z o n eT h L a n g u a g eN o n - R e s i d e n t L a n g sC 1 2 8 M o d e O n l y !C P / M a n G E O S

1 S e c t o r - L e v e l U t i l s1 F i l e C o n v e r s i o n1 D O A s s i s t a n t1 N e e d s 1 5 7 1 o 1 5 8 11 O r p h a n C o m p u t e r s1 ( F u t u r e E x p a n s i o n )1 6 T r a n s a c t o r B I T S1 T r a n s a c t o r P r o g r a m s

C B M C O M D a t a L i b r a r i e sC B M C O M S y s o p sN e U p l o a d s O c t - >H e l p F o r u m U t i l sN e w s a n A r t i c l e sR e v i e w s a n D e m o s

5 S c i e n c e E d u c a t i o nW r i t e , P r i n t P l o tH o m e a n B u s i n e s sG e n e r a l D a t a b a s e sS p e c i a l D a t a b a s e s

1 S p e e c h S y n t h e s i s1 E x o t i c A p p l i c a t i o n s1 C B T e r m R e l a t e d1 C - 6 4 T e r m i n a l s1 C l 2 8 T e r m i n a l s1 B B S P r g s ( 6 4 & 1 2 8 )1 ( F u t u r e E x p a n s i o n )1 ( F u t u r e E x p a n s i o n )

S o f o e x a m p l e , i f i l e w e r e t b m o v e d t c a t e g o r y 2 ( " F i l eC o n v e r s i o n " , D L 1 1 ) , w w o u l d h i A L F w h i c h w o u l d s e n d" M O V E 1 1 c o m m a n d . C a t e g o r y 1 w a " A s s e m b l e r U t i l i t i e s "( D L 3 ) , s S H I F T F 7 w o u l d d " M O V E 3 "

W h e n t h t a r g e t D a n t h s o u r c e D w e r e b o t h i t h o n f o r u m , t h a t w a t h e n o i t B u i f i l e i o n f o r u m w a b e i n gs e n t t t h o t h e r , t h f u n c t i o n k e w a s e u t s e n d i t t h t r a n s f e r D L W d i C B M P R G f i r s t . F i l e s w i t h c a t e g o r y c o d e s o 2

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 18: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 18/84

5 , 7 , 8 , 9 , 1 2 , 1 3 , e t c . , r e q u i r e d h i t t i n g F 2 , F 5 , F 7 , F 8 F 9 S H I F TF 2 S H I F T F 3 e t c . , b u a l o t h e s e p r o d u c e d " M O V E 1 5 " , s i n c eD L 1 5 w a s t h t r a n s f e r D f o f i l e s e m i g r a t i n g f r o m P R t C O M .

T h w h o l e i d e a w a t d o m o s t o t h t h i n k i n g o f f l i n e , h a b i tw e ' v e f o r m e d o v e r t h y e a r s t h a t ' s b e c o m e h a r d t b r e a k e v e nt h o u g h w a r e r i ' t c h a r g e d f o o u o n l i n e t i m e . B u s i n g t h i sa p p r o a c h i w a s n ' t n e c e s s a r y f o u t c o n v e r t o u c o d e t t h D n u m b e r t h c o m p u t e r w o u l d d o i t I n r e t r o s p e c t i a l w o r k e dw e l l , b u w m a d e t h e o p e r a t i o n s o m i n d l e s s t h a t w s p e n t m o s to t h t i m e w a i t i n g a n a d d i n g t o u " C o m p u S e r v e w i s h l i s t " o S y s o p u t i l i t y f u n c t i o n s .

O k a y , l e t ' s g e s t a r t e d . W h o o p s ! F i r s t w e ' l l h a v e t d e t e r m i n e t h d e s t i n y o t h f i l e s t h a t h a v e a r r i v e d o v e r t h e p a s t m o n t h s . N p r o b l e m . . . t h e y ' l l a l a p p e a r f i r s t a n w e ' l l j u s t d e c i d e o t h f l u n t i l w g e t t h f i l e t h a t ' s f i r s t o o u l i s t s .

U m m m , m a y b e w e ' d b e t t e r c l o s e a c c e s s t t h D L s . I w o u l d b eo k a y t d o w n l o a d p r o g r a m s w h i l e w w o r k e d , b u i a n y o n eu p l o a d e d n e p r o g r a m i w o u l d g e g o b b l e d u f a s t e r t h a n h o d o g s a b a s e b a l l g a m e . O u a p o l o g i e s t a n y o n e w h g o c u o f w d i d n ' t m e a n t s l a m t h d o o r .

N o f o C B M C O M . T h e s a m e a p p r o a c h w a s i m p l y m o d i f i e ds l i g h t l y s u c h t h a t t h f u n c t i o n k e y s w e r e a l r e - d e f i n e d w i t h t h i n d i v i d u a l M O V E c o m m a n d s t t h D n u m b e r s w i t h i n C O M , a n a l t h f k e y s c o r r e s p o n d i n g t C B M P R G c o d e s g o " M O V E 1 7 t h t r a n s f e r D f o f i l e s g o i n g o v e r t C B M P R G .

q u i c k n o t e t C o m p u S e r v e s t a f f w o u l d h a v e t h t w t r a n s f e rD L s w a p p e d b y t h d a a f t e r t o m o r r o w , a n i w a o t " p h a s e

!

b y , " t r y D X o Y o Z " w i t h a " d u n n o " a r e l u c t a n ta l t e r n a t i v e .

N o w , y o u c a a s f o p r o g r a m a n d c h a n c e s a r g o o d t h a t w s a i i o u t r a v e l s , c h a n c e s a r b e t t e r w e ' l l k n o w e x a c t l y w h e r et l o o k , a n d o d d s a r e v e n g o o d t h a t y o u ' l l f i n d i y o u r s e l f i q u a r t e r t h e t i m e i t o o k b e f o r e . N o o n l y t h a t , b u t h e r e a r e s e v e r a lp r o g r a m s t h a t s i m p l y w o u l d h a v e n e v e r e v e n b e e n f o u n d b e c a u s et h e y w e r e s t o r e d i p l a c e s w h e r e i w a u n l i k e l y a n y o n e w o u l de v e n l o o k .

T h " N e w U p l o a d s D L w i l l m a k e i l o e a s i e r t s e e w h a t ' s n e w i t h o u t t h e n e e d t B R O w s e a l t h e v a r i o u s D L l o o k i n g f o r e c e n ts t u f f . O n c e m o n t h t h i s D w i l l b c l e a r e d o u t s t h a t o n l y t h m o s t r e c e n t o u p l o a d s w i l l b p r e s e n t .

N e x t s t e p ? T h u p g r a d e d F o r u m s o f t w a r e a l s o e x t e n d s t h n u b e o S u T o p i c n a m e s f r o m 1 t o 1 8 . O n c e a g a i n , S u T o p i c i r e s e r v e d f o S y s o p c h a t ( a n d n o i t ' s n o s w c a t a l k b e h i n dy o u r b a c k s - i t ' s m o s t l y f o r l e t t i n g t h S y s o p s a n a s s i s t a n t S y s o p sk n o w t h s t a t u s o u p l o a d s a n o t h e r f o r u m m a n a g e m e n t a c t i vi t y ) . T h a t l e a v e s , a g a i n , 3 s p o t s f o S u T o p i c t i t l e s , w h i c h w i n t e n d t e n t e r a n a l t e r o v e r t h e n e x t f e w e e k s .

W h d i w t e l l y o a l t h i s ? W e l l , i t ' s t h e D i s p l a y A r e a t h i n ga g a i n . T h i s m a s o u n d l i k e a n o t h e r e x c u s e , b u t w d e c i d e d t h a tb e f o r e w g m a k i n g m a j o r a d d i t i o n s , w o u g h t t g e o u h o u s ei o r d e r f i r s t . T h f o r u m s d e m a n d g o o d p e r c e n t a g e o o u t i m ea n a d d i n g a n e w i n g t t h c o m p l e x m e a n s e v e n m o r e t i m e .T h e r e f o r e , i m a d e s e n s e t o t r y a n p o l i s h u t h e p r e s e n t r o u t i n es i c o u l d b m o r e s e l f - s u p p o r t i n g w h e n t h e t i m e c o m e s t c o n c e n t r a t e o t h n e c o n s t r u c t i o n . F o t h o s e w h c a r e , t h l i s to o n l i n e t a s k s i o r d e r a r e :

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

A C K ! W h a t a r t h e s e d o i n g h e r e ? ! O w e l l , s f e f i l e sa c c i d e n t a l l y g o h i j a c k e d . W h i l e r e d i s t r i b u t i n g i n C B M C O M w d i s c o v e r e d a b o u t 6 o r f i l e s t h a t r e a l l y s h o u l d h a v e s t a y e d i P R G .A n o t h e r q u i c k l i t t l e n o t e t C I s t a f f e r s , a n d b a c k t h e y w e n t . W e ' dl i k e t t h a n k A l e x S u t c l i f f e o C o m p u S e r v e ' s F o r u m S u p p o r t G r o u pf o h i t i m e a n p a t i e n c e .

S w h a t ' s t h i s a l a d u t o W e l l f i r s t o a l l . . . M A N ! D o e sC o m p u S e r v e e v e r h a v e a m o u n t a i n o p r o g r a m s a v a i l a b l e . S o m eo t h e m a r e n ' t w o r t h t h f e r r i t e t h e y ' r e s t o r e d o f o m o r e t h a na b o u t 3 p e o p l e i t h e n t i r e g a l a x y . O t h e r s a r s o l t h a t i w a o n l y t h f a c t t h a t t h e y ' r e o u o t h e h i g h t r a f f i c a r e a s t h a t k e p tt h e m f r o m t h d e a d l y E R c o m m a n d . W i f a c t E R A s e d L O 4 o o l a n d e c r e p i t p r o g r a m s t h a t w e r e j u s t c l u t t e r i n g u t h j o i n t ,a n m a n a g e d t e l i m i n a t e l o o d u p l i c a t e s a n o b s o l e t e v e s i o n s . B u m o s t i m p o r t a n t i t h e f f e c t o u r e - c a t e g o r i z i n g w i l lh a v e o t h t a s k o f i n d i n g a p r o g r a m .

5 B e f o r e , i u s e r a s k e d u i w h a p r o g r a m f o s p e c i f i cp u r p o s e , o u b e s t a n s w e r w a s , " y e s , w h a v e o n e " , f o l l o w e d o f t e n

N e S u T o p i c t i t l e sN e D E S C f i l e s f o t h D L s . W h e n y o e n t e r a D L , t y p e D E S Ca t h m a i n p r o m p t . T h i s s e l d o m u s e d f e a t u r e w i l l p r i n td e s c r i p t i o n o t h D a n w h a t i c o n t a i n s . H o w e v e r , w i t h a l t h m o v i n g a r o u n d a n r e - c a t e g o r i z i n g , t h D E S C f i l e s w i l lv i r t u a l l y a l n e e d t b r e p l a c e d .N e H E L P f i l e s i C B M C O M D L 2 . W a n s w e r l o o q u e s t i o n si t h m e s s a g e b a s e s o t h t w f o r u m s . O f t e n t h q u e s t i o n s a r er e p e a t e d e v e r y w e e k , a n w e n t e r a n e a n s w e r e a c h t i m e .S o m e t i m e s t h m o s t r e c e n t a n s w e r c o n t a i n s d e t a i l s n o i c l u d e d i t h p r e v i o u s o n e , a n v i c e v e r s a . I w o u l d b e b e t t e r ,t h e r e f o r e , t o c o l l e c t a l t h d e t a i l s f o t h c o m m o n q u e s t i o n sa n c o m p i l e t h e m i n t o c o m p r e h e n s i v e , a l l - i n c l u s i v e H e l p f i l e s .F u r t h e r , m e m b e r s c o u l d r e a d t h i s o n l i n e , o r c a p t u r e a n r e a d i o f f l i n e . T h o b j e c t i v e w o u l d b t m a k e e n o u g h H e l p f i l e s t e l i m i n a t e t h b a s i c q u e s t i o n s , s a v i n g t h m e m b e r s t i m e ,m o n e y , a n s a n i t y .T r a n s a c t o r P r o g r a m s t C B M P R G D 1 a n 1 7 Y e s , w e ' r el i t t l e b e h i n d o t h i s t o o , b u w e ' r e w o r k i n g o i t O n c e a g a i n ,t h a r t i c l e s t h a t g i n t o t h e D i s p l a y A r e a w i l l o f t e n r e f e r e n c ep r o g r a m s i t h e T r a n s a c t o r D L W w a n t t h e m a l i t h e r e s w k n o w f o s u r e w h a t t h f i l e n a m e w i l l b e T h D i s p l a y A r e a . W h e n t h i s o p e n s i w i l l c o n t a i n y e a r s 'w o r t h o f t e x t t o t a l l i n g a r o u n d m e o c h a r a c t e r s . W w a n t t b s u r e t h a t t h t e x t w p u t o n l i n e i e x a c t l y t h s a m e a w h a t

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 19: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 19/84

w a p r i n t e d , b u w i t h t h m i s t a k e s f i x e d , o c o u r s e . T o d o t h i s ,w e ' r e " r e v e r s e t y p e s e t t i n g " t h e a r t i c l e s . O v e r t h y e a r s , e v e r ya r t i c l e f r o m e v e r y i s s u e h a b e e n s t o r e d o t y p e s e t t e r 8 f l o p p i e s . S i n c e m o s t o w h a t w p u b l i s h i s p e l l c h e c k e d a t h t y p e s h o p , a n t h e n e d i t e d i o n w a o a n o t h e r , w e ' r e u s i n gt h e v e r s i o n o t h t y p e s e t t e r d i s k s a s t h e s o u r c e . T h e n w h a v et t a k e a l t h t y p e s e t t e r c o d e s o u a n t r a n s m i t t h e r a t e x t o u o t h t y p e s e t t e r o n t o d i s k s t h a t c a b r e a d w i t h e q u i p m e n tt h a t c a X m o d e m t r a n s m i t t h t e x t i n t o o u D w o r k a r e a o C o m p u S e r v e . W e ' v e d o n e a b o u t h a l f s f a a n a r e p i c k i n g u s p e e d a w g o

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

C o m m o n S e n s e F u n c t i o n K e y s

I s e e m s t h a t d e f i n i n g t h f u n c t i o n k e y s f r o m w i t h i n t h e C o m m o nS e n s e t e r m i n a l p r o g r a m i n o t a s o b v i o u s a m o s t w o u l d l i k e . H i C a n f o l l o w e d b t h f u n c t i o n k e y y o u w i s h t a l t e r . F r o mt h e r e y o m a e n t e r u t 8 c h a r a c t e r s i n c l u d i n g " S h i f t @ t t e r m i n a t e t h e l i n e .

T h d e f a u l t d e f i n i t i o n s a r s a v e d i f i l e c a l l e d M A C . B O O T . T h i sf i l e i s l o a d e d w h e n t h p r o g r a m i f i r s t R U N . T s a v e t h n e d e f i n i t i o n s , r e n a m e t h f i l e " M A C . B O O T " a n u s C t s a v et h n e k e y s i n e f i l e w i t h t h s a m e n a m e .

+ M i n u s M i n u s M i n u s

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

i l s u s p e n d o n l i n e a c t i v i t y w h i l e p e r f o r m i n g s o m e o t h e r t a s k .T h e o r e t i c a l l y t h e c a r r i e r s i g n a l i s n ' t l o s t , b u w a l k n o w t h a t i s n ' tt r u e w i t h s o m e " H a y e s c o m p a t i b l e s " . H o w e v e r , r e a l H a y e s c o r n -p a t s a l l o w t h e u s e r t c h a n g e t h e c h a r a c t e r f r o m " t v i r t u a l l ya n o t h e r . A T S 2 6 w i l l , f o e x a m p l e , c h a n g e i t t h s y m b o l .

W h w o u l d y o u w a n t t d t h i s ? T r u t h f u l l y , d o n ' t r e a l l y k n o w .B u H a y e s m u s t h a v e i n c l u d e d i f o r e a s o n . I n i t i a l l y t h o u g h t i m i g h t b p o s s i b l e t b r i n g d o w n B B b m a k i n g i s e n d y o ub a c k t h r e e p l u s s i g n s f o l l o w e d b p a u s e . B u m o s t B B p r o g r a m sr e s e t a f t e r l o s t c a r r i e r o t i m e l i m i t . A n o t h e r i d e a s ?

R S 2 3 2 I n t e r f a c e s

T h R S 2 3 2 i n t e r f a c e p r o j e c t w p u b l i s h e d t w i s s u e s a g i n o w o r k i n g g r e a t f o e v e r y o n e w h b u i l t i ( a t l e a s t , e v e r o n e w e ' v et a l k e d t a b o u t i t ) . A b o u t t h b i g g e s t p r o b l e m w a t h e n o t e o t h s c h e m a t i c a b o u t g r o u n d i n g a l u n u s e d p i n s . T h a t r e a l l y s h o u l dh a v e s a i d ( a t h a r t i c l e t e x t d i d ) " a l l u n u s e d i n p u t s " i e t h u n u s e d p i n s t h a t w e r e " i n p u t p i n s " s h o u l d h a v e b e e n g r o u n d e d . .

t h e o t h e r s l e f t a N / C . H o w e v e r , a r e p o r t e d i t h i s i s s u e ' s B l o o p ss e c t i o n , i t ' s b e s t t l e a v e a l t h u n u s e d p i n s N / C .

H o w e v e r , f o s o m e , t h e r e ' s a e v e n b i g g e r p r o b l e m : N / N T i m e ! r e m e m b e r t i m e w h e n w o u l d b u i l d e v e r y T T g i z m oc o u l d f i n d s c h e m a t i c f o r . N o b a r e l y h a v e t i m e t p l u g i s o l d e r i n g i r o n . S o u n d f a m i l i a r ?

O m n i t r o n i x D e l u x e R S 2 3 2 I n t e r f a c e $ 4 9 . 9 5 ( 2 0 6 ) 6 2 4 - 4 9 8 5J a m e c o E l e c t r o n i c s J E 2 3 2 C M $ 3 9 . 9 5 ( 4 1 5 ) 5 9 2 - 8 0 9 7A p r o t e k U n i v e r s a l R S 2 3 2 $ 3 9 . 9 5 ( 8 0 0 ) 9 6 2 - 5 8 0 0 o ( 8 0 5 ) 9 8 7 -2 4 5 4

W h i c h o n i b e s t ? P e r h a p s s o m e o n e w o u l d l i k e t p u t o g e t h e rp o i n t - b y - p o i n t c o m p a r i s o n a n s e n d i i n T h w r i t e - u p c o u l d e v e ni n c l u d e o u d o - i t - y o u r s e l f e r b M a r k F a r r i s .

P l u s T e r m i n a l W i t h X m o d e m

H i g g y t e r m ( w r i t t e n b m g o o d f r i e n d P a u l H i g g i n b o t t o m ) i p r o b a b l y t h m o s t c o m m o n t e r m i n a l p r o g r a m a m o n g P l u so w n e r s . B u y o l e f t o u X m o d e m , P a u l !

P / T E R M i o n s o l u t i o n . C o n t a c t D e n n i s L a r s o n , 1 1 9 8 2 X e o nS t r e e t N W , C o o n R a p i d s , M N 5 5 4 3 3 . H i C o m p u S e r v e a c c o u n tn u m b e r i 7 5 5 5 5 , 7 0 5 .

1 6 5 0 R i n g D e t e c t a n A n s w e r i B A S I C

G a r y F a r m a n e r o O a k v i l l e , O n t a r i o , h a t h i s f o r a n y o n e w r i t i n gs o f t w a r e t s u p p o r t 1 6 5 0 o o t h e r u n o n a u t o - a n s w e r " m o d e m s .

1 6 5 0 i s n ' t r e a l l y a " a u t o - a n s w e r " m o d e m . A l f u n c t i o n s a r h a n d l e d i s o f t w a r e .

Y o h a v e t m o n i t o r l i n e i n $ D D 0 1 ( 5 6 5 7 7 ) t s e w h e t h e r r i n gc o n d i t i o n i p r e s e n t . I f b i t i l o ( 0 ) r i n g i i p r o g r e s s . T h e np u t h m o d e m o n l i n e b s e t t i n g b i o 5 6 5 7 7 h i g h a n c h e c k f o

c a r r i e r v i b i 4

1 r e 5 6 5 7 72 o p e n 2 , 2 , 0 , c h r $ ( 6 ) : p o k e 5 6 5 7 9 , 3 8 : p o k e r e g , p e e k ( r e g )a n d 2 2 3

1 0 0 0 r e m w a i t f o r i n g1 0 1 0 i p e e k ( r e g ) a n t h e n 1 0 1 01 0 2 0 r e r i n g i p r o g r e s s , a n s w e r i t 1 0 3 0 p o k e r e g , p e e k ( r e g ) o 3 1 0 4 0 r e m c h e c k f o c a r r i e r1 0 5 0 f o t 1 0 0 0 01 0 6 0 i p e e k ( r e g ) a n 1 t h e n 1 1 2 01 0 7 0 n e x t1 0 8 0 r e m t i m e o u t o c a r r i e r d e t e c t1 0 9 0 p o k e r e g , p e e k ( r e g ) a n 2 2 3 : g o t o i 0 1 0 ,1 1 0 0 r e s t a r t b b 1 1 1 0 r e c l e a n u f o r / n e x t l o o p a n d r o p i n t o b b 1 1 2 0 1 0 0 0 0 : n e x t

H e r e ' s w h a t ' s h a p p e n i n g :L i n e 1 0 o p e n s t h R S 2 3 2 c h a n n e l a n s e t s u t h p o r tL i n e 1 0 1 0 w a i t s f o b i o r e t g l o L i n e 1 0 3 0 f o r c e s t h 1 6 5 0 o n l i n eL i n e 1 0 5 0 - 1 0 7 0 i c o u n t d o w n c a r r i e r d e t e c tL i n e 1 0 9 0 r e - s t a r t s t h r i n g d e t e c t i n c a r r i e r w i t h i n 1 0 0 0 0

c h e c k s . I t h e r e i c a r r i e r , t h e l o o p e x i t s p r e m a t u r e l yt o . . .

L i n e 1 1 2 0 c l e a n s u t h l o o p a n s t a r t s t h p r o g r a m . B T h e T r c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 20: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 20/84

F a s t S t r i n g S e a r c hW i t h B i n a r y T r e e s

H e r b R o s eD a l e C i t y , V

. . " d i v i d e - a n d - c o n q u e r " a p p r o a c h t h a n d l i n g l i s t o d a t a i t e m s . . .

H e r b R o s e i a E n g i n e e r i n g M a n a g e r a C O N T E L A S C . a r e a s ,a n i t h a u t h o r o t h I N F O * S H A R E m u l t i - u s e r b u l l e t i n b o a r ds y s t e m , A R C 6 4 f i l e a r c h i v a l p r o g r a m f o r t h e C - 6 4 , a n M A C R O -6 4 m a c r o a s s e m b l e r f o r t h e C o m m o d o r e 6 4

O r g a n i z i n g Y o u r D a t a .

T h f i r s t s t e p i w r i t i n g p r o g r a m i u s u a l l y t l i s t t h d a t a i t e m st h p r o g r a m w i l l m a n i p u l a t e , a n t o r g a n i z e t h e m i n t o s u i t a b l ed a t a s t r u c t u r e s . R e l a t e d i t e m s a r g r o u p e d i n t o R E C O R D S , s o r tk e y s a r i d e n t i f i e d s t h a t i n d i v i d u a l r e c o r d s a r e e a s i l y f o u n d ,a n o t h e r d e c i s i o n s a r e m a d e c o n c e r n i n g t h e o r g a n i z a t i o n o t h d a t a . T h c o m p l e x i t y o t h p r o g r a m i o f t e n d e t e r m i n e d b t h o r g a n i z a t i o n o t h e d a t a w h i c h i m u s t m a n i p u l a t e . I i n s u r p r i s e t h a t p r o g r a m m e r s s p e n d g r e a t d e a l o t i m e l e a r n i n gh o t c r e a t e a n u s d a t a s t r u c t u r e s . K n o w l e d g e o d a t ao r g a n i z a t i o n t e c h n i q u e s c a t u r n m o n s t r o u s p r o g r a m m i n g j o i n t o r e a l s n a p .

T h i s i s h o r t t u t o r i a l o n o n e o t h m o s t u s e f u l a n e l e g a n t d a t as t r u c t u r e s u s e d b p r o g r a m m e r s , t h B i n a r y T r e e . T h i s a r t i c l ew i l l e x p l a i n w h a t b i n a r y t r e e s a r e , h o t u s t h e m , a n w i l lp r e s e n t a B A S I C p r o g r a m w h i c h c r e a t e s a n m a n i p u l a t e s ab i n a r y t r e e w h i c h r e p r e s e n t s s t r i n g a r r a y .

W h a t A r B i n a r y T r e e s

b i n a r y t r e e i s i m p l y m e t h o d o o r g a n i z i n g d a t a i t e m s w i t h i ny o u r p r o g r a m , i t h s a m e w a t h a t s o r t i n g i w a t o r g a n i z ed a t a i t e m s w i t h i n y o u r p r o g r a m . b i n a r y t r e e a l l o w s y o t o r g a n i z e y o u r d a t a , i n s e r t a n d e l e t e i t e m s , a n s e a r c h t h l i s tw i t h o u t m o v i n g a n d a t a w i t h i n t h l i s t . b i n a r y t r e e c o n s i s t s o N O D E S , w h i c h c o n t a i n t h e d a t a i t s e l f , a n f r o m e a c h n o d e t h e r ea r B R A N C H E S . E a c h b r a n c h i a c t u a l l y p o i n t e r t a n o t h e rn o d e . W h e n r u l e f o b r a n c h i n g i a p p l i e d t t h t r e e , i b e c o m e s a e f f i c i e n t d a t a s o r t i n g / s e a r c h i n g t o o l . T h r u l e s w w i l l b u s i n g f o o u b i n a r y t r e e s a r q u i t e s i m p l e :

1 D u p l i c a t e n o d e s m a e x i s t .2 E a c h n o d e h a 2 b r a n c h e s , w h i c h w w i l l c a l l l e f t a n r i g h t .3 W w i l l u s t h l e f t b r a n c h t g t a l o w e r o e q u a l v a l u e4 W w i l l u s t h r i g h t b r a n c h t g t h i g h e r v a l u e .

W n o h a v e t h b a s i s f o " d i v i d e - a n d : c o n q u e r " a p p r o a c h t h a n d l i n g l i s t o d a t a i t e m s . A w t r a v e r s e t h b i n a r y t r e es e a r c h i n g f o p a r t i c u l a r d a t a i t e m , e a c h b r a n c h w t a k e b r i n g s

u c l o s e r t t h e d a t a w s e e k . T h p r o c e s s i s i m i l a r t u s i n g ab i n a r y s e a r c h w i t h a s o r t e d l i s t . H e r e i s a m p l e b i n a r y t r e ew h i c h h o l d s t h l e t t e r s t h r o u g h H N o t e t h a t i s o m e c a s e so n l y o n b r a n c h i u s e d . I n a c t u a l p r a c t i c e , e a c h n o d e h a b r a n c h e s , w i t h u n n e e d e d b r a n c h e s m a r k e d i s o m e w a ( u s ua l l y p o i n t e r v a l u e o 0 ) T h n o d e c o n t a i n i n g ' E h a a r b i t r a r i l yb e e n c h o s e n a s t h e f i r s t n o d e i t h t r e e ( t h e B A S E ) . A l a c c e s s t t h t r e e w i l l s t a r t a t E

L e t ' s d e f i n e s o m e t e r m s , u s i n g e x a m p l e s . n o d e i s i m p l y t r e ee n t r y w h i c h c o n t a i n s v a l u e . E a c h l e t t e r e n t r y i t h t r e e a b o v er e p r e s e n t s a n o d e . N o d e ' E i t h b a s e o t h t r e e . I h a n p a r e n t n o d e , b u t i d o e s h a v e b r a n c h e s ( ' B ' a n * G ' ) . ' B i ' A ' sp a r e n t n o d e . I i a l s o ' D ' s p a r e n t n o d e . ' A i t h l e f t b r a n c h f r o mn o d e ' B ' D i t h r i g h t b r a n c h f r o m n o d e * B

R e m e m b e r t h a t t h p i c t u r e a b o v e i s i m p l y t h g r a p h i c r e p r e s e nt a t i o n o f t h b i n a r y t r e e . T h d a t a i t e m s a r u s u a l l y s t o r e d o n o m o r e a r r a y s a n t h b r a n c h e s a r e k e p t a i n t e g e r p o i n t e r s t t h n e x t a r r a y e n t r y ( t h e i n d e x o t h e n t r y i u s u a l l y k e p t , a l t h o u g hi a s s e m b l y l a n g u a g e t h a c t u a l A D D R E S S o t h n e x t e n t r y i s o m e t i m e s k e p t a s t h e p o i n t e r .

T s e u a b i n a r y t r e e , y o u w o u l d u s e a p r o g r a m s e c t i o n s i m i l a rt o n o t h e s e ( d a t a c o n s i s t s o o n s t r i n g i t e m a n d o n e i n t e g e ri t e m i . e . N a m e a n A G E ) .

I B A S I C :

1 0 d i a $ ( 5 0 0 ) , b ( 5 0 0 ) : r e t h o l d d a t a. 1 1 0 d i l ° / o ( 5 O O ) , r % ( 5 O O ) : r e l e f t a n r i g h t b r a n c h e s

I n C :s t r u c t t r e e

c h a r m y d a t a f d a t a s i z e ] ;i n m o r e d a t a ;i n t l e f t p t r ;i n r i g t h p t r ;

b i n t r e e [ 5 0 0 ] ;1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e 0

Page 21: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 21/84

S e a r c h i n g t h T r e e .

A s t a t e d a b o v e , s e a r c h i n g b i n a r y t r e e i s i m i l a r t a p p l y i n g ab i n a r y s e a r c h t a o r d e r e d l i s t . I o r d e r t o f i n d a n e n t r y i t h t r e e , w s i m p l y s t a r t a t t h b a s e o t h t r e e , a n d c o m p a r e f o v a l u e t h a t i e q u a l t o l e s s t h a n , o r g r e a t e r t h a n t h v a l u e w a r s e a r c h i n g f o r . I t h v a l u e a t h a t l e v e l o f t h t r e e i e q u a l t o u s e a r c h v a l u e , w a r f i n i s h e d . I i i l e s s t h a n o u s e a r c h v a l u e ,t r t h v a l u e o t h r i g h t b r a n c h , e l s e t r y t h v a l u e o t h l e f tb r a n c h . T h i s i b e c a u s e o u r u l e s t a t e s t h a t w g t t h l e f t t f i n d a l o w e r v a l u e , a n t t h r i g h t t o f i n d a h i g h e r v a l u e . F o e x a m p l e : w w i s h t o f i n d t h v a l u e ' o t h t r e e . S t a r t i n g a t h b a s e , w f i n d t h v a l u e ' E ' i l e s s t h a n ' E ' , s f o l l o w t h l e f tb r a n c h . I c o n t a i n s t h e v a l u e ' B ' . * i g r e a t e r t h a n 4 B s u s t h r i g h t b r a n c h . I c o n t a i n s t h e v a l u e ' D ' . ' i l e s s t h a n ' D ' , s o u s et h l e f t b r a n c h . T h e r e w f i n d * C \ o u s e a r c h s t r i n g , c o m p l e t i n gt h s e a r c h . W p e r f o r m e d c o m p a r e s t f i n d r a n d o m e l e m e n ti a e n t r y l i s t , n o b a p e r f o r m a n c e . N o u s t h a t m e t h o dt f i n d * G W o n l y u s e c o m p a r e s t f i n d t h e l e m e n t t h i s t i m e .T h a t i v e r y g o o d i n d i c a t i o n o t h s e a r c h s p e e d o b i n a r yt r e e s .

I n s e r t i n g T r e e E n t r i e s .

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

B A S I C P r o g r a m m i n g E x a m p l e s .

H e r e a r s e v e r a l r o u t i n e s w h i c h d e m o n s t r a t e t h t e c h n i q u e s o s e a r c h i n g , i n s e r t i n g e n t r i e s i n t o , a n d e l e t i n g e n t r i e s f r o mb i n a r y t r e e s . T h e s e p r o g r a m m i n g e x a m p l e s u s a b i n a r y t r e e t a c c e s s d a t a i s t r i n g a r r a y n a m e d A $ N u m b e r a r r a y s a r e u s e dt k e e p t r a c k o t h l e f t a n r i g h t b r a n c h p o i n t e r s f o e a c h n o d e .F i r s t i a i n s e r t i o n r o u t i n e , w h i c h i u s e d t a d d a n e n t r y t t h b i n a r y t r e e . T h i s r o u t i n e d o e s n o a d d a n e n t r y t t h s t r i n ga r r a y ; t h a t m u s t b d o n e p r i o r t c a l l i n g t h i s r o u t i n e . W h a t t h i sr o u t i n e d o e s i i n s e r t t h a r r a y e n t r y A $ ( S ) i n t o t h e b i n a r y t r e ew h i c h d e s c r i b e s a r r a y A $ L a n d a r e t h e l e f t a n r i g h t p o i n t e ra r r a y s . T h v a r i a b l e i l o a d e d p r i o r t c a l l i n g t h i s s u b r o u t i n e ,a n m u s t c o n t a i n t h e i n d e x o t h e a r r a y e l e m e n t b e i n g a d d e d t t h t r e e . T h e s s e n c e o t h i s r o u t i n e , a w i t h a l r o u t i n e s w h i c hd e a l w i t h a b i n a r y t r e e , i t h a t w j u s t k e e p g o i n g d o w n t h t r e e ;u s i n g t h b r a n c h i n g r u l e s d e s c r i b e d a b o v e , u n t i l w f i n d w h a tw a r e l o o k i n g f o r . I t h i s c a s e , w a r e l o o k i n g f o a e m p t yb r a n c h . W h e n w f i n d i t w w i l l l i n k t h i s a r r a y e n t r y i n t o t h t r e e b p l a c i n g i n t o t h e m p t y b r a n c h p o i n t e r .

1 0 0 0 0 r e i t h c u r . n o d e , s t a r t a b a s e1 0 1 0 i a $ ( s ) > a $ ( k ) t h e n 1 0 5 01 0 2 0 i l ( k ) < > 0 t h e n I ( k ) : g o t o 1 0 1 01 0 3 0 r e * t h i s p o s i t i o n e m p t y , i n s e r t h e r e * 1 0 4 0 l ( k ) s r e t u r n

1 0 5 0 i r ( k ) < > 0 t h e n r ( k ) : g o t o 1 0 1 01 0 6 0 r ( k ) s r e t u r nT b u i l d t h t r e e f r o m s c r a t c h g i v e n s o m e n u m b e r o r e c o r d sa l r e a d y i t h a r r a y s , u s t h i s s h o r t r o u t i n e :2 7 r e d n o i n s e r t a $ ( 0 ) , w w i l l u s i a t h 2 7 r e m b a s e o t h t r e e .2 7 r e t h e n e x t l i n e i n t i a l i z e s a n t 2 7 f o t 5 0 0 0 : l ( s ) 0 r ( s ) 0 n e x t2 7 r e n o a d e a c h p o p u l a t e d a r r a y e l e m e n t t t h t r e e2 8 f o t 5 0 0 0 : i a $ ( s ) O n " t h e n g o s u b 1 0 0 02 9 n e x t

N e x t i t h e s e a r c h r o u t i n e , w h i c h s e a r c h e s A f o a e n t r y w h i c hm a t c h e s T $ I o n i f o u n d , i t i n d e x i r e t u r n e d i S e l s e - i r e t u r n e d i S

2 0 0 5 - 1 r e i n i t i a l i z e t s h o w e r r o r r e t u r n2 0 1 0 r e i n i t i a l i z e k e t b a s e o f t r e e2 0 2 0 i a $ ( k ) = t $ t h e n k r e t u r n2 0 3 0 i f t $ > a $ ( k ) t h e n 2 1 0 02 0 4 0 i l ( k ) t h e n r e t u r n2 0 5 0 l ( k ) : g o t o 2 0 2 02 1 0 0 i r ( k ) t h e n r e t u r n2 1 1 0 r ( k ) : g o t o 2 0 2 0

T h i s r o u t i n e i v e r y s i m i l a r i f u n c t i o n t t h i n s e r t i o n r o u t i n ed e s c r i b e d a b o v e . N o t e t h a t i n l i n e s 2 0 4 0 a n 2 1 0 0 , i t h b r a n c hw w i s h t t a k e i e m p t y , w r e t u r n - i S i n d i c a t i n g t t h c a l l e r t h a t T i n o i t h t r e e . I l i n e 2 0 2 0 w s e e q u a l t t h c u r r e n t n o d e i n d e x a n r e t u r n , i d e n t i f y i n g t h e a r r a y e n t r y w h i c hm a t c h e s t h s e a r c h s t r i n g b i t ' s i n d e x .

D e l e t i o n o r e c o r d s i q u i t e s i m p l e , b u r e q u i r e s s o m e e x p l a n at i o n . I w w i s h t d e l e t e r e c o r d , w s i m p l y p u i t h a p p r o p r i a t e b r a n c h p o i n t e r L ( o R ( ) ) o i t p a r e n t n o d e ( t h eo n j u s t a b o v e i i t h t r e e ) . T h a t m a r k s t h b r a n c h a " u n u s e d " . T h a s t u t e r e a d e r w i l l n o w o n d e r , " W h a t i t h r e c o r d b e i n g d e l e t e d h a b r a n c h e s ? " . I u s u a l l y d o e s . W h e n w d e l e t e n o d e w h o s e i n d e x i K a n d w h i c h h a b r a n c h e s , w c r e a t e s m a l l e r t r e e s , w h o s e b a s e s a r R ( K ) a n L ( K ) . A l w m u s t d o i i n s e r t t h e s e t r e e s b a c k i n t o t h m a i n t r e e ( c a l l t h i n s e r t r o u t i n e w i t h S = L ( K ) a n w i t h R ( K ) ) . H e r e i t h c o d et p e r f o r m d e l e t i o n .

3 0 0 0 r e i t h i n d e x o t h r e c o r d t d e l e t e3 0 0 1 r e f i r s t , f i n d t h e p a r e n t n o d e3 0 1 0 0 : f o r j t 1 0 0 03 0 2 0 i l ( j ) o r ( j ) t h e n k = j : j 1 0 0 03 0 3 0 n e x t3 0 3 1 r e m n o i t h e i n d e x t d ' p a r e n t n o d e3 0 4 0 i k = t h e n r e t u r n : r e n o f o u n d3 0 5 0 i l ( k ) t h e n l ( k )3 0 6 0 i r ( k ) t h e n r ( k )3 0 6 1 r e m t h e n t r y i n o d e l e t e d f r o m t h t r e e3 0 6 2 r e n o i n s e r t t h b r a n c h e s3 0 7 0 i l ( d ) < > 0 t h e n l ( d ) : g o s u b i n s e r t e d )3 0 8 0 i r ( d ) < > 0 t h e n r ( d ) : g o s u b i n s e r t : r ( d )3 0 9 0 r e t u r n

T h T r a n s a c t o r 1 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 22: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 22/84

T h i s r o u t i n e i r a t h e r i n c o m p l e t e , a n m e s s y . I w i l l n o a l l o w 1 C h o o s e b a s e t h a t i n e a r t h m e d i a n p o i n t o t h a r r a y , t h a ty o t d e l e t e t h b a s e n o d e ( i n d e x 0 ) a n i s e a r c h e s f o t h p a r e n t n o d e s e q u e n t i a l l y i n s t e a d o u s i n g t h t r e e s t r u c t u r e . I d o e s , h o w e v e r , i l l u s t r a t e t h b a s i c p r i n c i p l e o d e l e t i o n .

B i n a r y T r e e s i

a n P a s c a l p r o v i d e m e t h o d o s i m p l i f y i n g b i n a r y t r e em a n i p u l a t i o n . B o t h l a n g u a g e s a l l o w R E C U R S I O N , w h e r e a f u n ct i o n o p r o c e d u r e c a c a l l i t s e l f . A a n e x a m p l e h e r e i t h s e a r c h r o u t i n e w r i t t e n i C u s i n g t h s t r u c t u r e g i v e n a b o v e ,u s i n g " m o r e d a t a " a s t h e s e a r c h k e

s e a r c h ( k e y , c u r n o d e )i n k e y , c u r n o d e ;

i ( k e y b i n t r e e [ c u m o d e ] . m o r e d a t a )r e t u r n k e y ;

i ( k e y b i n t r e e [ c u r n o d e ] . m o r e d a t a )r e t u r n s e a r c h ( k e y , b i n t r e e [ c u r n o d e ] . l e f t p t r ) ;

e l s er e t u r n s e a r c h ( k e y , b i n t r e e [ c u r n o d e ] . r i g h t p t r ) ;

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

O p t i m i z a t i o n

T h e f f i c i e n c y o b i n a r y t r e e c a n b e m e a s u r e d i t e r m s o t h n u m b e r o d a t a c o m p a r i s o n s n e e d e d t o f i n d r a n d o m e l e m e n to t h t r e e . T h i s d e p e n d s o t h n u m b e r o f l e v e l s i n t h t r e e .T h t r e e s s h o w n b e l o w r e p r e s e n t t h s a m e d a t a , b u a r v a s t l yd i f f e r e n t i s h a p e a n d e f f i c i e n c y . T h e r e a r l e v e l s i t r e e # 1 t h e r e f o r e m a x i m u m o c o m p a r i s o n s w o u l d b n e e d e d t f i n da e l e m e n t a t h l o w e s t l e v e l o t r e e # 1 w h i l e o n l y c o m p a r is o n s w o u l d b n e e d e d t f i n d a e l e m e n t a t h e l o w e s t l e v e l o t r e e # 2 .

1 2

B \

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

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

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

2 D n o i n s e r t s o r t e d d a t a i n t o t h t r e e . I n s e r t i n g t h e v a l u e s A B , C , D E a n d F i n t o t r e e ( i t h a t o r d e r ) w i l l p r o d u c eb r a n c h t h a t l o o k s l i k e t r e e # a b o v e ( t r y i t ! ) . I n s e r t i n g D , B E A C a n w i l l r e s u l t i n t r e e # 2

T h D e m o P r o g r a m

T h d e m o n s t r a t i o n p r o g r a m i B A S I C r o u t i n e t h a t d e m o ns t r a t e s t h t e c h n i q u e s f o u s i n g b i n a r y t r e e s , a n d s h o w s y o u t h s p e e d a d v a n t a g e o i n c o r p o r a t i n g b i n a r y t r e e s i n t o p r o g r a m sw h i c h m u s t s e a r c h l i s t s o f d a t a . T h p r o g r a m a s k s f o t h n u m b e r o r a n d o m s t r i n g s t c r e a t e , t h e n i c r e a t e s r a n d o ms t r i n g s a n p l a c e s t h e m i n t o a a r r a y . E a c h a r r a y e n t r y i i n s e r t e d i n t o t h b i n a r y t r e e a i i c r e a t e d . 1 r a n d o m i n d e x e sa r c h o s e n , a n t h e a r r a y i s e a r c h e d s e q u e n t i a l l y f o t h r e c o r d s . 1 m o r e r a n d o m i n d e x e s a r c h o s e n , a n t h s e a r c h i p e r f o r m e d u s i n g t h b i n a r y t r e e . N e x t y o a r a s k e d t e n t e r at e x t s t r i n g f o t h e b i n a r y t r e e s e a r c h t l o o k f o r . T h i s i g o o dd e m o n s t r a t i o n o s p e e d s i n c e t h s t r i n g y o e n t e r w i l l p r o b a b l yn o b f o u n d , s t h s e a r c h r o u t i n e m u s t d e s c e n d a l t h w a t t h b o t t o m l e v e l s o f t h t r e e . A w i t h a l s o r t i n g a l g o r i t h m s , t h ea v e r a g e a m o u n t o t i m e s a v e d s a v e d p e r s e a r c h i d e p e n d e n t o t h n u m b e r o a r r a y e l e m e n t s . I t h a r r a y o n l y h a a b o u t 2 i t e m s i i t t h e b i n a r y t r e e s e a r c h w i l l t a k e j u s t a b o u t a l o n g a t h e s e q u e n t i a l s e a r c h . F o r 1 0 0 0 e n t r i e s , t h b i n a r y t r e e s e a r c h i o v e r 1 0 t i m e s a f a s t .

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

B i n a r y T r e e D e m o n s t r a t i o n P r o g r a m

K D

J A G L M C A F

D O G F F F M C E B

1 0 0 r e m b i n a r y t r e e d e m o p r o g r a m1 1 r e b h e r b r o s e1 2 i n p u f s i z e o f s t r i n g a r r a y " ; 1 3 p r i n t " [ C L R ] b i n a r y t r e e d e m o "1 4 p r i n f ' c r e a t i n g " n r a n d o m s t r i n g s "1 5 0 d i m a a $ ( n ) : d i m l ( n ) : d i m r ( n )1 6 0 s d - t i : a m d ( s d )1 7 0 f o r i 1 t o n1 8 p r i n t i " [ U P ] M : n 1 = i n t ( r n d ( 1 ) * 1 0 ) - f 1 : a $ " 1 9 f o r j 1 t o n 1 : b $ c h r $ ( i n t ( m d ( 1 ) * 2 6 6 5 ) )

: a a b $ : n e x t j2 0 a a $ ( i ) a 2 1 0 l ( i ) 0 : r ( i )2 2 0 i f i > 1 t h e n g o s u b 6 7 02 3 n e x t2 4 p r i n f a r r a y c r e a t e d "2 5 p r i n f s e q u e n t i a l s e a r c h f o r e c o r d s "2 6 a = 2 7 0 f o r j 1 t o 1 02 8 0 n 1 = i n t ( m d ( 1 ) * n )2 9 0 b $ a a $ ( n 1 ) : t 1 = t i

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 23: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 23/84

I P

I J A B P O M

I F L M C E

B D

C F K A O K H K F E

3 0 3 1 0 i f a a $ ( i ) b $ t h e n 3 4 03 2 0 i3 3 g o t o 3 1 3 4 0 t 2 t 3 5 0 s i n t ( ( ( t 2 - t 1 ) / 6 0 ) * 1 0 0 )3 6 0 s s / 1 0 03 7 0 a3 8 p r i n t I t e m # B n 1 " " " s e c o n d s "3 9 n e x t4 0 p r i n t " a v g s e a r c h t i m e " a / 1 04 1 p r i n f b i n a r y t r e e s e a r c h "4 2 4 3 0 f o r j 1 t o 1 04 4 n = i n t ( m d ( 1 ) * n )4 5 0 b $ a a $ ( n 1 ) : t 1 = t i4 6 g o s u b 7 6 4 7 0 t 2 t 4 8 i f t h e n p r i n t " * " ;4 9 i n t ( ( ( t 2 - t 1 ) / 6 0 ) * 1 0 0 ) : s s / 1 0 05 0 0 a5 1 p r i n t " i t e m # n n 1 " " s " s e c o n d s "5 2 n e x t5 3 p r i n t " a v g s e a r c h t i m e " a / 1 05 4 0 b $ " 5 5 i n p u t " s t r i n g t f i n d " ; b $5 6 i f b $ " t h e n e n

D L K E C L

H E H

I F M M G

I G O L C B

C O J A G

G C

5 7 0 t 1 = t i5 8 g o s u b 7 6 5 9 0 t 2 t 6 0 i f = — t h e n p r i n f ' n o t f o u n d " ;6 1 i n t ( ( ( t 2 - t 1 ) / 6 0 ) * 1 0 0 ) : s s / 1 0 06 2 p r i n t " s e a r c h t i m e B s n s e c o n d s "6 3 g o t o 5 4 6 4 0 :6 5 0 r e m t h e b i n a r y t r e e i n s e r t r o u t i n e6 6 0 :6 7 r e b a s e i 6 8 i f a a $ ( i ) > a a $ ( k ) t h e n 7 1 6 9 i l ( k ) < > 0 t h e n I ( k ) : g o t o 6 8 07 0 0 l ( k ) i : r e t u r n7 1 i r ( k ) < > 0 t h e n r ( k ) : g o t o 6 8 07 2 r ( k ) i : r e t u r n7 3 0 :7 4 0 r e m t h e b i n a r y t r e e s e a r c h r o u t i n e7 5 0 :7 6 0 s = - 7 7 7 8 i f a a $ ( k ) b $ t h e n s k r e t u r n7 9 i f b $ > a a $ ( k ) t h e n 8 2 8 0 i f | ( k ) t h e n r e t u r n8 1 0 k l ( k ) : g o t o 7 8 08 2 i f r ( k ) t h e n r e t u r n8 3 0 k r ( k ) : g o t o 7 8 0

U N L E A S H T H E D A T A A C Q U I S I T I O N A N C O N T R O L P O W E R O Y O U R C O M M O D O R E C 6 O C 1 2 8 .

W h a v e t h a n s w e r s t a l y o u r c o n t r o l n e e d s .N E W ! 8 0 - L I N E S I M P L I F I E D

D I G I T A L I / B O A R D

C r e a t e y o u r o w a u t o s t a r t d e d i c a t e dc o n t r o l l e r w i t h o u t r e l y i n g o d i s k d r i v e .

S o c k e t f o s t a n d a r d R O c a r t r i d g e .4 s e p a r a t e b u f f e r e d d i g i t a l o u t p u t l i n e s c a

e a c h d i r e c t l y s w i t c h 5 v o l t s a t 5 0 m A 4 s e p a r a t e d i g i t a l i n p u t l i n e s . ( T T L ) .I / l i n e s c o n t r o l l e d t h r o u g h s i m p l e m e m o r y

m a p p e d p o r t s e a c h a c c e s s e d v i s i n g l es t a t e m e n t i n B a s i c . N i n t e r f a c e c o u l d b e a s i e rt u s e . t o t a l o f t e n 8 - b i t p o r t s .I n c l u d e d M . L . d r i v e r p r o g r a m o p t i o n a l l y c a l l e da s u b r o u t i n e f o f a s t c o n v e n i e n t a c c e s s t i n d i v i d u a l I / l i n e s f r o m B a s i c .

• P l u g s i n t o c o m p u t e r ' s e x p a n s i o n p o r t . F o b o t hC 6 C 1 2 8 . I / c o n n e c t i o n s a r e t h r o u g hp a i r o 5 0 - p i n p r o f e s s i o n a l t y p e s t r i p h e a d e r s .O r d e r M o d e l S S I 0 0 P l u s . O n l y $ 1 1 9 ! S h i p p i n gp a i d U S A . I n c l u d e s e x t e n s i v e d o c u m e n t a t i o na n d p r o g r a m d i s k . E a c h a d d i t i o n a l b o a r d $ 1 0 9 .

W t a k e p r i d e i n o u i n t e r f a c e b o a r d d o c u m e n t a t i o n a n s o f t w a r e s u p p o r t , w h i c h i a v a i l a b l e s e p a r a t e l y f o re x a m i n a t i o n . C r e d i t a g a i n s t f i r s t o r d e r .S S 1 0 0 P l u s , $ 2 0 . 6 4 I F 2 2 A D C 0 8 1 6 , $ 3 0 .

O U O R I G I N A L U L T I M A T EI N T E R F A C E

U n i v e r s a l l y a p p l i c a b l e d u a l 6 5 2 2 V e r s a t i l eI n t e r f a c e A d a p t e r ( V I A ) b o a r d .I n d u s t r i a l c o n t r o l a n m o n i t o r i n g . G r e a t f o

l a b o r a t o r y d a t a a c q u i s i t i o n a n i n s t r u m e n t a t i o na p p l i c a t i o n s .I n t e l l i g e n t l y c o n t r o l a l m o s t a n d e v i c e .P e r f o r m a u t o m a t e d t e s t i n g .E a s y t p r o g r a m y e e x t r e m e l y p o w e r f u l .E a s i l y i n t e r f a c e d t h i g h - p e r f o m a n c e A / a n D / c o n v e r t e r s .F o u r 8 - b i t f u l l y b i d i r e c t i o n a l I / p o r t s e i g h th a n d s h a k e l i n e s . F o u r 1 6 - b i t t i m e r / c o u n t e r s .F u l l I R i n t e r r u p t c a p a b i l i t y . E x p a n d a b l e t f o u r b o a r d s .

O r d e r M o d e l 6 4 I F 2 2 . $ 1 6 9 p o s t p a i d U S A .I n c l u d e s e x t e n s i v e d o c u m e n t a t i o n a n p r o g r a m so d i s k . E a c h a d d i t i o n a l b o a r d $ 1 4 9 . Q u a n t i t yp r i c i n g a v a i l a b l e . F o b o t h C 6 a n C 1 2 8 .A / D C O N V E R S I O N M O D U L E

F a s t . 1 6 - c h a n n e l . 8 - b i t . R e q u i r e s a b o v e . L e a v e s a l V I p o r t s a v a i l a b l e . F o b o t h C 6 a n C 1 2 8 .O r d e r M o d e l 6 4 I F / A D O 0 8 1 6 . O n l y $ 6 9 .

S E R I O U S A B O U TP R O G R A M M I N G ?

S Y M B O L M A S T E R M U L T I - P A S S S Y B O L I C D I S A S S E M B L E R . L e a r n t p r o g r a ml i k e t h e x p e r t s ! A d a p t e x i s t i n g p r o g r a m s t y o u r n e e d s ! D i s a s s e m b l e s a n 6 5 0 2 / 6 5 1 0 /u n d o c / 6 5 C 0 2 / 8 5 0 2 m a c h i n e c o d e p r o g r a mi n t o b e a u t i f u l s o u r c e . O u t p u t s s o u r c e c o d ef i l e s t o d i s k f u l l y c o m p a t i b l e w i t h y o u r M A E ,P A L , C B M , D e v e l o p - 6 4 , L A D S , M e r l i n o P a n t h e r a s s e m b l e r , r e a d y f o r e - a s s e m b l y a n e d i t i n g . I n c l u d e s b o t h C 6 C 1 2 8 n a t i v em o d e v e r s i o n s . 1 0 0 % m a c h i n e c o d e a n e x t r e m e l y f a s t . 6 3 - p a g e m a n u a l . T h o r i g i n a la n b e s t i n o e v e n b e t t e r w i t h V e r s i o n 2 . 1 !A d v a n c e d a n s o p h i s t i c a t e d f e a t u r e s f a r t o n u m e r o u s t d e t a i l h e r e . $ 4 9 . 9 5 p o s t p a i dU S A .C 6 S O U R C E C O D E . M o s t c o m p l e t ea v a i l a b l e r e c o n s t r u c t e d , e x t e n s i v e l y c o m e n t e d a n d c r o s s - r e f e r e n c e d a s s e m b l yl a n g u a g e s o u r c e c o d e f o r B a s i c a n K e r n a lR O M s , a l 1 6 K . I b o o k f o r m , 2 4 2 p a g e s .$ 2 9 . 9 5 p o s t p a i d U S A .P T D - 6 5 1 0 S Y M B O L I C D E B U G G E R f o C 6 4 . A e x t r e m e l y p o w e r f u l t o o l w i t hc a p a b i l i t i e s f a r b e y o n d a m a c h i n e - l a n g u a g em o n i t o r . 1 0 0 - p a g e m a n u a l . E s s e n t i a l f o ra s s e m b l y - l a n g u a g e p r o g r a m m e r s . $ 4 9 . 9 5p o s t p a i d U S A .M A E 6 4 v e r s i o n 5 . 0 . F u l l y p r o f e s s i o n a l6 5 0 2 / 6 5 C 0 2 m a c r o e d i t o r / a s s e m b l e r . 8 0 - p a g em a n u a l . $ 2 9 . 9 5 p o s t p a i d U S A .

A n n R E S S l S C H N E D L E R S Y S T E M S N F \ A i a * * .M E V i A U u n w D e p t . 8 5 , 2 5 E a s t w o o d R o a d , R O . B o 5 9 6 4 * * * ' D f t £ 5 c fa i p r i c e s i u . s . d o l l a r s . A s h e v i l l e , N o r t h C a r o l i n a 2 8 8 1 3 T e l e p h o n e 1 - 7 0 4 - 2 7 4 - 4 6 4 6 * ^

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 24: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 24/84

C o m p u t e r sa n C o p y r i g h t s

T o n y R o m e rE d m o n t o n , A

1 9 8 7 b y T o n y R o m e r

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

P a r t I I n t r o d u c t i o n

T h p u r p o s e o t h i s r e p o r t i t e x p l a i n c o p y r i g h t i n g i C a n a d a a n t h U n i t e d S t a t e s . P a r t g i v e s b a c k g r o u n d o c o p y r i g h t s i g e n e r a l .P a r t I e x p l a i n s h o t c o p y r i g h t y o u r s o f t w a r e . P a r t H e x p l a i n s t h el e g a l a s p e c t s o c o p y r i g h t s . P a r t I e x p l a i n s t h e u s o P u b l i c D o m a i nm a t e r i a l ( m a t e r i a l n o c u r r e n t l y c o p y r i g h t e d ) .

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

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

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

I y o c a u n d e r s t a n d t h i s , t h e n y o c a u n d e r s t a n d t h d i f f e r e n c eb e t w e e n s o f t w a r e a n h a r d w a r e . S o f t w a r e i p u r e l y n o n - p h y s i c a lc o l l e c t i o n o f i n f o r m a t i o n . H a r d w a r e i p h y s i c a l d e v i c e ( c h a i r ,d e s k , p e n ) . M o s t h a r d w a r e h a s n o t h i n g t d w i t h s o f t w a r e , l i k ec h a i r s a n d e s k s . S o m e h a r d w a r e i u s e d t s t o r e o r t r a n s c r i b es o f t w a r e p e n , t y p e w r i t e r , r e c o r d p l a y e r , s h e e t o p a p e r .

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

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

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

N o b a c k t c o p y r i g h t s . O n l y s o f t w a r e c a b c o p y r i g h t e d . I f a c t ,c o p y r i g h t s w e r e c r e a t e d f o e x a c t l y t h a t p u r p o s e . T h a t m a s e e mh a r d t o b e l i e v e , s i n c e c o p y r i g h t s e x i s t e d l o n g b e f o r e c o m p u t e r s . Y o v e r y p r o b a b l y h a v e h e a r d m a n y s t o r i e s ( m o s t l y t r u e , u n f o r t u n a t e l y ) o h o p o o r l y c u r r e n t c o p y r i g h t l a w s p r o t e c t m o d e r n c o m p u t e r s o f tw a r e .

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

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

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

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

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

T h o l d e s t o c o p y r i g h t l a w s p r o t e c t s s o f t w a r e a s d e s i g n e d b t h a r t i s ta n d a n y m e c h a n i c a l r e p r o d u c t i o n t h e r e o f . T h i s p e r t a i n e d t b o t h o t h o n l y t w c o p y r i g h t c o n v e n t i o n s e x i s t i n g t o d a y t h B e r n eC o n v e n t i o n a n t h U C ( U n i v e r s a l C o p y r i g h t C o n v e n t i o n ) .

T h B e r n e C o n v e n t i o n r e m a i n s m u c h t h s a m e t o d a y . T h U C h a b e e n w i d e n e d b r o a d l y , a n e v e n h a m a n y s p e c i a l s e c t i o n s r e f e r r i n g. o n l y t o c o m p u t e r s . B a s i c a l l y , t h B e r n e C o n v e n t i o n i u s e d b t h C o m m o n w e a l t h c o u n t r i e s , l i k e C a n a d a a n d A u s t r a l i a . T h U C i u s e d b t h U n i t e d S t a t e s , G e r m a n y , B e l g i u m . . . . T o g e t h e r t h c o n v e n t i o n s c o v e r v i r t u a l l y e v e r y c o u n t r y i t h e w o r l d .

C a n a d a , a n m a n y c o u n t r i e s , o b s e r v e c o p y r i g h t s u n d e r e i t h e r c o v e n t i o n . H o w e v e r , y o c a o n l y g a i n c o p y r i g h t b t h C a n a d i a nF e d e r a l G o v e r n m e n t u n d e r t h B e r n e c o n v e n t i o n . F e a r n o t , t h o u g hy o c a g a i n c o p y r i g h t s i c o u n t r i e s o w h i c h y o u a r e n o t c i t i z e n ,s u c h a s t h e U u n d e r t h U C C .

W i t h c o m p u t e r s , t h o r i g i n a l c o p y r i g h t l a w s d e f i n i t e l y a l l o w e dp r o g r a m m e r t c o p y r i g h t h i o h e s o u r c e s o f t w a r e a n d o c u m e n t at i o n . I i w i t h o b j e c t c o d e t h a t c o p y r i g h t p r o b l e m s a r i s e . I s e e m sc o u r t s j u s t c o u l d n ' t a g r e e o w h e t h e r t h e o b j e c t c o d e w a m e c h a n ic a r e p r e s e n t a t i o n o t h s o u r c e c o d e ( l i k e t h g r o o v e s o r e c o r d , o

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

T h U f i n a l l y d i s o m e t h i n g a b o u t t h o b j e c t c o d e p r o b l e m t p r o t e c tt h a u t h o r s , a n a r c o n t i n u i n g t u p d a t e t h e i r l a w s . C h a n g e s i C a n a d a ' s c o p y r i g h t l a w s a r i m m i n e n t l y u p c o m i n g . ( J u s t a t h e y w e r e

y e a r a g o , j u s t a t h e y w e r e t w y e a r s a g o , a n j u s t a t h e y w i l l b f i v e y e a r s f r o m n o w . )

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 25: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 25/84

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

F i l m s , a u d i o t a p e s , v i d e o t a p e s , a n p h o n o r e c o r d s a r e n o c o p y -r i g h t a b l e \ R e a d t h a t s e n t e n c e c a r e f u l l y . T h o s e a r a l f o r m s o h a r d w a r e - t h e i r s o f t w a r e c o n t e n t s m a v e r y w e l l b c o p y r i g h t a b l e .I m a s e e m q u i t e o b v i o u s t y o t h a t y o d o n ' t w a n t t c o p y r i g h t a a u d i o t a p e o r a v i d e o t a p e b u r e m e m b e r n e v e r t u s t h o s e w o r d so c o p y r i g h t f o r m . C o p y r i g h t o f f i c e s a r v e r y s e n s i t i v e a b o u t e x a c tw o r d i n g o t h e i r f o r m s . N e v e r u s w o r d s l i k e " i d e a * , ' c o n c e p t ' ,' m e t h o d o l o g y * a n ' f o r m u l a ' o n y o u r c o p y r i g h t f o r m s . U s t h e s e

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

L i k e b o o k s , d o c u m e n t a t i o n c a c o n t a i n a l m o s t a n y t h i n g , a n b c o p y r i g h t e d . S o y o u c a c o p y r i g h t l i s t o f o r m u l a s , o b o o k o r e c i p e s . T h u s n o - o n e c a n e x a c t l y r e p r o d u c e y o u r l i s t o f o r m u l a s , o re v e n p r i n t o n o y o u r r e c i p e s i t h s a m e f o r m , w i t h o u t c o n t r a v e n i n gy o u r c o p y r i g h t . B u t t h e y c a u s e a c h a n e v e r y f o r m u l a o r e c i p e .T h e y c a n e v e n p r o d u c e t h e i r o w l i s t o t h s a m e f o r m u l a s , o r b o o kw i t h t h s a m e r e c i p e s , p r o v i d e d t h f o r m i w h i c h t h e y a r p r e s e n t e di s u f f i c i e n t l y d i f f e r e n t . A s a i d a b o v e , y o u r o n l y r e a l p r o t e c t i o n h e r ei s e c r e c y .

m a s e c a m e r a o n t r i p o d a n t a k e a p h o t o g r a p h o a g o r g e o u sw a t e r f a l l a g a i n s t b e a u t i f u l s u n s e t . I a n a l o n e , h a v e t h r i g h t t d i s t r i b u t e c o p i e s o p h o t o s r e p r o d u c e d f r o m t h e n e g a t i v e s a w h a t e v e rp r i c e c a n b e a g r e e d t o O t h e o t h e r h a n d , y o m a h a v e s e y o u rc a m e r a o t h s a m e t r i p o d r i g h t a f t e r s t e p p e d d o w n , a n d h a v ep h o t o g r a p h e d t h s a m e s c e n e . Y o a l s o h a v e t h s a m e r i g h t s t o y o u rp h o t o g r a p h - n m a t t e r h o s i m i l a r i l o o k s t m i n e . T h s c e n e r y i n o c o p y r i g h t a b l e o n l y t h i m a g e s a c a p t u r e d o f i l m . Y o h a v ey o u r s , a n h a v e m i n e .

c o m p a n y c o m e s u w i t h g r e a t i d e a f o v i d e o g a m e . T h e y d e c i d et c r e a t e n e c a r i c a t u r e t h a t e a t s d o t s a n c h a s e s m o n s t e r s w i t hg r e a t s o u n d e f f e c t s . I c o u l d t u r n o u t t b g o o d i d e a , s o t h e y d e c i d et u s i t T h e g a m e i c r e a t e d a s c o m p u t e r p r o g r a m , a n i c o p y r i g h t e d . Y o s e e t h e g a m e , a n d e c i d e t c r e a t e o n f o r y o u r s e l f .H a v e y o v i o l a t e d c o p y r i g h t l a w ? T h i s d e p e n d s o n t h d e g r e e o s i m i l a r i t y . R e m e m b e r , i d e a s a r e n o t c o p y r i g h t a b l e . T h e r e f o r e a n y o n em a p r o d u c e c o m p u t e r g a m e o d o t - e a t i n g , m o n s t e r - c h a s i n g c h a ra c t e r s . T h m o v i n g p i c t u r e s , s o u n d e f f e c t s , a n c o d e a r c o p y r i g h t -a b l e . I y o h a v e n ' t s e e n t h c o d e t h e n y o a l m o s t c e r t a i n l y c a n n o th a v e v i o l a t e d t h a t c o p y r i g h t . A f o t h r e s t , i m u s t b v e r y m u c ha l i k e t o v i o l a t e t h c o p y r i g h t b e c a u s e , a h a v e s a i d , a n y o n e c a u s t h s a m e i d e a . A l s o r e m e m b e r t h i s a b o u t y o u r o w p r o g r a m sa n y o n e c a u s y o u r i d e a s w i t h o u t v i o l a t i n g y o u r c o p y r i g h t s .

W h a t a b o u t t i t l e s ? T i t l e s a r n o c o p y r i g h t a b l e . C o p y r i g h t o f f i c e sd n o e v e n c h e c k t h e s e . Y o m a y , h o w e v e r , v i o l a t e s o m e o n e ' sr e g i s t e r e d t r a d e m a r k . C o m p a n i e s o f t e n r e g i s t e r t h e i r t i t l e s a s t r a d em a r k s b e c a u s e c o p y r i g h t p r o t e c t i o n i n o a v a i l a b l e . C o p y r i g h t o f f i c e sw i l l n o c h e c k f o t r a d e m a r k s e i t h e r t h a t i y o u r d u t y . C o m m o nw o r d s w i l l n o b r e g i s t e r e d t r a d e m a r k s , l i k e B l o c k a d e , o r B r e a k o u t .T h u s y o m a f i n d v e r y d i f f e r e n t s o f t w a r e p r o g r a m s , f u l l y c o p yr i g h t e d , w i t h t h s a m e n a m e s .

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

C o p y r i g h t s a r n o d e s i g n e d o n l y t p r o t e c t t h r i c h . G o v e r n m e n t sr e a l i z e t h a t m a n y s t r u g g l i n g a r t i s t s a n a u t h o r s c a n n o t a f f o r d h i g hc o p y r i g h t c o s t s . Y o c a c o p y r i g h t y o u r m a t e r i a l f o o n l y $ 1 U i t h S t a t e s o $ 2 C d n . i C a n a d a . Y o c a e v e n c o p y r i g h t c o l l e c t i o n sf o t h s i n g l e c o s t i t h U S A l t e r n a t i v e l y y o c o u l d g e a l a w y e r t c o p y r i g h t y o u r w o r k s f o y o a $ 5 0 0 o m o r e f o e a c h w o r k .

P a r t 2 O b t a i n i n g C o p y r i g h t

Y o c a o b t a i n f o r m a l c o p y r i g h t s u n d e r t h B e r n e c o n v e n t i o n i C a n a d a o u n d e r t h U C i t h S t a t e s b r e q u e s t i n g t h e a p p r o p r i a t ef o r m s f o u n p u b l i s h e d o p u b l i s h e d w o r k s f r o m t h c o r r e s p o n d i n gg o v e r n m e n t s . T h f o r m s w i l l b s e n t t y o f r e e o f c h a r g e .

I C a n a d a , r e q u e s t F o r m f o a u n p u b l i s h e d w o r k , F o r m 1 f o p u b l i s h e d w o r k . I t h S t a t e s , r e q u e s t f o r m T f o c o m p u t e r w o r k se x c l u d i n g a u d i o a n d / o r v i s u a l f e a t u r e s . R e q u e s t f o r m P ( P e r f o r m i n gA r t s ) i y o u r w o r k i n c l u d e s g r a p h i c s a n s o u n d e f f e c t s ( a r c a d e - t y p eg a m e s , f o e x a m p l e ) . R e m e m b e r , y o u d n o h a v e t b c i t i z e n o t h c o u n t r y i w h i c h y o u c h o o s e t o b t a i n c o p y r i g h t ( b u t m e m b e r o a n c o u n t r y o b s e r v i n g a t l e a s t o n o t h t w c o n v e n t i o n s , a l m o s t a n c o u n t r y i t h w o r l d ) .

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

F o r c o p y r i g h t u n d e r t h B e r n e c o n v e n t i o n w r i t e t o

T h C o p y r i g h t O f f i c eC o n s u m e r a n C o r p o r a t e A f f a i r sO t t a w a - H u l l , O n t a r i oC a n a d a K 1 0 C

F o r c o p y r i g h t u n d e r t h U C w r i t e t o

T h C o p y r i g h t O f f i c eL i b r a r y o C o n g r e s sW a s h i n g t o n , D . C .U S 2 0 5 5 9

O p h o n e ( 2 0 2 ) 2 8 7 - 9 1 0 0 a n l e a v e y o u r r e q u e s t o t h a n s w e r i n gm a c h i n e .

C o p y r i g h t s i C a n a d a c o s t $ 2 C d n . f o e a c h w o r k . C o p y r i g h t s i t h S t a t e s c o s t $ 1 U f o e a c h w o r k , o c o l l e c t i o n o w o r k s .

T h f o r m s w i l l e i t h e r h a v e l i n e r e q u e s t i n g t h e n a t u r e o t h w o r k , o t h n a t u r e o t h e a u t h o r s h i p o t h w o r k . I y o a r c o p y r i g h t i n g n o n -a u d i o v i s u a l w o r k ( u t i l i t y p r o g r a m , a o p e r a t i n g s y s t e m , a c o m p i l e ro w o r d - o r i e n t e d g a m e , f o e x a m p l e ) , s i m p l y d e s c r i b e i a a A r t i s t i c a n L i t e r a r y W o r k . I y o u r w o r k i n c l u d e s g r a p h i c s a n s o u n de f f e c t s , d e s c r i b e i a a A r t i s t i c a n L i t e r a r y A u d i o v i s u a l W o r k .A l t e r n a t i v e s , o f c o u r s e : A r t i s t i c a n L i t e r a r y A u d i o W o r k , A r t i s t i c a n L i t e r a r y V i s u a l w o r k . D n o t s a y t h w o r k i a a u d i o v i s u a l w o r k o c a s s e t t e o o f l o p p y d i s k ; l e a v e t h e h a r d w a r e m e d i u m o u o y o u rd e s c r i p t i o n s .

I y o u w o u l d l i k e t o r e g i s t e r y o u r o w t i t l e y o w i l l f i n d i e x p e n s i v e T h e r e i p l a c e t s h o w t h i s a a a n o n y m o u s o p s e u d o n y m o u s( $ 3 0 0 o r m o r e ) . I y o f i n d p u b l i s h e r f o y o u r p r o g r a m , c h a n c e s a r w o r k . I a a n o n y m o u s w o r k , y o w i l l n o s h o w a n n a m e o t h e y w i l l l o o k a f t e r t h o s e d e t a i l s . W h a t y o u w a n t i t c o p y r i g h t i a u t h o r s h i p o d i s t r i b u t i o n s o t h w o r k . P s e u d o n y m o u s w o r k s w i l lf o r m a l l y , s t h a t t h e p u b l i s h e r c a n n o t c l a i m i a t h e i r o w w o r k . ( Y o u s h o w p e n a m e o t h w o r k s - T o n y R o m e r i s u c h n a m e .T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 26: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 26/84

C o p y r i g h t f o r m s a l l o w y o t $ h o w t h e t r u e a u t h o r s h i p o t h w o r k( a u t h o r s h i p i n o t n e c e s s a r i l y o w n e r s h i p ) . I f a c t , i y o a r u s i n gf o r m a l c o p y r i g h t , y o m u s t s h o w t h t r u e a u t h o r s h i p .

Y o m u s t s h o w i t h w o r k w a m a d e f o h i r e . I y o c r e a t e d t h e w o r kw h i l e s a l a r i e d o c o m m i s s i o n e d b y s o m e o n e e l s e t h e n , a w o r km a d e f o h i r e , i v e r y p r o b a b l y b e l o n g s t t h p e r s o n o c o m p a n y t h a tp a i d f o i t V e r y p r o b a b l y b u t n o t n e c e s s a r i l y . U n l e s s a f o r m a la g r e e m e n t s t a t i n g t h e n a t u r e o o w n e r s h i p h a s b e e n m a d e , t h a c t u a lo w n e r s h i p m a n e e d t b s e t t l e d b t h c o u r t s . R e g a r d l e s s , s h o w t h w o r k a w o r k m a d e f o h i r e i y o u h a v e b e e n p a i d t p r o d u c e i t

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

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

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

W o r k s o a u t h o r s h i p d n o h a v e t b f o r m a l l y c o p y r i g h t e d t b p r o t e c t e d . H o w e v e r , f o r m a l c o p y r i g h t s a r e r e q u i r e d u n d e r t h U C b e f o r e l e g a l c a s e c a b i n s t i g a t e d . F o r m a l c o p y r i g h t s a r e t h e b e s tw a t e s t a b l i s h t h e d a t e o t r u e a u t h o r s h i p .

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

T h U C r e q u i r e s t h w o r k t b s h o w n a C o p y r i g h t a s p e c i f i cd a t e , a n d b y s p e c i f i c p a r t y . T h o n l y f o r m a l m e a n s o s h o w i n g t h c o p y r i g h t m a r k a r e : C o p y r i g h t , C o p r . , o r t h e l e t t e r e n c l o s e d w i t h i nf u l l c i r c l e . ( A l s o t h l e t t e r e n c l o s e d i c i r c l e f o a u d i o w o r k s o n l y ) .C o u r t s m a a l s o r e s p e c t o t h e r s y m b o l s , s u c h a ( c a n ( C ) . T h e s e a r s o m e t i m e s f r o w n e d u p o n , s i n c e t h e y h a v e n o b e e n o f f i c i a l l y a d o p t e db t h U C C . T m k n o w l e d g e , h o w e v e r , t h e y h a v e n e v e r b e e nr e j e c t e d i c o p y r i g h t c a s e . T h f o l l o w i n g , t h e n a r a c c e p t a b l e :

C o p y r i g h t 1 9 8 7 b T r a n s a c t o rC o p r . 1 9 8 7 b T r a n s a c t o r P u b l i s h i n g I n c .C o p y r i g h t ( C b T r a n s a c t o r P u b l i s h i n g I n c . 1 9 8 7( 1 9 8 7 b T r a n s a c t o r P u b l i s h i n g I n c .( c ) 1 9 8 7 b y T o n y R o m e r

c o u r t w i l l a l l o w c o p y r i g h t s w i t h o u t t h e o w n e r s h i p a f f i x e d - e v e n i t h w o r k i t o t a l l y a n o n y m o u s ( j u s t " ( 1 9 8 7 " , f o i n s t a n c e ) . H o e v e r , t h o f f i c e s v a s t l y p r e f e r t h a t t h e c o p y r i g h t h o l d e r b e s h o w n .

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

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

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

Y o d n o n e e d t r e - s u b m i t a p r e v i o u s l y c o p y r i g h t e d u n p u b l i s h e dw o r k f o c o p y r i g h t a f t e r i h a b e e n p u b l i s h e d . c o p y r i g h t e x i s t s f o 2 8 5 o 7 y e a r s d e p e n d i n g o t h c o n v e n t i o n c o p y r i g h t e d u n d e r ,a n r e n e w a l a f t e r i n i t i a l c o p y r i g h t .

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

P a r t 3 L e g a l A s p e c t s o C o p y r i g h t s

F o r m a l c o p y r i g h t s h e l p t e s t a b l i s h t h o w n e r s h i p a n d a t e t h a tw o r k h a b e e n c o m p l e t e d . H o w e v e r , t h e y d o n ' t g u a r a n t e e f u l l o w n e rs h i p b t h h o l d e r . T h a t i f o t h c o u r t s t d e c i d e . F o e x a m p l e , J o h nD o m a w r i t e b o o k a n o n y m o u s l y , p e r h a p s e v e n i n c l u d i n g t h ep r o p e r c o p y r i g h t s y m b o l s . L o n g b e f o r e t h e b o o k b e c o m e s p o p u l a r ,J o h n S m i t h a p p l i e s t c o p y r i g h t t h e b o o k , a n s u c c e s s f u l l y , t h o u g hf r a u d u l e n t l y , r e c e i v e s c o p y r i g h t r e g i s t r a t i o n .

I J o h n D o c a p r o v e h i m s e l f t b t h t r u e c r e a t o r o t h w o r k ( n o tm a d e f o h i r e ) t h e n h i i n d e e d t h t r u e c o p y r i g h t h o l d e r . I t h c o u r t ' s v i e w , J o h n S m i t h i f a m o r e l i k e l y t b t h e h o l d e r s i n c e M r S m i t h h a s s u c c e e d e d i o b t a i n i n g c o p y r i g h t o t h w o r k . H o w e v e r ,i J o h n D o c a p r o d u c e c o p y o t h w o r k f r o m s e a l e d b a n k v a u l td a t e d p r i o r t J o h n S m i t h ' s c o p y r i g h t a p p l i c a t i o n , t h j u d g e w i l lp r o b a b l y f i n d h i t b t h c o r r e c t h o l d e r .

h o p e t h i s e x a m p l e i l l u s t r a t e s w h f o r m a l c o p y r i g h t s h o u l d b s o u g h t . J o h n D o w i l l h a v e v e r y d i f f i c u l t t i m e p r o v i n g h i a u t h o rs h i p u n l e s s h e h a s s e a l e d c o p y d a t e d s u c h t h a t i c a b p r o v e d t p r e c e d e s o m e o n e e l s e ' s c o p y r i g h t . B o t h a l l e g e d h o l d e r s m a b a b l et s h o w a n n u m b e r o w i t n e s s e s s u p p o r t i n g t h e i r c l a i m s , s w i n e s s e s w i l l n o s e r v e a s w e l l a s h a v i n g p h y s i c a l p r o o f o o w n e r s h i p .

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

P e o p l e a s s u m e t h a t s o f t w a r e p u b l i s h e d i m a g a z i n e s i f r e e t o c o p y .W r o n g a g a i n . I n f a c t a n w o r k t h a t i p u b l i s h e d i a u t o m a t i c a l l yc o p y r i g h t e d , a n t h m a g a z i n e s e n d s t w c o p i e s o e a c h m a g a z i n ei s s u e t t h a p p r o p r i a t e o f f i c e s f o r f o r m a l r i g h t s . T h e s e c o m p a n i e s a r i t h e b u s i n e s s o f s e l l i n g m a g a z i n e s - t h e y g i v e r i g h t s t o e a c hm a g a z i n e h o l d e r t h a v e o r o b t a i n a c o p y o t h e s o f t w a r e o t h b a s i st h a t t h m a g a z i n e w a p u r c h a s e d .

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

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

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 27: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 27/84

A i m i t a t o r s h o u l d b a w a r e , h o w e v e r , t h a t p o r t i o n s o t h w o r ki m i t a t e d m a v i o l a t e a r t i s t i c c o m p u t e r d e s i g n s , w h i c h a r n o c o p y -r i g h t a b l e w i t h o t h e r m a t e r i a l u n d e r t h P e r f o r m i n g A r t s . C l o s e l yi m i t a t i n g s c r e e n d e s i g n w o u l d b e c o p y r i g h t i n f r i n g e m e n t .

C o m b a t t i n g c o m p u t e r t h e f t h a b e e n d i f f i c u l t a n d e l i c a t e i s s u e .T h e r e h a v e b e e n s o m e s u c c e s s f u l c a s e s , t h o u g h . A p p l e h a w o n u m b e r o c a s e s i A u s t r a l i a p r o t e c t i n g t h e i r R O ( R e a d O n l yM e m o r y ) s o f t w a r e . s o f t w a r e p u b l i s h i n g c o m p a n y s u c c e s s f u l l y s u e d

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

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

( P l e a s e n o t e : S o f t w a r e P r o t e c t i o n i t o t a l l y s e p a r a t e i s s u e f r o mS o f t w a r e C o p y r i g h t s . U n d e r a g o o d p r o t e c t i o n s c h e m e , t h s o f t w a r es h o u l d b f u l l y c o p y a b l e , a n s h o u l d n o t d a m a g e t h u s e r ' s h a r d w a r eo s o f t w a r e i a n w a l e g a l o w n e r o a n s o f t w a r e p r o d u c t h a t h r i g h t t o m a k e b a c k - u p s f o a l o n g a t h o r i g i n a l c o p y p u r c h a s e di o w n e d . T h c o u r t s h a v e m a d e t h i s l e g a l r i g h t o s o f t w a r e o w n e r s t m a k e b a c k - u p s q u i t e c l e a r . )

M u s i c a l c o m p o s i t i o n s a r a l s o c o p y r i g h t a b l e . S i n c e m u c h o t h c o m p u t e r m u s i c s u p p o s e d l y i t h p u b l i c d o m a i n c o n s i s t s o v e r s i o n so c o m p o s i t i o n s a c t u a l l y c r e a t e d b o t h e r a r t i s t s , s u c h m u s i c a l m o s tc e r t a i n l y v i o l a t e s t h e i r r i g h t s i i a m e c h a n i c a l r e p r o d u c t i o n o f t h e i rw o r k .

O n o t e h e r e i s u c c e s s f u l l a w s u i t m a d e o b e h a l f o t h B e a t l e sf e y e a r s a g o . c o m p a n y p u b l i s h e d a c o n c e r t b t h e B e a t l e s o v i d e o t a p e w h i c h , i n d e e d , w a n o t c o p y r i g h t a n b e l o n g e d t t h p u b l i c d o m a i n . H o w e v e r , t h e t a p e i n c l u d e d t h e m u s i c w h i c h w a c o p y r i g h t , a n t h e r e f o r e t h e c o p y r i g h t w a v i o l a t e d . ( I o t h e r w o r d s ,t h e y c o u l d l e g a l l y o n l y h a v e d i s t r i b u t e d t h e t a p e w i t h o u t a n s o u n d . )

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

W h a t d o y o u t h i n k w o u l d h a v e h a p p e n e d t y o u r f a v o u r i t e r o c kb a n d s a n a u t h o r s i e v e r y o n e w a f r e e l y c o p y i n g t h e i r w o r k s ? T h e r ep r o b a b l y w o u l d n o h a v e b e e n m u c h w o r k l e f t t c o p y . W o u l d A r t h u rC C l a r k e h a v e w r i t t e n 2 0 1 0 i h d i d n ' t r e c e i v e a n m o n e y f o 2 0 0 1 ?Y o w i l l h a v e t a s h i m .

P a r t 4 P u b l i c D o m a i n S o f t w a r e

P u b l i c D o m a i n S o f t w a r e i s o f t w a r e f o w h i c h c o p y r i g h t s a r e n o c u r r e n t l y i e f f e c t . I o t h e r w o r d s , P u b l i c D o m a i n m a t e r i a l i m a t e r i a lt h a t y o u c a n c o p y a n d d i s t r i b u t e f r e e l y t o y o u r f r i e n d s .

" N i g h t o t h e L i v i n g D e a d " a n " I t ' s W o n d e r f u l L i f e " a r P u b l i cD o m a i n m o v i e s . C o m p u t e r u s e r c l u b s o f t e n h a v e t h o u s a n d s o P u b l i cD o m a i n g a m e s , u t i l i t i e s , a n o t h e r s o f t w a r e .

M o s t P u b l i c D o m a i n m a t e r i a l i s b e c a u s e t h a t w a t h a u t h o r ' si n t e n t . H o w e v e r , s o m e t i m e s m a t e r i a l i n o t p r o p e r l y p r o t e c t e d a n f a l l s i n t o t h P u b l i c D o m a i n a g a i n s t t h a u t h o r ' s w i s h e s . O n c e a i t e mh a f a l l e n i n t o t h P u b l i c D o m a i n , i i t h e r e t s t a y . H o w e v e r ,c o p y r i g h t e d m a t e r i a l i o f t e n d i s t r i b u t e d w i t h P u b l i c D o m a i n m a t e r i a lb m i s t a k e t h c o p y r i g h t i s t i l l i f o r c e , a n t h d i s t r i b u t o r c o u l d b s u e d f o i t i l l e g a l d i s t r i b u t i o n . T h e r e f o r e P u b l i c D o m a i n d i s t r i b u t o r sg e n e r a l l y t r y t o a v o i d d i s t r i b u t i n g c o p y r i g h t e d m a t e r i a l w i t h o u t p e m i s s i o n t d s o

T h e r e i n o t h i n g w r o n g w i t h s e l l i n g P u b l i c D o m a i n m a t e r i a l f o p r o f i t . S o m e c o m p a n i e s s t r e s s t h a t t h e y a r p r o v i d i n g t h e s o f t w a r ef r e e a n o n l y c h a r g i n g f o t h s e r v i c e . A c t u a l l y t h a t i n o n e c e s s a r y ,a n t h e y c o u l d c h a r g e a n y t h i n g t h e y w a n t e d f o t h e s e r v i c e a n y w a y .A n n o t i c e s r e s t r i c t i n g t h b u y e r f r o m d i s t r i b u t i n g t h e s o f t w a r et h e m s e l v e s i w i t h o u t f o r c e f o r t r u e P u b l i c D o m a i n m a t e r i a l - a n y o n ec a d i s t r i b u t e i t n m a t t e r h o i w a o b t a i n e d .

I i a c t u a l l y t h e c o m p e t i t i o n t h a t k e e p s t h c o s t o P u b l i c D o m a i nm a t e r i a l l o w . Y o s h o u l d e x p e c t , t h o u g h , t a t l e a s t b p a y i n g a s m a l la m o u n t f o t h e q u i p m e n t u s e d i t h c o p y i n g p r o c e s s , t h e t i m e u s e df o t h e c o p y i n g , a n t h e s h i p p i n g a n h a n d l i n g c h a r g e s . S o m e p l a c e sm a h a v e v o l u n t e e r s d o i n g t h e c o p y i n g , b u t i p r o b a b l y w o u l d n o l a s t

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

B e c a u s e a u t h o r s d n o t g a i n a n y m o n e t a r y r e w a r d s f o P u b l i cD o m a i n m a t e r i a l , y o w i l l f i n d m o s t o i r a t h e r s i m p l e s o f t w a r e . Y o w i l l n e e d t s i f t t h r o u g h l o o l o q u a l i t y s o f t w a r e t f i n d t h r e a lg e m s - a n d s o m e o i w i l l b q u i t e g o o d , l i k e t h m o v i e s m e n t i o n e da b o v e . Y o w i l l f i n d l o o i w i t h o u t a n i n s t r u c t i o n s , a n p e r h a p sp l a g u e d w i t h e r r o r s w e l l , w h a t d o y o u e x p e c t f o s u c h l o w c o s ts o f t w a r e ?

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

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

P o s t s c r i p t

A t h t i m e t h a t t h i s a r t i c l e i u n d e r g o i n g f i n a l p r e p a r a t i o n f o p r i n t i n g , e f f o r t s b t h C a n a d i a n g o v e r n m e n t t u p g r a d e o u r c u r r e n tc o p y r i g h t l a w s t b e t t e r p r o t e c t c o m p u t e r s o f t w a r e c o n t i n u e . W h i l ea n y c h a n g e s i t h i s r e g a r d a r w e l c o m e ( a n d o v e r d u e ) , w o u l d - l i k eo n c e a g a i n t e m p h a s i z e t h a t C a n a d i a n s c a n c o p y r i g h t t h e i r m a t e r i a lu n d e r t h U C b s e n d i n g c o p i e s o f t h e i r d o c u m e n t s a n d s o f t w a r e t t h e C o p y r i g h t o f f i c e i W a s h i n g t o n , D C C a n a d a , a n m a n y o t h e rc o u n t r i e s r e c o g n i z e c o p y r i g h t s u n d e r t h U C i a d d i t i o n t c o p yr i g h t s p l a c e d u n d e r t h B e r n e c o n v e n t i o n . I y o c h o o s e n o t f o r m a l l y c o p y r i g h t y o u r m a t e r i a l , y o s h o u l d a t l e a s t p l a c e c o p y r i g h tn o t i c e s o y o u r s o f t w a r e w h e r e i w i l l b c l e a r l y v i s i b l e ( C o p y r i g h t1 9 8 7 b y J o h n D o e , f o e x a m p l e ) .

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 28: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 28/84

M a t r i x M a t h e m a t i c sf o t h C o m m o d o r e 6

D o C u r r i eM a i d s t o n e , O

. S o m e t i m e s t h t h i n g s t h a t w e r e e a s y t l e a r na r o f t e n t h e m o s t t i m e c o n s u m i n g . . .

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

S o m e t i m e s t h t h i n g s t h a t w e r e e a s y t l e a r n a r o f t e n t h e m o s tt i m e c o n s u m i n g , s u c h a m a t r i x m u l t i p l i c a t i o n o r t h e s o l u t i o n t s y s t e m o f l i n e a r e q u a t i o n s . T h a t i w h t h f o l l o w i n g p r o g r a m s w e r ew r i t t e n t a i l o w a p e r s o n t c a l c u l a t e t h a n s w e r s q u i c k e r a n e a s i e rt h a n t r a d i t i o n a l p e n c i l a n p a p e r m e t h o d s .

M a t r i x M u l t i p l i c a t i o n

T h p r o d u c t A * o m a t r i x w i t h ' m r o w s a n ' p c o l u m n s a n dm a t r i x w i t h ' p r o w s a n ' n c o l u m n s i d e f i n e d a w i t h ' m r o w sa n * n c o l u m n s w h e r e c , ( a e l e m e n t i n C , w i t h r e p r e s e n t i n g t h r o w a n d t h c o l u m n o s p e c i f i c e l e m e n t i t h e m a t r i x ) i d e f i n e da s

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

I a n c a s e , m a n p c a n b a n s i z e v a l u e , b u p r a c t i c a l l i m i tf o t h c o m p u t e r i 2 0 I t h m a x i m u m v a l u e s a r u s e d f o m , n a n dp t h m e m o r y u s a g e o t h C o m m o d o r e 6 w o u l d b e 8 4 0 0 b y t e s a

b y t e s p e n u m b e r .

I t h p r o g r a m , l i n e s 1 0 t 3 9 s e r v e t i n p u t t h e n u m b e r o r o w sa n d c o l u m n s o m a t r i x a n B d e r r o r c h e c k i n g o t h v a l u e s ,a n t h e n t h a c t u a l e n t r y o t h e v a l u e s i n t o t h m a t r i x . T h p r o g r a mw i l l a s f o t h v a l u e i s p e c i f i c r o w a n d c o l u m n u s i n g t h a , f o r mf o b o t h m a t r i c e s . L i n e s 4 1 t 6 0 a r e r e s p o n s i b l e f o c a l c u l a t i n gt h m a t r i x p r o d u c t a n p r i n t i n g t h e v a l u e s i t h n e m a t r i x . T h v a l u e s a r e p r i n t e d i c o l u m n s , o n c o l u m n a t i m e s t a r t i n g f r o ml e f t t r i g h t .

S o l v i n g L i n e a r S i m u l t a n e o u s E q u a t i o n s

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

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

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

1 2 4 5

W t h e n t a k e a l t h v a l u e s a n p l a c e t h e m i a r o w s a n c o l u m n s m a t r i x a

a n i n p u t t h v a l u e s w h e n t h c o m p u t e r a s k s f o t h s p e c i f i ce l e m e n t i t h e m a t r i x . T h p r o g r a m w i l l t h e n a s k f o t h e t o l e r a n c et h s y s t e m i t b s o l v e d f o t h i s v a l u e c o n t r o l s t h a c c u r a c y o y o u r a p p r o x i m a t i o n . F o m o s t s i t u a t i o n s , . 0 0 1 i a d e q u a t e . T h n e x tq u e s t i o n i t h n u m b e r o f i t e r a t i o n s y o w i s h t t r t o b t a i n t h es o l u t i o n o t h s y s t e m . T h g r e a t e r t h e n u m b e r o t r i e s , t h m o r ec h a n c e t h e r e i o o b t a i n i n g t h s o l u t i o n t y o u r s p e c i f i e d t o l e r a n c e .

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

T h J a c o b i m e t h o d i g o o d f o a n n u m b e r o e q u a t i o n s , b u t t h el i m i t f o t h i s p r o g r a m i s e a 2 0 I t h p r o g r a m , l i n e s 1 0 0 - 2 4 0 a r e r e s p o n s i b l e f o g e t t i n g t h n u m b e r o e q u a t i o n s a n t h m a t r i x v a l u e s f r o m t h u s e r . L i n e s2 5 0 - 3 6 0 c h e c k t s e t h a t t h m a t r i x w a e n t e r e d w i t h n z e r o s i i t p r i n c i p l e d i a g o n a l . ( T h e p r i n c i p l e d i a g o n a l s t a r t s a t h u p p e r l e f ta n e n d s a t h s e c o n d l a s t c o l u m n a t h b o t t o m o t h m a t r i x . ) I t h m a t r i x d o e s h a v e z e r o i t h p r i n c i p l e d i a g o n a l , t h e p r o g r a mt h e n s e e k s t a r r a n g e t h m a t r i x t h a v e n z e r o s i t h p r i n c i p l ed i a g o n a l . L i n e s 3 7 0 - 3 9 0 g e t h e t o l e r a n c e a n t h n u m b e r o i t e r a t i o n s f r o m t h u s e r . L i n e s 4 0 0 - 4 7 0 a r r a n g e t h e q u a t i o n s s o t h ep r i n c i p l e d i a g o n a l i a l a r g e a p o s s i b l e ( c o n d i t i o n f o t h e J a c o b im e t h o d t w o r k ) . L i n e s 4 8 0 - 7 0 0 p e r f o r m t h a c t u a l i t e r a t i o n w o r k ,a n l i n e 6 6 j u m p s t t h a n s w e r o u t p u t r o u t i n e w h e n t h e t o l e r a n c ei m e t . L i n e 7 0 j u m p s t a e r r o r m e s s a g e w h e n t h s y s t e m d o e sn o c o n v e r g e t y o u r t o l e r a n c e a f t e r t h s t a t e d n u m b e r o t r i e s .

C o n c l u s i o n

M a t r i x m u l t i p l i c a t i o n a n s o l v i n g l i n e a r e q u a t i o n s o c c u r i t h s c i e n c e s a n e n g i n e e r i n g f i e l d s q u i t e o f t e n i a r e a s a s d i v e r s e a ss p e c i a l r e l a t i v i t y t b a s i c e l e c t r i c a l c i r c u i t a n a l y s i s . W h i l e t h p r g r a m s c a b r u w i t h o u t u n d e r s t a n d i n g h o t p e r f o r m t h o p e r a t i o n s b h a n d , e n c o u r a g e t h r e a d e r t l e a r n a b o u t t h e i rm a n y a p p l i c a t i o n s a n t h t h e o r i e s a n s p e c i f i c p r o p e r t i e s b e h i n db o t h o p e r a t i o n s .

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 29: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 29/84

M a t r i x M u l t i p l i e r

B M O C F D I

L B L D F C H

O A G E H G L

C C

I G F H E J

J C F B B G B B J L H 0 H L E G G B H K

G N

1 0 p r i n t " m a t r i x m u l t i p l i c a t i o n ° p r i n t1 1 p r i n f t h i s p r o g r a m f i n d s t h p r o d u c t o f a "1 2 p r i n t " s e o t w m a t r i c e s h a v i n g u t o 1 3 p r i n t " 2 0 * 2 0 d i m e n s i o n s "1 4 p r i n t ° [ D N R V S ] m a t r i x A : 1 5 p r i n f ' h o w m a n y r o w s a n h o w m a n y c o l u m n s ? 1 6 i n p u t " r o w s " ; r 11 7 i n p u t " c o l u m n s D ; c 11 8 p r i n t B [ D N R V S ] m a t r i x B : 1 9 p r i n f ' h o w m a n y r o w s a n h o w m a n y c o l u m n s ? 2 0 i n p u t " r o w s " ; r 22 1 i n p u t " c o l u m n s n ; c 22 2 i r > 2 o > 2 o r 2 > 2 0 o c 2 > 2 0 t h e n

p r i n t " [ R V S ] m a t r i c e s t o l a r g e " : e n d2 3 i c 1 O r 2 t h e n p r i n t B [ R V S ] # o c o l s i n o

e q u a l t o r o w s i B " : e n d2 4 0 r e m2 5 0 d i m a ( r 1 , c 1 )2 6 p r i n t2 7 f o t r 1 f o t 2 8 p r i n f e n t e r m a t r i x v a l u e " ; r ; c ;2 9 i n p u t a ( r , c )3 0 n e x t c , 3 1 0 d i m b ( r 2 , c 2 )3 2 p r i n t3 3 f o t r 2 f o t c 3 4 p r i n t " e n t e r m a t r i x v a l u e B ; r ; c ;3 5 i n p u t b ( r , c )3 6 n e x t c , 3 7 p r i n t3 8 p r i n f t h e r e s u l t i n g m a t r i x w i l l h a v e : "3 9 p r i n t r " r o w s a n d " c 2 " c o l u m n s "4 0 p r i n t4 1 p r i n t - m u l t i p l i c a t i o n b e g i n s "4 2 d i c ( r 1 , c 2 )4 3 0 f o r r t o r i4 4 f o c = t c 2 c 4 5 0 f o r u t o 4 6 c a ( r , u ) * b ( u , c ) c 4 7 n e x t4 8 c ( r , c ) c s n e x t c . r4 9 n e x t5 0 n e x t5 1 0 f o r c t o c 2 : p r i n t5 2 0 f o r r t o r i5 3 0 p r i n t " " ; r ; B > " ; c ; " " c ( r , c )5 4 n e x t5 5 p r i n t : p r i n t " h i t r e t u r n t s e n e x t c o l u m n "5 6 g e a $ : i f a $ O c h r $ ( 1 3 ) t h e n 5 6 5 7 n e x t5 8 i n p u t " r e q u i r e c h e c k v i e w ( y / n ) n [ l e f t s ] " ; a $5 9 0 i f a $ " n ' t h e n e n d6 0 g o t o 5 1

S i m u h a n e a o u s L i n e a r E q u a t i o n S o l v e rB I

M C K C

T h e f t

1 0 p r i n f j a c o b i i t e r a t i o n " : p r i n t1 1 p r i n f t h i s p r o g r a m f i n d s t h s o l u t i o n t o 1 2 p r i n t s y s t e m o e q u a t i o n s h a v i n g u t 1 3 p r i n t " 2 0 v a r i a b l e s w i t h 2 e q u a t i o n s . "1 4 p r i n t : p r i n f h o w m a n y v a r i a b l e s1 5 p r i n t " y o u w i s h t s o l v e f o r " ; : i n p u t

a n s a c t o r 2

G O F M K I

P A P

A B D P F L I I

E C O O O D N A D B N

E A O

I G

K L H F N B M H D

F M I

O E E A M A B

H H A M F D K

1 6 i o t h e n p r i n t " [ R V S ] t o o f e w " : e n d1 7 i v > 2 0 t h e n p r i n t " [ R V S ] t o o m a n y " : e n d1 8 p r i n t " t h e n t h e r e m u s t b e " ; v ; " e q u a t i o n s "1 9 0 d i m m ( v , v 1 2 0 p r i n t2 1 0 f o r r t o v : f o r c t o v + 12 2 p r i n f e n t e r m a t r i x v a l u e " ; r ; c ;2 3 0 i n p u t " " ; m ( r , c )2 4 n e x t c , 2 5 f o k = t o 2 6 0 i f m ( k , k ) 0 t h e n 2 9 02 7 n e x t k2 8 g o t o 3 7 2 9 f o t o 3 0 i m ( j , k ) < > 0 a n m ( k , j ) < > 0 t h e n 3 3 3 1 n e x t3 2 p r i n t : p r i n t " [ R V S ] s o r r y , j a c o b i i t e r a t i o n w i l l n o

w o r k o n t h s y s t e m " : e n d3 3 f o t o 3 4 0 s s m ( j , t ) : m ( k , t ) s 3 5 n e x t3 6 n e x t k p r i n t3 7 p r i n t " t o w h a t t o l e r a n c e d y o w i s h3 8 p r i n f t h e s y s t e m t b e v a l u a t e d t o " ;

: i n p u t " [ 2 s p c s ] . 0 0 1 [ l e f t ] " ; o t3 9 p r i n t " h o w m a n y i t e r a t i o n s " ; : i n p u f [ 2 s p c s ] 1 0 0 0

[ 6 l e f t ] " ; r i4 0 0 f o r j t o v : l o c = j4 1 f o i = t o 4 2 i m ( i j ) > m ( l o c , j ) t h e n l o 4 3 n e x t4 4 f o t o 4 5 m ( l o c , z ) : m ( l o c , z ) m ( j , z ) : m ( j , z )4 6 n e x t4 7 n e x t4 8 0 f o r k t o 4 9 0 s = - m ( k , k ) : m ( k , k )5 0 0 f o r c t o v + 15 1 0 m ( k l c ) m ( k I c ) / s *5 2 n e x t5 3 0 m ( k , v 1 - m ( k , v 1 5 4 n e x t5 5 d i x o ( v ) , n x ( v )5 6 i 5 7 0 f o r l 1 t o v5 8 0 f o r t t o 5 9 0 x s m ( l , t ) * x o ( t ) x 6 0 n e x t6 1 0 n x ( l ) x m ( l , v 1 ) : x s = 06 2 n e x t6 3 0 c s = 0 : f o r j = i t o v6 4 a = a b s ( x o ( j ) - n x ( j ) ) : c s c 6 5 n e x t6 6 0 i f c s / v < o t t h e n 7 3 06 7 f o t o 6 8 0 x o f l ) ( n x ( j ) x o ( j ) ) / 26 9 n e x t7 0 i i t + 1 : i i t r t h e n 5 7 7 1 p r i n t " [ R V S J n o s o l u t i o n a v a i l a b l e7 2 p r i n t " [ R V S J e q u a t i o n s m u s t n o i n t e r s e c t . B : e n d7 3 p r i n t7 4 0 f o r t t o 7 5 0 p r i n f x " ; t ; " " ; n x ( t )7 6 n e x t : e n

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 30: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 30/84

R e a d I n f o c o m T h o m a s W G u r l e yW i l l s P o i n t , T e x a s

B l i n d W a l k T h r o u g h T h e B l a c k F o r e s t

a a l w a y s m o s t c u r i o u s a b o u t t h a t w h i c h i h i d d e n , f o r b i d d e no s e c r e t . O n o t h f i r s t p r o g r a m s b o u g h t f o m C o m m o d o r e6 w a Z o r k I I p a r t o I n f o c o m ' s c e l e b r a t e d o r i g i n a l s e r i e s o f t e x ta d v e n t u r e s . A n o t h e r w a s T h e C l o n e M a c h i n e , p r o g r a m w i t hf e a t u r e s f o e x a m i n i n g r a s e c t o r s o d i s k . S o m e w h e r e b t w e e n t h e t w o , c o n c e i v e d a g o a l t h a t w a t t a k e m d o w np a t h s n e v e r k n e w e x i s t e d : w a n t e d t f i n d o u w h a t w o r d sZ o r k I k n e w .

Q u i t e i n n o c e n t l y ( n e v e r h a y i n g u s e d " r e a l c o m p u t e r " b e f o r e )b e g a n t s e a r c h t h t r a c k s a n s e c t o r s o t h Z o r k I d i s k w i t hT h C l o n e M a c h i n e . T m s u r p r i s e t h e r e w e r e n o s e c r e t w o r d st b f o u n d ! S u d d e n l y i a p p e a r e d t h a t w a s o n q u e s t e q u a l i m a g n i t u d e t t h a t o t h s e a r c h f o t h H o l y G r a i l ! K n o w i n ga b s o l u t e l y n m a c h i n e l a n g u a g e , s t a r t e d r e a d i n g a n s t u d y i n g .

o b t a i n e d a M m o n i t o r a n b e g a n t d i s a s s e m b l e Z o r k I I G r a d u a l l y , a f t e r l i t e r a l l y m o n t h s o r e a d i n g , s t u d y i n g a n d i s a ss e m b l i n g , o v e r a n o v e r a n o v e r , t h i n g s b e g a n t m a k e s e n s e .f o u n d t h e p l a c e w h e r e k e y b o a r d i n p u t o c c u r s ( e v e n t h i s w a n e a r l y m i r a c l e b e c a u s e k n e w n o t h i n g a b o u t t h K e r n a l ) .S l o w l y , t h o u g h , e v e r y t h i n g b e c a m e e a s i e r , a n e v e n t u a l l yd i s c o v e r e d t h e a n s w e r t t h e q u e s t i o n w i t h w h i c h h a b e g u n .

M r e a s o n f o r r e l a t i n g t h i s h i s t o r y i t p e r h a p s i n s p i r e o t h e r s t " d i g i n " . n o f e e l q u i t e c o m f o r t a b l e w i t h a s s e m b l y l a n g u a g e ,a n t r u l y o w a d e b t o g r a t i t u d e t t h e a u t h o r s o Z o r k I I W h a tb e g a n a a s i m p l e c h a l l e n g e t u r n e d o u t b e a n a l m o s t t o t a ll e a r n i n g e x p e r i e n c e . T h c o d e i t h I n f o c o m p r o g r a m s i v e r yw e l l w r i t t e n , a n h a t a u g h t m l o a b o u t p r o g r a m m i n gt e c h n i q u e .

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

I n f o c o m P r o g r a m S t r u c t u r e

M a n y o t h I n f o c o m g a m e s s h a r e a c o m m o n s t r u c t u r e . I n f a c t ,t h f i r s t 8 0 0 0 b y t e s o r s a r i d e n t i c a l e x c e p t f o f e s t r i n g s .T h Z o r k m a c h i n e l a n g u a g e d r i v e r w o r k s f i n e w i t h t h e S o r c e r e rd i s k o r w i t h I n f i d e l .

d n o h a v e a c c e s s t a l o t h I n f o c o m g a m e s , s y o w i l l j u s t

h a v e t t e s t t h i s p r o g r a m f o y o u r s e l f o p a r t i c u l a r g a m e .k n o w i w o r k s w i t h t h Z o r k s e r i e s , I n f i d e l , P l a n e t f a l l , E n c h a n t e ra n S o r c e r e r . I p r o b a b l y w o r k s o m o s t o a l o t h e o t h e r s a w e l l .

w i l l m o s t o f t e n r e f e r t o Z o r k I I b e c a u s e t h a t i t h p r o g r a m w i t hw h i c h a m o s t f a m i l i a r . I i a l o n g p r o g r a m , s w o n ' td e s c r i b e a l i t i n t r i c a c i e s h e r e . A f a a m p r o j e c t i c o n c e r n e d ,t h f i r s t b r e a k c a m e w h i l e w a a c t u a l l y p l a y i n g t h e g a m e .n o t i c e d t h a t w h e n t y p e d w o r d Z o r k k n e w , i r e s p o n d e d w i t hd i s k d r i v e a c t i v i t y o p h r a s e o s o m e s o r t . I e n t e r e d a w o r dZ o r k d i d n o t r e c o g n i z e , i r e s p o n d e d " d n o k n o w t h w o r d' j u n k e t ' " , f o e x a m p l e . T h e r e w a n d e l a y . T h a t m e a n t t h a t a l t h w o r d s m u s t b i m e m o r y a l t h t i m e . B u w h e n s c a n n e dm e m o r y , f o u n d m u c h t h s a m e t h i n g f o u n d o d i s k - n w o r d s .

D i g g i n g y e d e e p e r i n t o t h e c o d e , f o u n d ( t m e c o m p l i c a t e dc h a r a c t e r m a n i p u l a t i o n s u b r o u t i n e . F i r s t , t h i n i t i a l s i c h a r a ct e r s o w o r d i n p u t f r o m t h k e y b o a r d a r r e d u c e d t b i t sa p i e c e , t h e n s t o r e d i a d d r e s s e s $ 5 E - $ 6 3 . T h c h a r a c t e r s a r et h e n s e n t t h r o u g h t h m a n i p u l a t i o n s u b r o u t i n e . T h i s t a k e s t h es e c o n d c h a r a c t e r a n m i x e s i w i t h t h f i r s t , O R t h r e s u l t w i t ht h t h i r d c h a r a c t e r a n s t o r e s t h r e s u l t i t h p o s i t i o n o t h f i r s tc h a r a c t e r . T h s e c o n d c h a r a c t e r i R O L e d w i t h t h f i r s t , p u t t i n ga n c a r r y b i t s i t h l o n y b b l e o t h f i r s t . T h i s m a n i p u l a t i o n o b i t s c o m p l e t e l y o b l i t e r a t e s a l o t h f i r s t t h r e e c h a r a c t e r s . M u c ht h s a m e t h i n g h a p p e n s t t h l a s t t h r e e . R e f e r t t h s o u r c ec o d e o t h r o u t i n e a t h e n o f t h i s a r t i c l e . Y o w i l l n o t i c e t h a to n l y t h l a s t t w c h a r a c t e r s a r e l e f t u n c h a n g e d , b u t h o s e t w a r e n o t u s e d b t h e n e x t s u b r o u t i n e , w h i c h s c a n s m e m o r y f o t h f o u r m i x e d - u p n u m b e r s i t h e p r e v i o u s f o u r b y t e s .

L o c a t i o n O f T h e W o r d sh a v e f o u n d t h r e e d i c t i o n a r i e s i Z o r k I I T h f i r s t b e g i n s a

$ 2 A 4 0 a n i ' q u i c k - s e a r c h ' l i s t o o f t e n - u s e d w o r d s . T h s e c o n d b e g i n s a $ 3 6 1 5 a n d i l i s t o r e s p o n s e s w h i c h Z o r ku s e s t t a l k t y o u . T h e s e w o r d s w i l l n o b r e c o g n i z e d w h e ne n t e r e d f r o m t h k e y b o a r d u n l e s s t h e y a p p e a r a l s o i o n o t h o t h e r d i c t i o n a r i e s . T h t h i r d b e g i n s w i t h t h l e t t e r " a a $ 6 9 2 D .T h i s i t h l i s t o w o r d s Z o r k r e c o g n i z e s a s v a l i d w o r d s f r o m t h k e y b o a r d .

A l e n t r i e s i t h e s e t h r e e d i c t i o n a r i e s a r m a d e o f o u r b y t e sc o r r e s p o n d i n g t t h f o u r m i x e d - u p b y t e s e n c o d e d a d e s c r i b e da b o v e .

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 31: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 31/84

R e c o n s t r u c t i o n l i k e T h S p a g h e t t i S a u c e I t ' s A l I T h e r e

S o . . . t h w o r d s a r i m e m o r y a l t h e t i m e , a n n o w k n o wt h a t o n l y f o u r b y t e s a r e u s e d . t h o u g h t a l w o u l d h a v e t d w a s i m p l y u n R O L a n u n A S L t h o s e f o u r b y t e s t r e v e a l t h o r i g i n a lw o r d . W a e v e r w r o n g ! R e m e m b e r t h o s e l a s t t w c h a r a c t e r s ?T h e y a r v e r y i m p o r t a n t f o a r r i v i n g a t h m i x e d - u p n u m b e r s ,b u t h e y a r n o a v a i l a b l e g o i n g i r e v e r s e . A l y o h a v e f r o m t h d i c t i o n a r y i f o u r o u t - o f - o r d e r , m i x e d - u p b y t e s .

w r o t e B a s i c p r o g r a m t h a t A N D e d a n O R e d a n d i v i d e d a n a d d e d . I w a m o n s t e r t h a t t o o k a b o u t t w e n t y s e c o n d s t u n R O L a n u n A S L a n f o u r b y t e s ( e v e n i t h e y a m o u n t e d t n o n s e n s e ) , a n t h e r e a r e s e v e r a l t h o u s a n d b y t e s i t h t h r e ew o r d - l i s t s . T h i s f i r s t p r o g r a m u s e d f o r - n e x t l o o p s t g e n e r a t et r i a l v a l u e s f o t h o s e m i s s i n g l a s t t w c h a r a c t e r s . S u r p r i s e ! R e a lw o r d s b e g a n t s c r o l l b y T h a t i h o f o u n d " b l a @ k c a n > l e " ,w h i c h i m m e d i a t e l y r e c o g n i z e d a " b l a c k c a n d l e " . B u w a " z i f r S ; " w o r d o j u s t g i b b e r i s h ?

c a m e u w i t h B a s i c e q u i v a l e n t s o A S L , R O L , R O a n e v e nA S R , w h i c h i m i s s i n g f r o m t h 6 5 1 0 o p c o d e s .

B u w a s n ' t l o o k i n g f o c o p p e r g r a i l .

K e e p i m i n d t h a t s e v e r a l m o n t h s h a v e p a s s e d s i n c e t h eb e g i n n i n g o t h i s s t o r y . S e v e r a l m o n t h s o 2 0 - h o u r d a y s w i t h1 4 - 1 6 o t h o s e h o u r s a h o m e w i t h t o o t h p i c k s j a b b e d u n d e r t h e y e l i d s . B n o w , t h e r e w a n t u r n i n g b a c k . O u o s h e e rf r u s t r a t i o n , d i p u a s i d e t h p r o j e c t a n a c t u a l l y p l a y e dE n c h a n t e r . E v e r y t i m e p l a y e d w o n d e r e d w h a t s e c r e t w o r d s i k n e w t h a t d i d n o t k n o w i k n e w .

t o o k o u t t h e l o n g , s l o w B a s i c p r o g r a m o n c e a g a i n , a n u s e d i o E n c h a n t e r . T h a t i h o f o u n d " x y z z y " ( a $ 7 C 7 4 ) a n " a n t h a r i o n " a n " z i f m i a " . o r d e r e d o n o t h " c l u e " b o o k s , b u t h a t o n l y h e l p e d i s o l v i n g t h e g a m e . I d i n o t h i n g f o h e l p i n gm k n o w t h w o r d s .

I M a c h i n e L a n g u a g e T h e A n s w e r ?

S y m a s s h a c o m e o u b t h i s t i m e , a n w a w e l l e n o u g ha c q u a i n t e d w i t h a s s e m b l y l a n g u a g e t w r i t e a s i m p l e p r o g r a m .w r o 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 h a t c r e a t e d a l p o s s i b l ec o m b i n a t i o n s o t h e a l p h a b e t t a k e n s i a t i m e , a n s e n t t h e mf o r w a r d t h r o u g h t h m a n i p u l a t i o n s u b r o u t i n e . I t h e n c o m p a r e dt h r e s u l t w i t h f o u r b y t e s f r o m Z o r k I I ' s w o r d l i s t , a n u p o n n m a t c h c r e a t e d t h e n e x t c o m b i n a t i o n .

P e r f e c t i t h e o r y d i s m a l f a i l u r e i p r a c t i c e . E v e n a t h l i g h t n i n g s p e e d s o M i t o o k o v e r t h i r t y m i n u t e s t g o f r o m" a a a a a a " t " b a a a a a " , a n d o n o n l y t h f i r s t e n t r y i t h d i c t i on a r y . W e l l , l e m t e l l y o a b a n d o n e d t h a t a p p r o a c h a f t e ro n l y t h f i r s t t r y .

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

T h e n , l i k e b l i n d m a n w h o s u d d e n l y s e e s , i d a w n e d o m t h a ta l s i c h a r a c t e r s a r e c o n t a i n e d i t h o s e f o u r b y t e s . I n d e e d , e a c hp a i r o c o n s e c u t i v e b y t e s i t h d i c t i o n a r y c o n t a i n s t h r e e c h a r a ct e r s . F r o m t h m o m e n t r e a l i z e d t h i s u n t i l t h s e c r e t w o r d s w e r es c r o l l i n g b o t h s c r e e n w a l e s s t h a n e i g h t h o u r s .

L o o k i n g B a c k

I r e t r o s p e c t , i i o b v i o u s t h a t t h e a u t h o r s o Z o r k I w e r e n o o n l y " h i d i n g " t h e w o r d s f r o m p r y i n g e y e s , t h e y w e r e c r a m m i n gt h r e e b y t e s i n t o t w o , t h u s a l l o w i n g m o r e w o r d s f o m o r er e a l i s t i c r e s p o n s e . E x p e r i e n c e d p r o g r a m m e r s w i l l p r o b a b l yl a u g h a m n a i v e t e , a n s d I

a c e r t a i n m p r o g r a m c a n b e i m p r o v e d u p o n . R e c o n s t r u c t i o no t h o r i g i n a l w o r d f r o m t h m i x e d - u p f o u r b y t e s f o u n d i t h t h r e e d i c t i o n a r i e s i s t i l l n o p e r f e c t . F o l l o w i n g e a c h v a l i d w o r da r s e v e r a l b y t e s t h a t t h p a r s e r u s e s t d e t e r m i n e t h r e s p o n s en e e d e d f o t h a t w o r d . T h e s e b y t e s p r o d u c e g i b b e r i s h w h e nu n s c r a m b l e d , s o m e t i m e s p r o d u c i n g r e a l - l o o k i n g w o r d s . Y o c a i g n o r e t h e g i b b e r i s h o r f i g u r e o u h o t s k i p o v e r i t T h p a r s e r u s e s s o m e o t h e s e b y t e s a a o f f s e t t o t h n e x t o p r e v i o u s e n t r y . I a d d s o s u b t r a c t s o f f s e t s , s f i n d i n g m a t c h i f a s t .

M p r o g r a m a s k s f o b e g i n n i n g a d d r e s s . R E T U R N w i l l s t a r ty o a $ 2 A 4 0 ( 1 0 8 1 6 d e c i m a l ) . T h i n c r e m e n t f o a l e n t r i e s i 2

o 6 b u t s i n c e y o u d o n o k n o w w h e r e t h w o r d s a r e , a i n c r e m e n t o c a b u s e d . Y o c a e l e c t t o i n c r e m e n t b 2 c h a n g i n g t h a d d r e s s t o d o e v e n a n e e d e d .

T h s h o r t d i c t i o n a r y a $ A 4 i o e v e n n u m b e r e d a d d r e s s e s a a i n t e r v a l o t w o . Y o w i l l i m m e d i a t e l y s e v a l i d w o r d s s c r o l lp a s t f r o m t h i s a d d r e s s .

T h F i n a l P r o g r a m T h H o l y G r a i l ?

O n w o u l d h a r d l y t h i n k t h a t s s h o r t a n s o s i m p l e p r o g r a m i t h r e s u l t o f s m u c h t i m e , e f f o r t a n f r u s t r a t i o n . E v e n n o w , I ' n o c e r t a i n i i f i n i s h e d . P e r h a p s m g r a i l i o n l y g o l d - p l a t e d ,a n w e l c o m e i m p r o v e m e n t s . T h w o r d s s c r o l l p a s t f a s t e r t h a nc a w r i t e t h e m d o w n , s m a c h i n e l a n g u a g e p r o g r a m i s n ' tn e e d e d . S h i f t l o c k w i l l h a l t t h s c r o l l . F a l l o w s c h a n g i n g t h a d d r e s s a n t h i n c r e m e n t .

c o m p l e t e e x p l a n a t i o n o h o t h p r o g r a m w o r k s w o u l d b ep o i n t l e s s a n c o n f u s i n g w i t h o u t a l i s t i n g o t h p a r s e r s o u r c e .g o m i n e w i t h U n - a s s e m b l e r . B r i e f l y , t h o r i g i n a l k e y b o a r di n p u t i c o n v e r t e d t n u m b e r f r o m 6 - 3 2 . R e f e r a g a i n t F i g u r e1 T h l o w e r b i t s a r s h i f t e d t o t h u p p e r n y b b l e ( A S L t i m e s ) .W h e n t h r e s u l t i O R e d w i t h a n o t h e r n u m b e r , t h s e c o n dn u m b e r o c c u p i e s t h l o w e r b i t s . T h u s o n b y t e c o n t a i n s t w c h a r a c t e r s a l m o s t . A c t u a l l y , t h c a r r y b i t s f r o m t h A S a r R O L e d i n t o t h f i r s t c h a r a c t e r . M p r o g r a m t r i e s t a c c o u n t f o t h e c a r r y b i t s a n r e c o n s t r u c t s t h o r i g i n a l s i x c h a r a c t e r s .

T h T r a n s a c t o r 2 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 32: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 32/84

H o T A c t u a l l y S e T h W o r d s

r e s e t s w i t c h i n e c e s s a r y . J u s t f o l l o w t h e s e s t e p s :

1 L o a d a n d r u a n I n f o c o m g a m e .2 A t h f i r s t p r o m p t " > " , h i t h r e s e t .3 L o a d a n r u " r e a d i n f o c o m "4 M e m o r y i l o w e r e d t p r o t e c t t h d i c t i o n a r i e s .5 R E T U R N i n c r e m e n t 2 6 F t c h a n g e a d d r e s s a n i n c r e m e n t .

B e t w e e n t h d i c t i o n a r i e s a r s e c t i o n s o g i b b e r i s h u s e d a p o i n t e r s a n a s s t o r a g e a r e a b t h p a r s e r .

O n f i n a l n o t e : c h o s e t d i s p l a y s i c h a r a c t e r s a o n c e . B e c a u s eo t h i s , s h o r t w o r d o r p a r t s o l o n g e r w o r d s m a a p p e a r o m o r e t h a n o n l i n e . f i n d i e a s i e r t r e c o g n i z e :

s o m e t he t h i n gi n g . . .

t h a n t r e c o g n i z e :s o e t i n

b u y o c a c h a n g e l i n e 3 5 0 a n d 3 8 t " F O R T 3 i y o p r e f e r t h s e c o n d e x a m p l e .

G o o d l u c k a n d h a p p y h u n t i n g .

D i s a s s e m b l y o t h i n p u t m a n i p u l a t i o n s u b r o u t i n e ( a $ 1 E C F )

I d $ 5 a s a s a s a s r o $ 5 a s r o $ 5 I d $ 5 s t $ 5 o r $ 6 s t $ 5 I d $ 6 a s a s a s a s r o $ 6 a s r o $ 6 I d $ 6 s t $ 6 ; r e d u n d a n t , b u i t ' s t h e r eo r $ 6 s t $ 6 I d $ 6

T h T r a n s a c t o r 3

E B P L E H M J

G H B P

D

J

O O M O C

F

P

L

D A P E C O D K M G J

J

M N P

H

o r # $ 8 0s t $ 6 r t

1 0 r e m r e a d i n f o c o m1 5 r e m 1 / 3 / 8 72 r e t h o m a s w g u r l e y2 5 r e m p . o . b o 1 3 3 r e w i l l s p o i n t , t e x a s , 7 5 1 6 93 5 4 0 1 0 p o k e 5 5 , 0 : p o k e 5 6 , 4 2 : c l r : r e l o w e r t o p

o b a s i c1 1 0 a a 0 a 0 a 0 a 0 0 0

n 0 n 0 d i r n l ( 6 ) : r e d e f i n e v a r i a b l e s1 2 p r i n t " [ 3 d o w n ] [ 1 4 s p a c e s ] r e a d i n f o c o m '1 3 p r i n t B [ d o w n ] s t a r t ' ; : i n p u t " a d d r e s s ° ; n x1 4 p r e i n c r e m e n t 2 " i n p u t n n i n n < 1 o

n n > 2 t h e n 1 4 1 5 i n t h e n n 1 0 8 1 6 : r e s t a r t o s h o r t

q u i c k s e a r c h w o r d l i s t1 6 i p e e k ( 1 9 7 ) t h e n p r i n f a d d r e s s i " n

g o t o i 3 0 r e c h a n g e a d d r e s s w i t h f 1 7 0 a a p e e k ( n x ) : a p e e k ( n x + 1

a p e e k ( n x 2 ) a p e e k ( n x 3 1 8 0 m 0 0 1 9 0 r e m 9 5 9 4 9 7 9 6 [ 2 9 s p a c e s ] a a a a a 2 0 0 1 ( 1 ) i n t ( ( a a - 2 0 ) / 4 ) ' + 6 4 r e t h e ' 6 4 a n

5 9 r e s t o r e a l p h a b e t p o s i t i o n2 1 l ( 3 ) ( a b a n d 3 1 ) 5 9 r e ' a n d 3 1 d r o p s t o

t h r e e b i t s2 2 i n t ( ( a b a n 2 4 0 ) / 3 2 ) 5 9 r e ' a n d 2 4 0 '

t a k e s t o b i t s o n l y2 3 i ( a a n 1 t h e n r e r e s t o r e c a r r y

o s e c o n d ' r o l '2 4 i ( a a n 2 t h e n 1 6 r e r e s t o r e c a r r y

o f i r s t ' r o l 12 5 0 1 ( 2 ) o r e a d c a r r i e s b a c k i 2 6 r e s e c o n d h a l f2 7 0 0 0 r e c a n c e l c a r r i e s2 8 0 l ( 4 ) i n t ( ( a c - 2 0 ) / 4 ) 6 2 9 0 l ( 6 ) ( a d a n d 3 1 ) 5 3 0 i n t ( ( a d a n 2 4 0 ) / 3 2 ) 5 3 1 0 i f ( a c a n d 1 ) t h e n3 2 i ( a a n 2 t h e n 1 3 3 0 l ( 5 )3 4 p r i n t : p r i n t n 3 5 f o t 6 l ( x ) a n 2 2 3 : i a < 6 5 o a > 9 0

t h e n 4 6 r e ' . i n v a l i d c h a r a c t e r3 6 r e t h ' a n d ' 2 2 c l e a r s b i t m a k e l o w e r

c a s e c h a r a c t e r3 7 0 l ( x ) a n e x t3 8 f o t 6 p r i n t c h r $ ( l ( x ) ) ; : n e x t : p r i n t3 9 i p e e k ( 6 5 4 ) t h e n 3 9 0 : r e h o l d w i t h s h i f t

l o c k4 0 n n n n g o t o i 6

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 33: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 33/84

I n t e r f a c i n g T w C o m m o d o r e 6 4 ' s

J a c k B e d a r dV a N u y s , C

C o p y r i g h t 1 9 8 7 J a c k B e d a r d

D e v e l o p y o u r p r o g r a m o o n C 6 a n s e n d i d i r e c t l y t a n o t h e r f o r t e s t i n g !

H o w o u l d y o u l i k e t o b a b l e t a s s e m b l e l a r g e m a c h i n el a n g u a g e p r o g r a m s a n d a t a i n t o 6 0 o m e m o r y w i t h o u tw o r r y i n g a b o u t a s s e m b l i n g o t o o t h a s s e m b l e r i t s e l f o r t h es o u r c e c o d e ? O h o a b o u t k e e p i n g y o u r m a c h i n e u n d i s t u r b e dw h e n t h p r o g r a m y o u ' r e t e s t i n g c r a s h e s ? C r o s s - a s s e m b l i n ga s s e m b l i n g f r o m o n C - 6 4 t a n o t h e r i t h w a t d i t C o d ei d e v e l o p e d a n a s s e m b l e d o t h s o u r c e m a c h i n e , a n s e n t t

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

T w c o m p l e t e C - 6 4 s y s t e m s a r n e e d e d ; C - 6 4 ' s , m o n i t o r sa n s t o r a g e d e v i c e s ( t a p e o d i s k ) . A l s o n e e d e d t m a k e t h c a b l e :

1 P c a r d e d g e c o n n e c t o r s ( d u a l r o o 1 c o n t a c t p a i r s , . 1 5 6X . 1 4 5 )

2 p r o t e c t i v e c o v e r s f o a b o v e c o n n e c t o r s3 f e e t o c a b l e ( m u l t i - s t r a n d e d , m u l t i - c o l o r e d w i r e s ; 2 o 2

g a u g e w i l l d o 4 s o l d e r i n g i r o n ( a n d e n o u g h s k i l l t p i c k i u p b y t h c o r r e c t

e n d )5 s o l d e r a n s o l d e r i n g f l u x6 w i r e s t r i p p e r s

( T o t a l c o s t o 1 - i l e s s t h a n $ 1 0 )

W a r g o i n g t c o n n e c t t h e s e t w C - 6 4 s w i t h o n l y t h r e e f e e t o w i r e . W i t h o u t g o i n g i n t o a l e n g t h y d i s c u s s i o n o t e l e c o m m u n i c at i o n s a n t h e r r o r s t h a t c a a r i s e d u r i n g d a t a t r a n s m i s s i o n , l e m p o i n t o u t t h a t w s h o u l d b a b l e t o b t a i n a c c u r a t e d a t at r a n s m i s s i o n a n v e r y h i g h t r a n s m i s s i o n r a t e ( B a u d r a t e ) w i t ho n l y 3 f e e t o c a b l e c o n n e c t i n g t h e s e t w c o m p u t e r s . W e ' r e n o a s k i n g f o v e r y m u c h , j u s t s y s t e m t h a t b e h a v e s a i t h t w c o m p u t e r s a r s e p a r a t e d b o n l y a f e f e e t . A l s o , i w o u l d b ed e s i r a b l e t b a b l e t c r e a t e c o m m u n i c a t i o n s o f t w a r e t h a t i e f f i c i e n t i t e r m s o b o t h t i m e a n s p a c e , i . e . f a s t e x e c u t i o n a n r e q u i r i n g l i t t l e m e m o r y . I t h s o f t w a r e d o e s n ' t i n t e r f e r e w i t ho t h e r o p e n c h a n n e l s ( p r i n t e r o d i s k ) , t h a t w o u l d b e a n a d d e db o n u s .

n u m b e r o s o u r c e s h a v e s u g g e s t e d u s i n g t h m o c k R S - 2 3 2s y s t e m t h a t i a l r e a d y s e u i t h o p e r a t i n g s y s t e m . w e n t t h i sr o u t e i n i t i a l l y a n f o u n d t h a t n o n e o t h r e q u i r e m e n t s j u s t l i s t e dw a m e t . T h R S - 2 3 2 c h a n n e l i l i m i t e d t a e r r o r - p l a g u e d1 2 0 0 B a u d w h i c h m a b a d e q u a t e f o t r a n s m i s s i o n o f t e x t t oa n f r o m B B b u n o n e a r l y s f o t h t r a n s f e r o M

p r o g r a m w h e r e o n e b i o u o p l a c e c o u l d c r a s h t h e s y s t e m .F u r t h e r m o r e , D e v i c e # m u s t b e o p e n e d , w h i c h r e s u l t s i n l o n g e rp r o g r a m m i n g c o d e a n i n t e r f e r e s w i t h m c o m m e r c i a l a s s e mb l e r ( M A E ) .

T h P r o g r a m m e r ' s R e f e r e n c e G u i d e ( p a g e 4 3 2 ) g i v e s t e r s ed e s c r i p t i o n o s o m e t h i n g c a l l e d t h " s e r i a l p o r t " ( n o t t b c o n f u s e d w i t h t h s e r i a l p o r t t h a t a c c e s s e s t h 1 5 4 1 d i s k d r i v e ) .I d e s c r i b e s h a r d w a r e - i m p l e m e n t e d s h i f t r e g i s t e r t h a t c a b u t i l i z e d b i n i t i a l i z i n g t w m e m o r y l o c a t i o n s a n T I M E R A N e x t , d r o p y o u r d a t a b y t e i n t o t h s e r i a l d a t a r e g i s t e r a n t h h a r d w a r e w i l l s h i f t i t b i t s o n b o n o u o t h S p i p r e c e d e d ( s l i g h t l y ) b s y n c h r o n i z i n g s i g n a l ( g e n e r a t e d b T I M E R A o t h C N p i n . W h e n a l t h b i t s a r g o n e ,p a r t i c u l a r b i i c o n t r o l r e g i s t e r i s e t ( a n d i y o s d e s i r e ,a i n t e r r u p t i g e n e r a t e d ) i n d i c a t i n g a n o t h e r d a t a b y t e c a b s e n t . O t h r e c e i v i n g e n d , j u s t i n i t i a l i z e t h o s e s a m e t w m e m o r y l o c a t i o n s ( i g n o r e T I M E R A a n k e e p c h e c k i n g ( p o l l )t h c o n t r o l r e g i s t e r u n t i l t h a t s a m e p a r t i c u l a r b i i s e t 1 N o g o v e r t t h s e r i a l d a t a r e g i s t e r a n l i f t o u t t h e n e w l y a r r i v e dd a t a b y t e . I i t h a t e a s y . I i w a s n ' t f o t h f a c t t h a t t h s h i f tr e g i s t e r i w i r e d t h a n d l e e i g h t b i t s , C o m m o d o r e m i g h t h a v ei n c o r p o r a t e d i i t h R O r o u t i n e s t h a t m a n a g e D e v i c e # 2

L e t ' s l o o k a s o m e m o r e d e t a i l s . T h e r e i s n ' t j u s t o n s e r i a l p o r t ;t h e r e i o n s e r i a l p o r t o e a c h 6 5 2 6 c h i p a n t h e r e a r e t w 6 5 2 6 ' s o e a c h C - 6 4 . I ' m g o i n g t c a l l t h 6 5 2 6 ' s b t h e i r p o p u l a rn a m e s : U l a n d U 2 ( A l s o , I ' g o i n g t e m p l o y j a r g o n u s e d i t e c h n i c a l w r i t i n g a b o u t p r o g r a m m i n g ; w h e n s a y a b i i " s e t "t h a t m e a n s i i s e t 1 w h e n s a y a b i i " c l e a r " t h a t , o c o u r s e ,m e a n s i i s e t 0 . U l ' s r e g i s t e r s a r i m e m o r y l o c a t i o n s$ D C 0 0 t $ D C 0 F a n U 2 ' s a r e i l o c a t i o n s $ D D 0 0 t $ D D 0 F .T h o n l y l o c a t i o n s w w i l l b c o n c e r n e d a b o u t w i l l b e

$ D C 0 C a n $ D D 0 C ( t h e s e r i a l d a t a p o r t s )$ D C 0 D a n $ D D 0 D ( t h e i n t e r r u p t c o n t r o l r e g i s t e r s )$ D C 0 E a n $ D D 0 E ( T I M E R c o n t r o l r e g i s t e r s )

* $ D D 0 4 - 5 ( T I M E R A o n U 2 )

T I M E R o U i u s e d b t h s y s t e m t g e n e r a t e i n t e r r u p t s( I R Q ) e v e r y 1 / 6 0 s e c o n d s h o u s e k e e p i n g c h o r e s c a b p e f o r m e d - r e a d i n g t h k e y b o a r d a n t h a t s o r t o f t h i n g . N o t w o r r y , w n e e d T I M E R o n l y f o o u t p u t s o w e ' l l r e s t r i c to u r s e l v e s t U f o o u t p u t a n u s U f o i n p u t o e a c hc o m p u t e r . ( U t U w o u l d w o r k a l s o . ) T h a c c o m p a n y i n gd i a g r a m d e p i c t s t h I / s c h e m e a s w e l l a s t h e w i r i n g a r r a n g em e n t . A s h o w n , d u a l s i m p l e x s y s t e m i s e u p I t ' s s o r t o f l i k e

T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 34: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 34/84

t e l e p h o n e h a n d - s e t w h e r e d a t a g o e s o u t h r o u g h t h m o u t h p i e c ea n c o m e s i t h r o u g h s p e a k e r e n d . I e r r o r c h e c k i n g i d e s i r e d ,s i m p l y s e n d a n h a v e t h o t h e r C - 6 4 r e t u r n t h e d a t a f o v e r i f i c a t i o n .

T w C 6 4 s i n t e r f a c e d v i t h e i r S e r i a l D a t a P o r t s

A l w i r e s s o l d e r e d t t o s i d e p i n s

T h e m e t h o d w a r g o i n g t i m p l e m e n t i p o l l i n g o n a o p p o s e d t a i n t e r r u p t . ( T h e R S - 2 3 2 u s e s a i n t e r r u p t m e t h o d . )T o u t p u t d a t a w u s U 2

S t e p 1 $ D D 0 D : c l e a r b i a n s e b i t s t 6 t h i s w i l l d i s a b l e a l i n t e r r u p t s o t h i s c h i p .

S t e p 2 $ D D 0 4 : g i v e t h i s l o b y t e o T I M E R v e r y s m a l lv a l u e - l i k e ( w d w a n t a v e r y h i g h B a u d r a t e ) .A c c o r d i n g t T h P r o g r a m m e r ' s r e f e r e n c e g u i d e ( P R G ) :" D a t a i s h i f t e d o u o t h S p i a 1 / t h u n d e r f l o wr a t e o T I M E R A . ( I t r a n s m i s s i o n e r r o r s o c c u r , t r yi n c r e a s i n g t h i s v a l u e . ) T h e n $ D D 0 5 g e t s 0 b e l i e v et h i s l o b y t e / h i g h b y t e o r d e r i i m p o r t a n t .

S t e p 3 $ D D 0 E : s e b i t s t a r t T I M E R A c l e a r b i t p u T I M E R i t h c o n t i n u o u s m o d e ; s e b i t o s e l e c t t h o u t p u t m o d e ; c l e a r a l o t h o t h e r b i t s .

S t e p 4 $ D D 0 C : s t o r e y o u r d a t a t b t r a n s m i t t e d h e r e .S t e p 5 $ D D 0 D : r e a d t h i s l o c a t i o n u n t i l b i i s e t ; t h i s i n d i c a t e s

t h d a t a h a b e e n t r a n s m i t t e d ; i y o w a n t , g t s t e pa n d d o i a g a i n s t e p s 1 - d o n ' t h a v e t b r e p e a t e d .

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

S t e p 1 $ D C 0 D : s e s t e p a b o v e .S t e p 2 $ D C 0 E : c l e a r b i w i t h o u t d i s t u r b i n g t h e o t h e r b i t s ; t h i s

w i l l s e l e c t t h e i n p u t m o d e .S t e p 3 $ D C 0 D : r e a d t h i s l o c a t i o n u n t i l b i i s e t ; t h i s i n d i c a t e s

t h a t d a t a h a b e e n r e c e i v e d f r o m t h t r a n s m i t t i n gc o m p u t e r .

S t e p 4 $ D D 0 C : r e a d t h d a t a h e r e .S t e p 5 P r o c e s s t h e d a t a a n g b a c k t s t e p s t e p s a n

d o n ' t h a v e t b r e p e a t e d .S t e p 6 W h e n f i n i s h e d , r e - e n a b l e t h e s y s t e m I R b s e t t i n g b i t s

a n i $ D C 0 D .

N o w , s o m e c o m m e n t s o t h p r o g r a m s :

L i s t i n g a n a r f o u s e r s o t h M A a s s e m b l e r , t h M A r e c e i v e r p r o g r a m i m e r e 6 b y t e s i l e n g t h a n i t u c k e d a w a yi t h e t o p o p a g e t w o . T r u t h p r o g r a m f r o m m o n i t o r e n t e r :

. 0 2 A A

I y o s h o u l d w a n t t r u i f r o m B A S I C j u s t c h a n g e l o c a t i o n$ 0 2 D 7 f r o m $ 0 ( B R K ) t $ 6 ( R T S ) :

P O K E 7 2 7 , 9 6 : S Y 6 8

T h c u r s o r w i l l v a n i s h a n t h k e y b o a r d w i l l n o f u n c t i o ne x c e p t f o t h S T O P k e y , w h i c h i u s e d t t e r m i n a t e t h p r o g r a ma f t e r M A h a f i n i s h e d a s s e m b l i n g y o u r M p r o g r a m . Y o m a n o r u n y o u r a s s e m b l e d p r o g r a m .

T h M A t r a n s m i t t e r p r o g r a m h a t w f u n c t i o n s . T h f i r s tm o d i f i e s t h e c o d e o M A i t s e l f s i w i l l s e n d t h M p r o g r a m t t h e o t h e r C - 6 4 i n s t e a d o f s t o r i n g i i m e m o r y . I d o e s t h i s b s w a p p i n g t h t h r e e b y t e s s t a r t i n g a $ 5 F E B w i t h t h e t h r e e b y t e sa $ 8 5 1 4 ; t h c o d e a $ 5 F E B t h e n b e c o m e s " J S R $ 8 5 1 7 " . T h s e c o n d r o u t i n e i t h a c t u a l t r a n s m i t t e r ; i s e n d s t h a d d r e s s o t h e b y t e a b o u t t b s t o r e d i t h s t a n d a r d l o w / h i g h b y t e o r d e ra n t h e n i s e n d s t h e b y t e t b s t o r e d a t h a t a d d r e s s . "

T h p r o c e d u r e t c r o s s - a s s e m b l e i t h i s :T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 35: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 35/84

S t e p 1 I t h e r e c e i v i n g C - 6 4 l o a d a n r u n y o u r m o n i t o r p r og r a m .

S t e p 2 l o a d a n r u t h M A r e c e i v e r p r o g r a m .S t e p 3 I t h t r a n s m i t t i n g C - 6 4 l o a d M A a n t h M A t r a n s

m i t t e r . R u t h M A E .S t e p 4 F r o m w i t h i n t h e a s s e m b l e r ( M A E ) , e n t e r " R U N $ 8 5 0 0 " .

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

S t e p 5 A s s e m b l e y o u r p r o g r a m .S t e p 6 A f t e r t h e a s s e m b l y p r o c e s s i f i n i s h e d e n t e r " R U N

$ 8 5 0 0 " s e c o n d t i m e . T h i s r e s t o r e s M A t i t o r i g i n a ls t a t e .

h a v e t e s t e d t h i s s o f t w a r e o s e v e r a l o m o w p r o g r a m s w i t hn p r o b l e m s a n d n o a p p r e c i a b l e i n c r e a s e i a s s e m b l y t i m e .a s s e m b l e d l a r g e p r o g r a m t h a t w a i s i m o d u l e s o d i s k ; i r a i t h o t h e r C - 6 4 p e r f e c t l y .

F o f u r t h e r a s s i s t a n c e i f a t h o m i n g t h w o r k i n g s o t h s e r i a lp o r t , r e f e r y o t t h p a g e s o t h P R ( 4 3 2 - 4 3 4 a n t h f o l d -o u s c h e m a t i c i n s i d e t h b a c k c o v e r ) a n C O M P U T E D M a p p i n gT h C o m m o d o r e 6 ( 1 7 2 - 1 9 7 ) .

O n f i n a l n o t e a b o u t t h e d g e c o n n e c t o r s : t h w i r e s t p i n s 4 - a r t b o t o l a b e l t h c o n n e c t o r t i n d i c a t e t h a t . d o n ' tk n o w w h a t t h r e s u l t s w o u l d b e i t h c o n n e c t o r s w e r e i n s e r t e di n t o t h u s e r ' s p o r t u p s i d e - d o w n . A l s o , i n s e r t t h c o n n e c t o r s i n t ot h c o m p u t e r s o n l y w i t h t h p o w e r o f f .

N o t e s F o r P A U s e r s

F o r u s e r s o P A o c o m p a t i b l e a s s e m b l e r s , L i s t i n g s a n a r e p r o v i d e d . W i t h t h p r o g r a m i l i s t i n g 3 , y o c a n s e n dc o d e d i r e c t l y f r o m m e m o r y t t h t a r g e t c o m p u t e r . Y o l o s et h c a p a b i l i t y , a i t h M A v e r s i o n , o a s s e m b l i n g v e r yl a r g e p r o g r a m s t h a t w o u l d o v e r w r i t e y o u r a s s e m b l e r o o t h e rm e m o r y - r e s i d e n t u t i l i t i e s , b u f o l a r g e p r o g r a m s y o u c a s e n d s m a l l p o r t i o n s o c o d e a t i m e . Y o s t i l l h a v e t h a d v a n t a g e o n o h a v i n g t w o r r y a b o u t l o s i n g y o u r d e v e l o pm e n t e n v i r o n m e n t w h e n t h c o d e y o u ' r e t e s t i n g c r a s h e s . T u s i t a s s e m b l e y o u r P A p r o g r a m t m e m o r y a u s u a l , t h e ns e n d i t t h t a r g e t m a c h i n e w i t h t h c o m m a n d :

S Y 4 0 8 5 0 , < s t a r t a d d r e s s > , < e n d a d d r e s s >

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

S Y 4 0 8 5 0 , 4 9 1 5 2 , 5 0 2 0 0

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

L i s t i n g 1 T h i s p r o g r a m , i M A a s s e m b l e r f o r m a t , w i l l p a t c h t h M A a s s e m b l e r s o t h a t w h e n a s s e m b l i n g i s e n d s o b j e c t c o d ed i r e c t l y t o t h t a r g e t c o m p u t e r t h r o u g h t h s e r i a l c a b l e .0 0 2 0 c o p y r i g h t 1 9 8 6 j a c k b e d a r d0 0 3 0 .0 0 4 0 ; o u t p u t a s s e m b l e d c o d e t o s e r i a l d a t a p o r t0 0 5 0 .0 0 6 0 t h e r e a r e s e p a r a t e r o u t i n e s h e r e :0 0 7 0 t h s ( c o d e . s w a p ) m o d i f i e s m a t t r a n s m i t a s s e m b l e d c o d e0 0 8 0 t 2 n d c - 6 4 v i s . r . p o r t .0 0 9 0 i i a c t i v a t e d w i t h t h i s c o m m a n d f r o m m a ' r $ 8 5 0 0 *0 1 0 0 .0 1 1 0 t h 2 n s e n d s t h a d d r e s s t s t o r e ( l o w / h i g h )0 1 2 0 i t h e o t h e r c 6 a n t h b y t e t s t o r e t h e r e .0 1 3 0 .0 1 4 0 m a e . t a b l e . d $ 5 ; s t o r e a d d r e s s i i t h i s t a b l e0 1 5 0 m o d . a d r . d e $ 5 f e b ; m y p a t c h g o e s h e r e0 1 6 0 u 2 . t i m a . l o . d e $ d d O 40 1 7 0 u 2 . t i m a . h i . d $ d d O 50 1 8 0 u 2 . o u t . d e $ d d 0 c ; s e r i a l d a t a p o r t0 1 9 0 u 2 . i c r . d $ d d O d ; i n t e r r u p t c o n t r o l r e g i s t e r0 2 0 0 u 2 . c r a . d e $ d d 0 e ; t i m e r c o n t r o l r e g i s t e r0 2 1 0 o u t p u t . d % 0 1 0 0 0 0 0 0 ; b i t i $ d d 0 e0 2 2 0 s h i f U e g . d % 0 0 0 0 1 0 0 0 ; b i t i $ d d O d0 2 3 0 d i s a b l . a l l . d % 0 1 1 1 1 1 1 1 ; i c a u s e s t h ' t d i s a b l e t h o s e b i t s0 2 4 0 t i m e r . a . d % 0 0 0 0 0 0 0 1 ; b i t i S d d O e0 2 5 0 .0 2 6 0 b a u d . d $ 0 ; t h e b a u d r a t e p r e s c a l e r0 2 7 0 .0 2 8 0 . o 0 2 9 0 . b a $ 8 5 0 00 3 0 0 . c 0 3 1 0 .0 3 2 0 c o d e . s w a p ; p a t c h ' j s r s e n d t o d s p ' i n t o m a 0 3 3 0 I d # 0 3 4 0 m o d . l o o p0 3 5 0 I d m o d . a d r . x0 3 6 0 p h a0 3 7 0 I d m a e . c o d e . m o d . x0 3 8 0 s t m o d . a d r . x0 3 9 0 p l 0 4 0 0 s t m a e . c o d e . m o d . x0 4 1 0 d e x0 4 2 0 b p m o d . l o o p0 4 3 0 r t 0 4 4 0 .0 4 5 0 m a e . c o d e . m o d ; p a t c h t o u r o u t p u t r o u t i n e0 4 6 0 j s s e n d . t o . s d p0 4 7 0 .0 4 8 0 s e n d . t o . s d p ; s e n d b y t e f r o m s t a c k ( u n d e r r e t u r n a d d r )0 4 9 0 s t s a v e . y ; t o t h e r 6 4 0 5 0 0 s t s a v e . x0 5 1 0 p l 0 5 2 0 s t a r e t . a d r ; s a v e r e t u r n a d d r e s s f r o m s t a c k0 5 3 0 p l 0 5 4 0 s t a r e t . a d r0 5 5 0 .0 5 6 0 I d m a e . t a b l e . x ; f i n d a d d r e s s f o b y t e t b s e n t0 5 7 0 s t d a t a . o u t0 5 8 0 I d m a e . t a b l e 1 . 0 5 9 0 s t d a t a . o u t0 6 0 0 p l 0 6 1 0 s t d a t a . o u t ; b y t e t s e n d ( a f t e r a d d r e s s )0 6 2 0 .0 6 3 0 I d # d i s a b l . a l l ; s e t u i n t e r r u p t c o n t r o l r e 0 6 4 0 s t u 2 . i c r0 6 5 0 .0 6 6 0 I d # b a u d ; s e t u t i m e r0 6 7 0 s t u 2 . t i m a . l o0 6 8 0 I d # 0 6 9 0 s t u 2 . t i m a . h i0 7 0 0 .0 7 1 0 I d # o u t p u t t i m e r . a ; s e t u t i m e r c o n t r o l r e g i s t e r0 7 2 0 s t u 2 . c r a0 7 3 0 .0 7 4 0 I d # ; s e n d t h t h r e e b y t e s s t a r t i n g a d a t a o u t0 7 5 0 s e ; n i n t e r r u p t s , p l e a s e0 7 6 0 o u t . d a t a0 7 7 0 I d a d a t a . o u t , x0 7 8 0 s t u 2 . o u t ; p u t t h e b y t e o t h e o u t p u t p o r t0 7 9 0 .0 8 0 0 s t i l l . s e n d i n g0 8 1 0 I d u 2 . i c r ; w a i t u n t i l i h a b e e n s e n t0 8 2 0 a n d # s h i f t . r e g0 8 3 0 b e q s t i l l . s e n d i n g

T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 36: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 36/84

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

d e b p o u t . d a t ac l

I d a r e t . a d r + 1p h I d r e t . a d rp h I d s a v e . xI d s a v e . yr t

0 9 6 0 s a v e . x . d 0 9 7 0 s a v e . y . d 0 9 8 0 r e t . a d r . d 0 9 9 0 d a t a . o u t . d 1 0 0 0 .1 0 1 0 . e

; s e n d t h n e x t o n ; a l l s e n t

; p u t r e t u r n a d d r e s s b a c k o n t h s t a c k

L i s t i n g 2 M A E - f o r m a t " r e c e i v e " p r o g r a m . T h i s p r o g r a m r u n s o t h t a r g e t c o m p u t e r a n l o a d s a l c o d e s e n t b t h s o u r c e m a c h i n e .J u s t S Y 6 8 2 , s e n d t h c o d e f r o m t h s o u r c e m a c h i n e , a n p r e s s t h eS T O P k e a f t e r t h e d a t a h a b e e n s e n t .0 0 1 0 c o p y r i g h t 1 9 8 6 j a c k b e d a r d0 0 2 0 .0 0 3 0 r e c e i v e a s s e m b l e d c o d e v i 0 0 4 0 t h s e r i a l d a t a p o r t .0 0 5 0 .0 0 6 0 r e c e i v e s a d d r e s s t s t o r e0 0 7 0 ( l o w / h i g h ) a n t h e b y t e0 0 8 0 t o s t o r e t h e r e .0 0 9 0 .

. d $ f . d $ d c 0 c. d e $ d c 0 d. d $ d c 0 e

0 1 0 0 p t 0 1 1 0 u 1 . i n p u t0 1 2 0 u 1 . i c r0 1 3 0 u 1 . e r a0 1 4 0 u p d a t e . 9 1 . d e $ f 6 b c0 1 5 0 s t o p . d e $ 9 10 1 6 0 .0 1 7 0 o u t p u t0 1 8 0 s h i f t . r e g0 1 9 0 d i s a b l . a l l0 2 0 0 e n a b l e0 2 1 0 t i m e r ,0 2 2 0 .

. c . b a $ 0 2 a a. O

. d e % 0 1 0 0 0 0 0 0. d o / o O O O O 1 O O O. d e % 0 1 1 1 1 1 1 1. d e % 1 0 0 0 0 0 0 0. d % 0 0 0 0 0 0 0 1

0 2 3 00 2 4 00 2 5 00 2 6 00 2 7 00 2 8 00 2 9 00 3 0 00 3 1 00 3 2 00 3 3 00 3 4 00 3 5 00 3 6 0 .0 3 7 0 m a i n . l o o p0 3 8 0 j s g e t . s d p

s t p t j s g e t . s d ps t p t + j s g e t . s d p

t s s t s a v e . s p

I d # d i s a b l . a l ls t a u i . i c r

I d u i . c r aa n # $ f f - o u t p u ts t u i . c r a

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

I d # s t ( p t r ) , yb e m a i n . l o o p

0 4 7 0 e x i t0 4 8 0 I d # e n a b l e t i m e r . a

s t a u i . i c rI d s a v e . s pt x b r

0 4 9 00 5 0 00 5 1 00 5 2 00 5 3 00 5 4 0 g e t . s d p0 5 5 0 j s u p d a t e . 9 1

I d s t o pb p e x i t

0 5 6 00 5 7 00 5 8 00 5 9 00 6 0 00 6 1 0

I d u i . i c ra n d # s h i f t . r e gb e q g e t . s d p

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

c l e a r b i o e r a . . s e r i a l p o r t i n p u t a e x t e r n a l c l o c k r a t e

g e a d d r e s s o d a t a b y t e

g e d a t a b y t e

s t o r e d a t a b y t e

r e - e n a b l e i n t e r r u p t s , r e s t o r e s t a c k , q u i t

; c h e c k s t o p k e

; w a i t f o r i n p u t c h a r

0 6 2 0 I d u 1 . i n p u t ; g e t i n p u t c h a r0 6 3 0 r t 0 6 4 0 .0 6 5 0 s a v e . s p . d 0 6 6 0 .0 6 7 0 . e

L i s t i n g 3 P A L - f o r m a t s o u r c e c o d e f o p r o g r a m t s e n d a n a r e a o m e m o r y f r o m t h s o u r c e m a c h i n e . T h i s p r o g r a m i p l a c e d a t h t o o m e m o r y ; t u s i t S Y 4 0 8 5 0 , < s t a r t a d d r e s s > , < e n d a d d r e s s > .U s t h i s t o s e n d t h o b j e c t c o d e o p r o g r a m t t h t a r g e t m a c h i n ea f t e r y o a s s e m b l e i t

I H G E N L A J D

E M

H F M A G J N J C L C F K

K L H H F

G C K E

M I

C M N C D

I H K M H F F J

O D M

F H P C O E A

I M G P H N

P N B G D A P M

$ d d O 4$ d d O 5$ d d 0 cS d d O d$ d d 0 e

; s e r d a t a p o r t; i n t e r r u p t C t r l; t i m e r C t r l

o / o O 1 0 0 0 0 0 0 ; $ d d 0 e b i % 0 0 0 0 1 0 0 0 ; $ d d 0 d b i t 3% 0 1 1 1 1 1 1 1 ; c l r i n t s% 0 0 0 0 0 0 0 1 ; $ d d 0 e b i

$ f $ f

$ 0

; p t r t b y t e t s e n d; l a s t b y t e t s e n d

; b a u d r a t e p r e s c a l e r

1 0 0 0 o p e n i , 8 , 1 , " 0 : s e n d e o d e . o b j "1 0 1 0 s y 7 0 ; a c t i v a t e p a a s s e m b l e r1 0 2 0 $ 9 f 9 2 ; t o p o f m e m o r y ( 4 0 8 5 0 )1 0 3 0 . o p t o ; o u t p u t o b j e c t f i l e1 0 3 11 0 4 0 o u t p u t c o d e t s e r i a l d a t a p o r t1 0 5 0 ;1 0 6 0 ; t h i s r o u t i n e c a b u s e d t s e n d1 0 7 0 ; y o u r c o d e t t h t a r g e t c o m p u t e r1 0 8 0 ; a f t e r i h a b e e n a s s e m b l e d .1 0 9 0 ; c a l l i f r o m y o u r a s s e m b l e r1 1 0 0 ; e n v i r o n m e n t a n p a s s i t h s t a r t1 1 1 0 ; a n d e n a d d r e s s e s o t h o b j e c t1 1 2 0 ; c o d e , e . g . s y 4 0 8 5 0 , 4 9 1 5 2 , 5 0 2 6 11 1 3 0 ;1 1 4 0 ; t h e r o u t i n e ' s e n d t o s d p ' s e n d s t h 1 1 5 0 ; a d d r e s s t s t o r e ( l o w / h i g h )1 1 6 0 ; i t h e o t h e r c 6 a n t h e b y t e t 1 1 7 0 ; s t o r e t h e r e .1 1 8 0 ;1 1 9 0 u 2 t i m a l o1 2 0 0 u 2 t i m a h i1 2 1 0 u 2 o u t1 2 2 0 u 2 i c r1 2 3 0 u 2 c r a1 2 4 0 o u t p u t1 2 5 0 s h i f t r e g1 2 6 0 d i s a b l a l l1 2 7 0 t i m e r a1 2 8 0 ;1 2 9 0 c o d e p t r1 3 0 0 e n d c o d e1 3 1 0 ;1 3 2 0 b a u d1 3 3 0 ;1 3 4 0 ;1 3 6 0 s e n d c o d e1 3 7 01 3 8 01 3 9 01 4 0 01 4 1 01 4 2 01 4 3 0 ;1 4 4 0 s 1 4 5 01 4 6 01 4 7 01 4 8 01 4 9 01 5 0 01 5 1 0 s c 1 5 2 01 5 3 01 5 4 01 5 5 01 5 6 01 5 7 01 5 8 01 5 9 0 ;1 6 0 0 ;1 6 1 0 s e n d t o s d p1 6 2 0 ; s e n d ' c o d e p t r ' p o i n t e r u s e r p o r t ,1 6 3 0 ; f o l l o w e d b b y t e i . 1 6 4 0 s t d a t a o u t1 6 5 0 I d c o d e p t r1 6 6 0 s t d a t a o u t + 21 6 7 0 I d c o d e p t r + 11 6 8 0 s t d a t a o u t + 11 6 9 0 ;1 7 0 0 I d # d i s a b l a l l1 7 1 0 s t u 2 i c r ; c l e a r a l i n t e r r u p t s

j s g e t p a r a m ; s t a r t a d d r i y , s t c o d e p t r + s t c o d e p t rj s g e t p a r a m

e n d c o d e + 1e n d c o d e

s t s t

; g e t e n a d d r e s s

; s e n d a l b y t e sI d # I d a ( c o d e p t r ) . y ; g e t n e x t b y t ej s s e n d t o s d pi n c o d e p t rb n s c i n c o d e p t r + 1

; s e n d i t p o r tp o i n t t o n e x t b y t e

I d c o d e p t re m e n d c o d eb n s I d c o d e p t r + 1e m e n d c o d e + 1b n s r t

; e n d w h e n c o d e p t r = e n d c o d e

; b y t e o c o d e t s e n d; a d d r o b y t e t s e n d

T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 37: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 37/84

o H K B K A P L J

I H P N C

I H

n i w iK O N B B N D H I I

M K D A H C O H A B H K

1 7 2 0 ;1 7 3 0 I d 1 7 4 0 s t 1 7 5 0 I d 1 7 6 0 s t 1 7 7 0 ;1 7 8 0 I d

# b a u d ; s e t u t i m e ru 2 t i m a l o# u 2 t i m a h i

# o u t p u t + t i m e r a1 7 9 0 ; s e t u t i m e r c o n t r o l r e g i s t e r1 8 0 0 s t 1 8 1 0 ;1 8 2 0 I d

u 2 c r a

# 1 8 3 0 ; s e n d b y t e s s t a r t i n g a d a t a o u t1 8 4 0 s e 1 8 5 0 o u t d a t a1 8 6 0 I d 1 8 7 0 s t n o o nO O 1 8 9 0 I d 1 9 0 0 s t i l l s d g

; n i n t e r r u p t s , p l e a s e

d a t a o u t ,u 2 o u t ; p u t b y t e o t h p o r t

# s h i f t r e g

1 9 1 0 ; w a i t u n t i l i h a b e e n s e n t1 9 2 0 b i 1 9 3 0 b e q1 9 4 0 d e 1 9 5 0 b p 1 9 6 0 c l 1 9 7 0 ;1 9 8 0 r t 1 9 9 0 ;2 0 2 0 ;2 0 3 0 g e t p a r a m

u 2 i c rs t i l l s d g

; s e n d t h e n e x t o n o u t d a t a

; a l l b y t e s s e n t

2 0 4 0 ; s k i p c o m m a , g e a r g u m e n t a n p u 2 0 5 0 ; i ( l o w ) a n d a ( h i g h )2 0 6 0 j s 2 0 7 0 j s 2 0 8 0 j m 2 0 9 0 ;2 0 9 13 0 0 0 d a t a o u t

$ a e f d$ a d 8 a$ b 7 f 7

. 3 0 1 0 ; b u f f e r f o a d d r a n b y t e t s e n d

L i s t i n g 4 " R e c e i v e " c o d e i P A f o r m a t , i d e n t i c a l t o t h M A p r o g r a m i L i s t i n g 2 T h i s c o d e i l o c a t e d i t h c a s s e t t e b u f f e rs t a r t i n g a 8 2 8 .

P D K D G C

F E J O

1 0 0 0 o p e n 1 , 8 , V 0 : r c v . o b j1 0 1 0 s y s 7 0 01 0 2 0 . o p t 0 1 0 3 0 c o p y r i g h t 1 9 8 6 j a c k b e d a r d1 0 4 0 ;1 0 5 0 r e c e i v e a s s e m b l e d c o d e v i 1 0 6 0 t h s e r i a l d a t a p o r t .1 0 7 0 ;1 0 8 0 r e c e i v e s a d d r e s s t s t o r e1 0 9 0 ( l o w / h i g h ) a n t h e b y t e

L M A D

M P K D C J M H E P O D C D G C A

P K O M H A

I A M K M

1 1 0 0 ; t s t o r e t h e r e .1 1 1 0 ;1 1 2 0 p t 1 1 3 0 u i n p u t1 1 4 0 u 1 i c r

1 1 6 0 u p d a t e 9 11 1 7 0 s t o p1 1 8 0 ;1 1 9 0 o u t p u t1 2 0 0 s h i f t r e g1 2 1 0 d i s a b l a l l1 2 2 0 e n a b l e1 2 3 0 t i m e r a1 2 4 0 ;1 2 5 0 * = 8 2 81 2 6 0 ;1 2 6 11 2 7 01 2 8 01 2 9 0 ;1 3 0 01 3 1 01 3 2 0 ;1 3 3 01 3 4 0

$ f $ d c 0 c$ d c 0 d$ f 6 b c$ 9

% 0 1 0 0 0 0 0 00 / 0 0 0 0 0 1 0 0 0% 0 1 1 1 1 1 1 1% 1 0 0 0 0 0 0 00 / 0 0 0 0 0 0 0 0 1

; g o e s i c a s s e t t e b u f f e r

t s s t

I d s t

I d a n

s a v e s p

# d i s a b l a l lu l i c r

u l c r a# $ f f - o u t p u t

1 3 5 0 s e r i a l p o r t i n p u t a 1 3 6 01 ? S § u 1 c r a1 3 8 0 m a i n l o o p1 3 9 01 4 0 0

s t

j s s t

u l c r a$ d c 0 eg e t s d pP t

; s a v e s t a c k p t f o ; c l e a n e x i t l a t e r

; d i s a b l e i n t e r r u p t s

; c l e a r b i o e r

; e x t e r n a l c l o c k r a t e

; g e t d a t a b y t e a d d r

K J M G F K M O P E

A P J A C K E

I J P C

A C

I E J K J P M A C

1 4 1 01 4 2 01 4 3 01 4 4 0 ;1 4 5 01 4 6 01 4 7 01 4 8 0 ;1 4 8 11 4 9 0 e x i t

j s s t j s

I d s t b e

g e t s d pp t r + 1g e t s d p

# ( P t r ) , ym a i n l o o p

1 5 0 0 r e - e n a b l e i n t e r r u p t s ,1 5 1 0 ; r e s t o r e s t a c k a n q u i t1 5 2 01 5 3 01 5 4 01 5 5 01 5 6 01 5 7 0 ;1 5 7 11 5 8 0 g e t s d p

I d s t I d t x r t

; g e t d a t a b y t e

s t o r e d a t a b y t e; l o o p f o r e v e r

# e n a b l e t i m e r au l i c rs a v e s p

1 5 9 0 g e b y t e f r o m s e r i a l d a t a p o r t1 6 0 01 6 1 01 6 2 01 6 3 0 ;1 6 4 01 6 5 01 6 6 01 6 7 01 6 8 01 6 9 0 ;1 7 0 0 s a v e s p

j s I d b p

I d a n b e I d r t

u p d a t e 9 1s t o pe x i t

u l i c r# s h i f t r e gg e t s d pu 1 i n p u t

; c h e c k s t o p k e

; w a i t f o i n p u t b y t e

n b y t e ; l o o p a g a i n; r e a d t h b y t e

L i s t i n g 5 B A S I C p r o g r a m t g e n e r a t e " s e n d c o d e . o b j " , t h s a m ec o d e p r o d u c e d b y a s s e m b l i n g t h P A s o u r c e i L i s t i n g 3 L o a d t h i sp r o g r a m a n d S Y t i a e x p l a i n e d i t h a r t i c l e s i d e b a r .

O E L

1 0 0 r e m p r o g r a m g e n e r a t o r f o " s e n d c o d e . o b j "1 1 n " s e n d c o d e . o b j " : r e n a m e o p r o g r a m1 2 0 n d 1 0 3 : s 4 0 8 5 0 : c h 1 6 2 4 4

F o l i n e s 1 3 0 - 2 6 0 , u s t h s t a n d a r d g e n e r a t o r p r o g r a m f r o m p a g eA P P 0 D F G F I

C M G N

1 0 0 0 d a t a 3 2 1 0 1 0 d a t a 2 4 0 ,1 0 2 0 d a t a 1 7 7 ,1 0 3 0 d a t a 2 1 0 4 0 d a t a 2 3 7 ,1 0 5 0 d a t a 1 4 1 ,1 0 6 0 d a t a 1 6 5 ,1 0 7 0 d a t a 1 3 1 0 8 0 d a t a 0 1 0 9 0 d a t a 2 2 1 ,1 1 0 0 d a t a 1 2 1 1 1 0 d a t a 2 5 1 ,1 1 2 0 d a t a 1 7 4 ,

2 4 0 , 1 5 9 ,1 5 9 , 1 3 3 ,2 5 1 , 3 2 2 3 0 , 2 5 2 ,1 6 5 , 2 5 2 ,2 4 9 , 1 5 9 ,2 5 2 , 1 4 1 ,2 2 1 , 1 6 9 ,1 4 1 , 5 1 6 2 , 2 2 2 1 , 1 6 9 ,2 0 2 , 1 6

3 2 , 1 3 8 ,

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

4 , 1 4 1 ,2 2 1 , 1 6 9 ,1 2 0 , 1 8 9 ,

8 4 4 2 4 0 , 8 8 1 7 3 , 7 6 ,

1 3 2 , 2 5 1 , 3 2 5 3 , 1 6 0 , 02 3 0 , 2 5 1 , 2 0 81 9 7 , 2 5 3 , 2 0 82 0 8 , 2 3 1 , 9 1 4 1 , 2 5 1 , 1 5 91 6 9 , 1 2 7 , 1 4 1

4 , 2 2 1 , 1 6 96 5 , 1 4 1 , 1 4

2 4 9 , 1 5 9 , 1 4 11 3 , 2 2 1 , 2 4 09 6 3 2 , 2 5 3

2 4 7 , 1 8 3 ,

L i s t i n g 6 T h i s p r o g r a m c r e a t e s " r c v . o b j " , t h s a m e c o d e g e n e r a t e db a s s e m b l i n g L i s t i n g 4 w i t h P A L .

N K G

1 0 0 r e m p r o g r a m g e n e r a t o r f o " r c v . o b j 1 11 1 n " r c v . o b j " : r e n a m e o p r o g r a m1 2 0 n d 6 4 s 8 2 8 : c 8 0 6 2

F o l i n e s 1 3 0 - 2 6 0 , u s t h s t a n d a r d g e n e r a t o r p r o g r a m f r o m p a g eB D M E N C K E

1 0 0 0 d a t a 1 8 6 , 1 4 2 , 1 2 4 , 3 , 1 6 9 , 1 2 7 , 1 4 1 , 1 1 0 1 0 d a t a 2 2 0 , 1 7 3 , 1 4 , 2 2 0 , 4 1 , 1 9 1 , 1 4 1 , 1 1 0 2 0 d a t a 2 2 0 , 3 2 , 1 0 6 , 3 , 1 3 3 , 2 5 3 , 3 2 , 1 0 61 0 3 0 d a t a 3 , 1 3 3 , 2 5 4 , 3 2 , 1 0 6 , 3 , 1 6 0 ,1 0 4 0 d a t a 1 4 5 , 2 5 3 , 2 4 0 , 2 3 7 , 1 6 9 , 1 2 9 , 1 4 1 , 1 1 0 5 0 d a t a 2 2 0 , 1 7 4 , 1 2 4 , 3 , 1 5 4 , 9 6 3 2 , 1 8 81 0 6 0 d a t a 2 4 6 , 1 6 5 , 1 4 5 , 1 6 , 2 3 9 , 1 7 3 , 1 3 , 2 2 01 0 7 0 d a t a 4 1 8 , 2 4 0 , 2 4 2 , 1 7 3 , 1 2 , 2 2 0 , 9

T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 38: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 38/84

T h L i n kB e t w e e n a n d A s s e m b l y

D a v i d G o d s h a l lE l k h a r t , I n d i a n a

. . H o w w o u l d y o u l i k e t b a b l e t a c c e s s m a c h i n e l a n g u a g er o u t i n e t h e s a m e w a y o u w o u l d a c c e s s f u n c t i o n ?

I y o o w " P o w e r C " f r o m S p i n n a k e r , y o o w a e x c e l l e n t a n p o w e r f u l i m p l e m e n t a t i o n o t h l a n g u a g e . I y o d o n ' t , b u h a v eb e e n t h i n k i n g a b o u t b u y i n g a c o p y , t h e p o s s i b i l i t i e s o p e n e d b y t h i sa r t i c l e m a b e n o u g h t p u s h y o o v e r t h e e d g e . E v e n i y o d o n ' to w a n d o n ' t p l a n t b u P o w e r C , t h e t e c h n i q u e s m e n t i o n e d i t h i s a r t i c l e m a a p p l y t o t h e r c o m p i l e r s t h a t c o m p i l e i t w s e p a r a t e s t a g e s ( f r o m s o u r c e i n t o o b j e c t , t h e n f r o m o b j e c t i n t oe x e c u t a b l e ) o e v e n f o o t h e r t y p e s o p r o g r a m s .

T h P r o b l e m . . .

w a w r i t i n g s o m e g r a p h i c s r o u t i n e s t b u s e d f r o m p r o g r a m s .d e c i d e d t h a t , w h i l e P o w e r i p r o b a b l y t h f a s t e s t c o m p i l e r f o t h C - 6 4 ( " C o m p a r i s o n o L a n g u a g e S p e e d s " , V o l u m e 7 I s s u e 5 ) n o t h i n g c a b e a t h a n d - c o d i n g p i e c e o c o d e f o s p e e d . p r o m p t l ys e a b o u t c o d i n g a s s e m b l y l a n g u a g e r o u t i n e s t c l e a r t h b i t m a p ,p l o t p o i n t s , a n a l t h o t h e r n i c e t h i n g s y o l i k e t d t g r a p h i c ss c r e e n s q u i c k l y . I n l o o k i n g f o g o o d w a t u s t h e s e r o u t i n e s f r o mm p r o g r a m s , c a m e a c r o s s t h e S Y f u n c t i o n . t r i e d i t g a v e u o i t T h m a i n t r o u b l e w i t h t h S Y f u n c t i o n i t h a t i i l i t t l e b e t t e rt h a n t h B A S I C S Y S c o m m a n d . I a s s u m e s t h c o d e i a l r e a d y i m e m o r y ( i i i s n ' t , s p e c i a l d i s k a c c e s s i n e e d e d t p u i t h e r e ) . I d o e s n o p r o v i d e v e r y d e s c r i p t i v e a c c e s s t t h r o u t i n e s . T h o n t h i n g i h a s o v e r B A S I C ' S S Y c o m m a n d i t h a t i c a h a n d l ep a r a m e t e r s t h r e e b y t e s ' w o r t h . S o m e o t h e f u n c t i o n s w a n t e d t a c c e s s , h o w e v e r , r e q u i r e d m o r e t h a n 2 b i t s ' w o r t h o i n f o r m a t i o n .

S o g i v i n g u o t h S Y f u n c t i o n , l o o k e d a r o u n d a n a b o u t a n i n s i d e o u f o b e t t e r w a y . A n f o u n d i t M s e a r c h l e m t t h i n t e r n a l s o t h o b j e c t f i l e s t h o s e m y s t e r i o u s f i l e s t h a t a r e t h e l i m b ob e t w e e n p u r e s o u r c e c o d e a n p u r e e x e c u t a b l e m a c h i n e l a n g u a g e .d i d n ' t h a v e l o o h o p e . I ' v e l o o k e d i r e a l s p a g h e t t i f i l e s b e f o r ea n w a a f r a i d t h o b j e c t f i l e s w o u l d t u r n o u t - t o b t o c o m p l i c a t e df o m t f i g u r e o u t w i t h o u t t h e a i o e x t e n s i v e d o c u m e n t a t i o n a n w e e k s o p e r s o n a l i n t e r v i e w s w i t h P o w e r a u t h o r B r i a n H i l c h i e . M f e a r s w e r e g r o u n d l e s s .

S t a r t i n g M Q u e s t

T b e g i n w i t h , a l r e a d y s o r t o f k n e w w h a t t h l i n k e r d o e s . I t a k e sa o b j e c t f i l e , m o v e s i t s p e c i f i c a d d r e s s i m e m o r y , a n d t h e nc h e c k s t s e w h a t t h f i l e n e e d s t b l i n k e d w i t h . I t h e n g e t s t h o s ef i l e s , p u t s t h e m a u n i q u e a d d r e s s e s , a n c h e c k s w h a t f i l e s t h e yn e e d . F i n a l l y , w h e n a l t h f i l e s a r e l i n k e d i w i t h e v e r y t h i n g t h e yn e e d a n d t h e l i n k e r c a n ' t f i n d a n y t h i n g e l s e t a d d , i w r i t e s t h e x e c u t a b l e f i l e c o n t a i n i n g a l t h o b j e c t f i l e s a l l i n k e d u n i c e l y . B u w h a t i i a o b j e c t f i l e ? H o d o e s i l e t h l i n k e r k n o w w h a t i w a n t s a n w h a t i h a t o o f f e r ?

M f i r s t c l u e t t h g e n e r a l f o r m a t o t h o b j e c t f i l e s c a m e f r o m t h m y s t e r i o u s a n t o t a l l y u n d o c u m e n t e d ( i m m a n u a l , a l e a s t ) L I B . Cf i l e . T h i s i n i c e u t i l i t y t h a t p u t s l i s t o a l t h g l o b a l i d e n t i f i e r sf r o m m u l t i p l e o b j e c t f i l e s i n t o o n f i l e s t h a t t h l i n k e r c a f i n d t h e i rf u n c t i o n s a n v a r i a b l e s v e r y e a s i l y . T h f i r s t f o u r f i l e s o t h l i b r a r ys i d e o t h d i s k ( S T D L I B . L , S T D L I B 2 . L , S Y S L I B . L a n S Y S L I B 2 . L )c a n b e e x a m i n e d a n m o d i f i e d w i t h t h i s u t i l i t y .

B l o o k i n g a h o L I B . C s c a n s o b j e c t f i l e s , w a a b l e t d e t e r m i n et h a t o b j e c t f i l e s a r d i v i d e d i n t o f o u r s e c t i o n s . c a l l t h e m t h C o d es e c t i o n , t h R e l o c a t e s e c t i o n , t h G l o b a l s e c t i o n , a n t h e E x t e r n a ls e c t i o n . E a c h s e c t i o n b e g i n s w i t h w o r d ( t w o b y t e s i l o w / h i g ho r d e r ) i n d i c a t i n g h o l o n g t h e s e c t i o n i i b y t e s ( f o r t h C o d es e c t i o n ) o e n t r i e s ( f o r t h o t h e r s e c t i o n s ) . T h g e n e r a l f o r m a t i s u m m a r i z e d i T a b l e 1

S e c t i o n 1 T h C o d e S e c t i o n

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

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

S e c o n d l y , o n o t h j o b s o t h l i n k e r i t d e c i d e w h e r e i m e m o r yt p l a c e t h e c o d e . I o r d e r t e n a b l e t h e l i n k e r t d t h a t e a s i l y , t h c o d e i g e n e r a t e d b t h c o m p i l e r a i i w e r e a s s e m b l e d t l o c a t i o n$ 0 0 0 0 . I o t h e r w o r d s , i s o m e w h e r e i t h c o d e y o h a J M i n s t r u c t i o n t t r a n s f e r e x e c u t i o n t t h f i r s t i n s t r u c t i o n i t h c o d es e c t i o n , i w o u l d b J M $ 0 0 0 0 i n s t r u c t i o n . T h l i n k e r c a t h e nr e l o c a t e t h c o d e b y c a l c u l a t i n g n e b a s e a d d r e s s a n a d d i n g i t t h o f f s e t s c o n t a i n e d i t h o p e r a n d s o a n i n s t r u c t i o n s r e f e r e n c i n g

p a r t o t h c o d e . B u t h o d o e s t h l i n k e r k n o w w h i c h i n s t r u c t i o n sn e e d t b a d j u s t e d f o t h n e a d d r e s s a n d w h i c h a r a l r e a d yp o i n t i n g a t h c o r r e c t l o c a t i o n ( i . e . R O r o u t i n e , a z e r o p a g el o c a t i o n , e t c . ) ? T h i s i w h e r e t h s e c o n d s e c t i o n c o m e s i n

S e c t i o n 2 T h R e l o c a t e S e c t i o n

T h i s s e c t i o n p o i n t s o u t t t h l i n k e r w h i c h i n s t r u c t i o n s n e e d t b a d j u s t e d d u r i n g t h e a d d r e s s r e l o c a t i o n p r o c e s s . I f f o e x a m p l e , t h i n s t r u c t i o n J S R $ 0 0 7 3 i f l a g g e d b t h i s s e c t i o n a n t h l i n k e rd e c i d e d t r e l o c a t e t h c o d e t b a s e a d d r e s s $ 1 1 5 3 , t h e n t h i n s t r u c t i o n w i l l b c h a n g e d t J S $ 1 c 6 I t h J S w e r e n o f l a g g e d b t h i s s e c t i o n , i w o u l d r e m a i n J S $ 0 0 7 3 .

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 39: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 39/84

T h i s s e c t i o n c o n s i s t s o l i s t o a d d r e s s e s ( a s o f f s e t s f r o m $ 0 0 0 0 ) o i n s t r u c t i o n s t h a t n e e d t h e i r o p e r a n d s r e l o c a t e d . T h l e n g t h w o r di n d i c a t e s h o w m a n y a d d r e s s e s ( o t w b y t e s e a c h ) a r i n t h i ss e c t i o n .

S e c t i o n 3 T h G l o b a l S e c t i o n

T h i s s e c t i o n t e l l s t h l i n k e r w h a t t h m o d u l e h a t o o f f e r t o o t h e rm o d u l e s . A n f u n c t i o n s o r v a r i a b l e s t h a t m a b u s e d b e x t e r n a lr o u t i n e s a r e f l a g g e d i n t h i s s e c t i o n .

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

T h n a m e w i l l b t h o n o m o r e c h a r a c t e r s b w h i c h t h i s v a r i a b l eo r o u t i n e c a n b e a c c e s s e d . R e m e m b e r t h a t i c a s e s e n s i t i v e a n t h a t i d e n t i f i e r s c o m i n g o u o t h c o m p i l e r w i l l b t r u n c a t e d t c h a r a c t e r s . T e r m i n a t e t h n a m e w i t h a N U L L ( c h r $ ( 0 ) ) .

T h b y t e f l a g t e l l s t h l i n k e r w h e t h e r t h e n t r y i r e f e r r i n g t l o c a t i o n i t h c o d e s e c t i o n o a a b s o l u t e l o c a t i o n . I t h e b y t e i o n e , t h e n t h l i n k e r w i l l k n o w t h a t i i r e f e r e n c i n g t h c o d e s e c t i o na n w i l l a d j u s t t h a d d r e s s w h e n t h c o d e s e c t i o n i r e l o c a t e d .z e r o t e l l s t h l i n k e r t h a t t h a d d r e s s d o e s n o n e e d t b r e l o c a t e d ( i m a b p o i n t i n g t R O r o u t i n e o r s o m e o t h e r s t a b l e l o c a t i o n ) .

S e c t i o n 4 T h E x t e r n a l S e c t i o n

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

w o r d s p e c i f y i n g h o t l i n k i i ( o f f s e t ) , a n t h a d d r e s s o t h i n s t r u c t i o n a c c e s s i n g t h e e x t e r n a l e n t i t y .

T h w o r d f o l l o w i n g t h e n a m e a l l o w s s e v e r a l p o s s i b i l i t i e s f o l i n k i n gi t h a d d r e s s o t h e e x t e r n a l e n t i t y . F i r s t o a l l , i a l l o w s y o t l i n ki t h a d d r e s s o t h e n t i t y , t h a d d r e s s p l u s o n e , t h e a d d r e s s p l u st w o , e t c . Y o c a n a d d u p t 8 1 9 1 b y t e s t t h e a d d r e s s . S e c o n d l y , y o c a d e c i d e t e i t h e r l i n k i t h w h o l e a d d r e s s ( f o r a b s o l u t e i n s t r u ct i o n s s u c h a L D x x x x ) o j u s t t h h i g h o l o b y t e o t h a d d r e s s( f o r i m m e d i a t e i n s t r u c t i o n s s u c h a L D # < x x x x o L D # > x x x x ) .

T h w a t s p e c i f y t h e s e o p t i o n s i t t a k e t h n u m b e r o b y t e s y o w a n t t a d t t h b a s e a d d r e s s a n m u l t i p l y b f o u r ( t o s h i f t i i n t ot h u p p e r 1 b i t s ) . T h e n y o u a d d 0 1 o r d e p e n d i n g o w h e t h e ry o w a n t t h w h o l e a d d r e s s , t h e h i g h b y t e , o r t h e l o b y t er e s p e c t i v e l y . T h r e s u l t i n g v a l u e w o u l d g i t h i s o f f s e t w o r d .

F i n i s h i n g u

T f i n i s h u t h o b j e c t f i l e , j u s t t e r m i n a t e i w i t h t w o N U L L s . N o y o c a g i v e i t h l i n k e r t e s t ! B e w a r e , b e c a u s e t h l i n k e r w a c r e a t e d t l i n k t o g e t h e r m o d u l e s c r e a t e d b t h c o m p i l e r . S i n c et h l i n k e r k n o w s w h a t t y p e o o b j e c t f i l e s t h c o m p i l e r i c a p a b l e o c r e a t i n g , i i s n ' t v e r y e r r o r t o l e r a n t a n w i l l l o c k u p o n j u s t a b o u t a n i r r e g u l a r i t y . I y o s a t h e r e a r e f i v e g l o b a l e n t r i e s , m a k e s u r e y o i n c l u d e e x a c t l y f i v e . M a k e s u r e y o t e r m i n a t e a l i d e n t i f i e r s w i t hN U L L s a n t h f i l e w i t h t w o N U L L s . E c e t e r a .

S p e c i a l R o u t i n e s

T h e r e a r e s e v e r a l s p e c i a l e x t e r n a l r o u t i n e s y o m a n e e d t u s w h e n w r i t i n g c o d e t b l i n k e d i t w o r k u n d e r t h e n v i r o n m e n t .F i r s t i t h c $ s t a r t r o u t i n e . T h i s r o u t i n e i i n c l u d e d i e v e r yp r o g r a m a n i r e s p o n s i b l e f o s e t t i n g u t h e n v i r o n m e n t . I d o e ss o m e s e t u p w o r k , c a l l s t h m a i n ( ) f u n c t i o n , t h e n d o e s s o m e c l e a nu w o r k b e f o r e r e t u r n i n g c o n t r o l t t h s h e l l o B A S I C . T h u s ,c $ s t a r t m u s t b e t h f i r s t t h i n g t b c a l l e d . T h f i r s t i n s t r u c t i o n o t h f i r s t f i l e t b l i n k e d i m u s t c a l l t h i s r o u t i n e . B u h o d o y o uk n o w w h i c h o s e v e r a l f i l e s w i l l b l i n k e d i f i r s t ? T s o l v e t h i s , t h c o m p i l e r p u t s J M c $ s t a r t i n s t r u c t i o n a t h f i r s t i n s t r u c t i o n i e v e r y m o d u l e i g e n e r a t e s . I t h e r e i c h a n c e t h a t y o u r m o d u l em i g h t b l i n k e d i f i r s t , y o w o u l d a l s o w a n t t p u i j u m p t t h c $ s t a r t e x t e r n a l r o u t i n e a s t h e f i r s t i n s t r u c t i o n i y o u r m o d u l e .

A n o t h e r i m p o r t a n t r o u t i n e y o w i l l w a n t t u s i t h c $ f u n c t _ i n i tr o u t i n e . T h i s i r o u t i n e t h a t w o u l d b c a l l e d f i r s t t h i n g i a n f u n c t i o n y o c r e a t e . N o r m a l l y , f u n c t i o n s c a l l t h e r o u t i n e s C $ 1 0 5o e n t r y a n C $ 1 0 6 j u s t b e f o r e r e t u r n i n g i n s t e a d o c $ f u n c t _ i n i t .C $ 1 0 5 c o p i e s t h e l o c a l v a r i a b l e s ( l o c a t i o n s $ 2 b - 4 a ) a n p a r a m e t e r s( c a s s e t t e b u f f e r $ 0 3 3 c - $ 0 3 f b ) o u o t h w a s t h s p a c e c a n b eu s e d f o n e v a r i a b l e s a n p a r a m e t e r s ; c 1 0 c o p i e s t h e m i a g a i nu p o n c o m p l e t i o n o t h f u n c t i o n . T h e s e r e q u i r e l o o o v e r h e a d , s t h c $ f u n c t _ i n i t r o u t i n e c o m e s i h a n d y f o s m a l l r o u t i n e s t h a tw i l l n o n e e d t u s t h l o c a l v a r i a b l e a r e a ( t h e y c a u s t h t e m p o r a r y l o c a t i o n s $ 2 2 - $ 2 a a n $ 4 b - $ 6 0 ) a n t h a t w i l l n o c a l lo t h e r r o u t i n e s t h a t w i l l u s t h v a r i a b l e a r e a o r t h e p a r a m e t e r a r e a .

U n f o r t u n a t e l y , t e x p l a i n C $ 1 0 5 a n C $ 1 0 6 i m o r e d e t a i l w o u l dt a k e u o u o t h s c o p e o t h i s a r t i c l e a n i n t o m e m o r y m a n a g em e n t .

P a r a m e t e r P a s s i n g

O n o t h a d v a n t a g e s o l i n k i n g m a c h i n e l a n g u a g e r o u t i n e st h r o u g h t h e o b j e c t f i l e a o p p o s e d t t h S Y f u n c t i o n i t h a b i l i t y t p a s s d o z e n s o p a r a m e t e r s . O t h o r i g i n a t i n g e n d , t h e v a l u e s o t h v a r i a b l e s y o a r p a s s i n g ( o r t h e i r a d d r e s s e s , i y o a r p a s s i n gp o i n t e r s ) a r e s t o r e d i m e m o r y s t a r t i n g a $ 0 3 3 c a n i t h s a m eo r d e r a t h e y w e r e d e c l a r e d i t h f u n c t i o n d e s c r i p t o r . T h a c c u m ul a t o r i t h e n s e t t o r e f l e c t t h n u m b e r o b y t e s u s e d u b t h p a r a m e t e r s , a n t h n e f u n c t i o n i c a l l e d ; i c a t h e n a c c e s s t h ep a r a m e t e r s d i r e c t l y f r o m t h i s m e m o r y . A a e x a m p l e , t h e f u n c t i o nF R E D ( A g e , N a m e , W e i g h t , H e i g h t ) ; w h e r e A g i c h a r a c t e rt y p e , N a m e i p o i n t e r t a a r r a y o c h a r a c t e r s , W e i g h t i f l o a t i n g p o i n t n u m b e r , a n H e i g h t i a i n t e g e r ; w o u l d s t o r e :

$ 0 3 3 c$ 0 3 3 d$ 0 3 3 e$ 0 3 3 f$ 0 3 4 0$ 0 3 4 1$ 0 3 4 2$ 0 3 4 3$ 0 3 4 4$ 0 3 4 5

A g ( o n e b y t e )N a m e ( l o w b y t e o p o i n t e r )N a m e ( h i g h b y t e o f p o i n t e r )W e i g h tW e i g h tW e i g h t ( F r e p r e s e n t a t i o n )W e i g h tW e i g h tH e i g h t ( l o w b y t e )H e i g h t ( h i g h b y t e )

T h a c c u m u l a t o r w o u l d b s e t t o 1 0 T h c a l l e d r o u t i n e w o u l dn a t u r a l l y h a v e t k n o w w h a t o r d e r t h p a r a m e t e r s a r i a n w h a tt y p e o v a r i a b l e e a c h p a r a m e t e r i s I t h c a l l e d f u n c t i o n n e e d s t r e t u r n v a l u e , i s h o u l d p u i b a c k i n t o t h c a s s e t t e b u f f e r a

T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 40: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 40/84

l o c a t i o n $ 0 3 3 c . S i n c e t h e v a l u e i n o w r i t t e n u n t i l j u s t b e f o r er e t u r n i n g , y o d o n ' t h a v e t w o r r y a b o u t o v e r w r i t i n g w h a t i a l r e a d y t h e r e .

A E x a m p l e I W o r t h T w T h o u s a n d B y t e s

I o r d e r t c l e a r u p a n y q u e s t i o n s y o m a s t i l l h a v e , w i l l p r e s e n tp r a c t i c a l e x a m p l e o c r e a t i n g a o b j e c t f i l e f r o m a a s s e m b l yl a n g u a g e f i l e . W h i l e u s e d P A a m a s s e m b l e r , y o s h o u l d b a b l ef i g u r e o u h o t g e y o u r a s s e m b l e r t d s o m e o t h u n u s u a lt h i n g s n e c e s s a r y t c r e a t e a o b j e c t f i l e . U n f o r t u n a t e l y , t h e c u r r e n tv e r s i o n o S Y M A S S , t h P A L - c o m p a t i b l e a s s e m b l e r , w i l l n o b a b l et a s s e m b l e m e x a m p l e b e c a u s e i r e q u i r e s a s s e m b l i n g t d i s k( s i n c e t h c o d e i a s s e m b l e d t l o c a t i o n $ 0 0 0 0 ) .

L i s t i n g i D o o d l e p r o g r a m w r i t t e n i C I r e q u i r e s f o u r e x t e r n a lr o u t i n e s , w h i c h i w i l l g e f r o m L i s t i n g 1 t h a s s e m b l y l a n g u a g ep o r t i o n . Y o w i l l h a v e t c o m p i l e t h p o r t i o n , a s s e m b l e t h a s s e m b l y l a n g u a g e p o r t i o n , a n t h e n l i n k t h e m t o g e t h e r w i t h t h l i n k e r . Y o w i l l t h e n h a v e a n e x e c u t a b l e p r o g r a m t h a t w i l l l e y o d r a w o n t h h i r e s s c r e e n w i t h t h I J K M d i a m o n d . T h + - a n k e y s s e t h d r a w i n g m o d e t o n o f f , a n f l i p r e s p e c t i v e l y . R U N /S T O P r e s t o r e s t h n o r m a l t e x t s c r e e n a n e x i t s t h p r o g r a m . T h p r o g r a m d o e s n ' t d o a n y b o u n d a r y c h e c k i n g s d o n ' t t r t d r a wo f t h s c r e e n o y o m a d e s t r o y s o m e t h i n g v i t a l !

L i s t i n g p r o v i d e s f o u r f u n c t i o n s : C l e a r , P l o t , F a s t K e y s , a n dS l o w K e y s . C l e a r f i l l s a n b l o c k o m e m o r y o a n s i z e w i t h a n b y t e . P l o t a l l o w s y o t m a n i p u l a t e a n p i x e l o t h g r a p h i c s c r e e n .F a s t K e y s s e t s u p a n i n t e r r u p t r o u t i n e t s p e e d u t h k e y b o a r dr e p e a t , a n S l o w K e y s t u r n s i o f a g a i n .

L i n e 5 i l i s t i n g o p e n s t h o b j e c t f i l e t w h i c h i w i l l w r i t e t h o b j e c t f i l e . a f o l l o w i n g c o n v e n t i o n ( w h i c h s u s p e c t t h a u t h o ro P o w e r f o l l o w e d ) o s u f f i x i n g o b j e c t f i l e s c r e a t e d f r o m s o u r c ew i t h a . a n d ' o b j e c t f i l e s c r e a t e d f r o m A s s e m b l y s o u r c e w i t h . O B J .

L i n e s 1 a n d 2 0 " f i x " P A s i w r i t e s t h e o b j e c t f i l e c o r r e c t l y f o o u p u r p o s e s . N o r m a l l y m a c h i n e l a n g u a g e f i l e b e g i n s w i t h t h o b j e c tc o d e o r i g i n a d d r e s s s t h a t t h e k e r n a l L O A D r o u t i n e k n o w s w h e r et p l a c e t h e r o u t i n e w h e n y o l o a d i t T h l i n k e r d o e s n o r e q u i r et h a t a d d r e s s a n d , i f a c t , g e t s c o n f u s e d b i t T h p o k e s i l i n e 2 r e p l a c e t h t w J M $ F F D 2 i n s t r u c t i o n s t h a t w r i t e t h a d d r e s s t t h f i l e w i t h d o - n o t h i n g B I $ F F D 2 i n s t r u c t i o n s . I y o h a v e a n o t h e ra s s e m b l e r y o w i l l h a v e t f i n d w a t g e a r o u n d t h i s p r o b l e m .Y o m a h a v e t w r i t e l i t t l e p r o g r a m t o s t r i p t h f i r s t t w b y t e s o f t h o b j e c t f i l e a f t e r c r e a t i n g i t

L i n e 3 i n v o k e s P A L , a n l i n e 4 t e l l s i t a s s e m b l e t t h f i l eo p e n e d i l i n e 1 0 I l i n e 5 0 t e l l t h a s s e m b l e r t s t a r t a s s e m b l i n gt l o c a t i o n $ 0 0 0 0 ( m i n u s t w f o t h e l e n g t h w o r d ) . t h e n d e f i n e t h f i l l e r l a b e l x x x x x x i l i n e 6 0 u s t h i s l a b e l i r e f e r e n c e s t e x t e r n a l e n t i t i e s s i n c e t h a s s e m b l e r r e q u i r e s s o m e t h i n g . T h l i n k e rw i l l f i l l i t h c o r r e c t a d d r e s s . L i n e 1 2 s e t s u t h j u m p t t h e s e t u pr o u t i n e i c a s e t h i s o b j e c t f i l e i s t h f i r s t o n t l ? l i n k e d i n

L i n e s 1 0 0 , 7 0 1 0 , 8 0 2 0 , a n 9 0 2 0 s e u t h e l e n g t h w o r d f o e a c h o t h s e c t i o n s . I l i n e 1 0 i i j u s t a m a t t e r o p u t t i n g t h e n o t h c o d e s e c t i o n s i n c e t h e c o d e s t a r t s a t $ 0 0 0 0 . T h l e n g t h i l i n e 7 0 1 0i c a l c u l a t e d b t a k i n g t h n u m b e r o b y t e s d e f i n e d i t h r e l o c a t es e c t i o n , d i v i d i n g b t w ( s i n c e t h e l e n g t h i e x p r e s s e d i w o r d si n s t e a d o f b y t e s ) , a n s u b t r a c t i n g o n ( t s k i p t h e l e n g t h w o r d ) .

C a l c u l a t i n g t h e l e n g t h i t h g l o b a l a n e x t e r n a l s e c t i o n s i l i t t l ed i f f e r e n t . H e r e u s e a l a b e l a i i w e r e v a r i a b l e , a d d i n g o n f o e a c h e n t r y , u s i n g P A L ' s l e f t - a r r o w t e m p o r a r y a s s i g n m e n t o p e r a t o r .S i n c e c a l c u l a t i n g l a b e l s h a p p e n s i t h f i r s t p a s s a n t h c o d e i w r i t t e n t h e s e c o n d p a s s , i d o e s n ' t m a t t e r t h a t t h l i n e s t h a ti n c r e m e n t t h l a b e l ( l i n e s 8 0 4 0 , 8 0 9 0 , 8 1 4 0 , e t c . ) a p p e a r a f t e r t h l i n e p u t t i n g t h w o r d i t h f i l e ( l i n e 8 0 2 0 o r 9 0 2 0 ) .

T h C l e a r r o u t i n e i i n l i n e s 1 6 0 - 3 9 0 a n t h g l o b a l e n t r y a l i n e s8 0 9 0 - 8 1 2 0 o p e n t h i s r o u t i n e t a l l o w a c c e s s b o t h e r f u n c t i o n s .L i k e w i s e , P l o t i n l i n e s 5 0 0 - 1 0 1 0 i o p e n e d b l i n e s 8 1 4 0 - 8 1 7 0 a a r e t h e F a s t K e y s a n S l o w K e y s r o u t i n e s b t h e n t r i e s a t l i n e s8 1 9 0 - 8 2 2 0 a n d 8 2 4 0 - 8 2 7 0 r e s p e c t i v e l y .

N o t i c e t h e g l o b a l e n t r y a l i n e s 8 2 9 0 - 8 3 2 0 a n t h t w e x t e r n a le n t r i e s a l i n e s 9 2 8 0 - 9 3 6 0 f o t h i r q % % r o u t i n e . S o m e t i m e s y o um a n e e d t a c c e s s a l o c a l r o u t i n e o r v a r i a b l e i m o r e s p e c i a l i z e dw a t h a n j u s t b a b s o l u t e a d d r e s s i n g . L i n e s 1 1 2 0 a n 1 1 4 0 n e e d t a c c e s s t h e l o c a l r o u t i n e i r q k e y s b y i m m e d i a t e a d d r e s s i n g . T h r e l o c a t e s e c t i o n , h o w e v e r , o n l y r e l o c a t e s a b s o l u t e a d d r e s s i n g i s t r u c t i o n s . I n o r d e r t g e i t w o r k h a t o t r e a t t h i r q k e y sr o u t i n e a s a e x t e r n a l r o u t i n e . T h i s s h o w s t h a t l o c a l r o u t i n e s c a b t r e a t e d a s e x t e r n a l r o u t i n e s i n e c e s s a r y . A l s o , c h o s e t a d d t w os y m b o l s t t h n a m e t e n s u r e t h a t i d o e s n ' t i n t e r f e r e i y o h a p p e nt d e f i n e a n o t h e r r o u t i n e n a m e d i r s o m e w h e r e e l s e .

I l i n e 9 7 0 1 a s t o r i n g v a l u e b a c k i n t o l o c a t i o n $ 0 3 3 c . T h i s i t p r o v i d e r e t u r n v a l u e s o t h a t t h c a l l i n g r o u t i n e c a n c h e c k t h n e s t a t e o f t h p i x e l a f t e r t h P l o t r o u t i n e i c a l l e d .

I C o n c l u s i o n . . .

w o u l d l i k e t o t h a n k B r i a n H i l c h i e f o a p o w e r f u l c o m p i l e r t h a t h a r a i s e d t h p r o d u c t i v i t y v a l u e o t h C o m m o d o r e 6 b s e v e r a ln o t c h e s . T h a n k s a l s o f o a e l e g a n t a n s t r a i g h t f o r w a r d o b j e c tf o r m a t . B u w h d i d n ' t h i n c l u d e t h i s i n f o r m a t i o n i t h d o c u m e nt a t i o n t a l l o w s o m e o n e t m a k e s o m e m o n e y w r i t i n g a r t i c l e sa b o u t i t w o u l d s u g g e s t t B r i a n t h a t , g i v e n t h n a t u r e o C m a c h i n e l a n g u a g e , a n h i s s p e c i f i c i m p l e m e n t a t i o n , i s h o u l d n o h a v e b e e n h a r d f o h i t i n c l u d e # A S M a n # E N D M s e o c o m p i l e r d i r e c t i v e s t a l l o w i n l i n e a s s e m b l y l a n g u a g e . T h i s w o u l dh a v e m a d e a a t t r a c t i v e c o m p i l e r v i r t u a l l y i r r e s i s t i b l e . w o u l dr e c o m m e n d h i a d d i n g i t f u t u r e u p d a t e . A f t e r a l l , c o m p a r e d t w r i t i n g c o m p i l e r , a d d i n g a s i m p l e a s s e m b l e r s h o u l d b p e a n u t s .H e m a y b a b l e t u s P A o S Y M A S S a s k e l e t o n . I a n y o n e c o u l dg i v e m B r i a n H i l c h i e ' s a d d r e s s , w o u l d l i k e t b a b l e t w r i t e t h i m y s e l f .

T h o s e o y o w h w a n t t t a k e t h e s e i d e a s f a r t h e r m i g h t w a n t t t a c k l e w r i t i n g a a s s e m b l e r t h a t w o u l d a s s e m b l e s o u r c e i n t o o b j e c tf i l e s o t h t y p e l i n k a b l e b t h l i n k e r . Y o w o u l d p r o b a b l y n e e d t a d s o m e p s e u d o o p l i k e . G L O B , . E X T N , a n . F U N C .

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

D a v i d G o d s h a l l1 3 W a g n e rE l k h a r t , I 4 6 5 1 6

F i d o - M a i l o N e t - M a l l c a b s e n t t m a n o d e 1 1 / 2 0 5 - < G > o -s h e n < T > o w n e < C > r i e r .T h T r a n s a c t o r 3 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 41: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 41/84

T a b l e 1 C o m p o s i t i o n o O b j e c t F i l e s

C d

L e n g t h

6 5 0 2 I n s t r u c t i o n s

L e n g t hA d d r e s s

R e l o c a t e

A d d r e s sL e n g t h

G l o b a l E n t r yC o m p o s i t i o n o G l o b a l E n t r i e s :

G l o b a l —

E x t e r n a l

G l o b a l E n t r y

L e n g t h

N a m eM o d e

A d J r e s s

E x t e r n a l E n t r y

E x t e r n a l E n t r y

/ -

A d d r e s s i a b s o l u t eA d d r e s s i l o c a l

C o m p o s i t i o n o E x t e r n a l E n t r i e s :N a m e

O f f s e tA d d r e s s

L i s t i n g 1 G R P L O T . P A L

H F D P J O M P 0

C A M E F I

K D N K D E F C

B F M J

o p e n 2 , 8 , 2 , " @ 0 : g r p l o t . o b j , s , w B1 p a p e e k ( 7 0 1 ) 2 5 6 * p e e k ( 7 0 2 )2 0 p o k e p a + 1 7 5 9 , 4 4 : p o k e p a + 1 7 6 4 , 4 43 s y 7 0 4 . o p t o 5 0 = - 6 x x x x x x8 9 9 9 8 c o d e s e c t i o n9 9 1 0 . w o r d c r e l o c1 1 0 ;1 2 0 c s t a r t j m x x x x x x1 3 0 ;1 3 " f u n c t i o n :1 3 ; ' C l e a r ( A d d r e s s , L e n g t h , B y t e )1 3 " u n s i g n e d i n A d d r e s s ;1 3 " u n s i g n e d i n L e n g t h ;1 3 5 ; " c h a r B y t e ;1 3 ; 1 3 7 ; " g l o b a l :1 3 8 ; " u n s i g n e d i n A d d r e s s ;1 3 9 ;1 4 a d d r e s s . w o r d $ e 0 0 01 5 0 ;1 6 c l e a r =

N D , C C

M J D J D J G D

C N K C L F J F I

M J L F N

A E B

1 6 5 e x t n 21 7 1 8 0 r l o c 11 9 2 0 2 1 0 r l o c 22 2 2 3 2 4 2 5 2 6 2 7 f l o o p i2 8 2 9 3 0 3 1 3 2 3 3 3 4 0 f l o o p 23 5 3 6 3 7 3 8 3 9 f e x i t3 9 9 ;4 0 g r r o w s4 1 4 2 4 3

T h T r a n s a c t o r 3

L e f t m o s t 1 b i t s 0 0 A b s o l u t ei O f f s e t t a d 0 H i g h b y t e

t E x t e r n a l 1 0 L o b y t eA d d r e s s 1 1 L o b y t e

j s x x x x x xI d $ 0 3 3 c ; < a d d rs t l a d d r e s ss t $ 2 I d $ 0 3 3 d ; > a d d rs t l a d d r e s s +s t $ 2 I d $ 0 3 4 0 ; b y t eI d # $ 0 0I d $ 0 3 3 f ; > l e n g t hb e f l o o p 2s t ( $ 2 2 ) , y ; f i l l ad e ; p a g eb n f l o o p ii n $ 2 ; f i l l m a n yd e ; p a g e sb n f l o o p iI d # c p $ 0 3 3 e ; < l e n g t hb e f e x i ts t ( $ 2 2 ) , y ; f i l l p a r ti n ; o p a g eb n f l o o p 2r t

. w o r d 0 3 2 0 , 6 4 0 , 9 6 0 , 1 2 8 0. w o r d 1 6 0 0 , 1 9 2 0 , 2 2 4 0 , 2 5 6 0 , 2 8 8 0. w o r d 3 2 0 0 , 3 5 2 0 , 3 8 4 0 , 4 1 6 0 , 4 4 8 0. w o r d 4 8 0 0 , 5 1 2 0 , 5 4 4 0 , 5 7 6 0 , 6 0 8 0

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 42: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 42/84

A H A M F

A A J N E F A D M C M

I F L A

F P M N D 0 G P

I R D r D J K K P

M C C

L I

H M H L N A G L O N D B E A L L J B

M F D F O

I I

A L O

4 4 4 4 9 ;4 5 o r b i t s4 6 a n b i t s4 7 4 9 0 ;4 9 f u n c t i o r

. w o r d 6 4 0 0 , 6 7 2 0 , 7 0 4 0 , 7 3 6 0 , 7 6 8 0

. b y t e 1 2 8 , 6 4 , 3 2 , 1 6 , 8 , 4 , 2 , 1. b y t e 1 2 7 , 1 9 1 , 2 2 3 , 2 3 9. b y t e 2 4 7 , 2 5 1 , 2 5 3 , 2 5 4

V 4 9 2 ; " c h a r P l o t ( x , y )4 9 3 ; " u n s i g n e d i n x , y ;4 9 4 ;4 9 5 ;5 0 p l o t5 0 e x t n 35 1 5 2 5 3 5 4 5 5 5 6 r l o c 35 7 5 8 r l o c 45 9 6 0 r l o c 56 1 0 r l o c 66 2 6 3 6 4

6 6 f i 7 0O r 6 8 6 9 7 0 7 1 7 2 7 4 7 5 7 6 7 7 7 8 7 9 8 0 8 1 8 2 8 3 0 e x t n 18 4 8 5 8 6 8 7 b i t f l i p8 8 r l o c 78 9 r l o c 89 0 b i t o n9 1 0 r l o c 99 2 0 r l o c 1 09 3 b i t o f f9 4 r l o d9 5 p e x i t9 6 r l o d9 7 9 8 9 9 1 0 0 01 0 1 01 0 9 0 ;

j s x x x x x xI d $ 0 3 3 eI s I s a n d # 2 5 4t a I d g r r o w s . yc l a d l a d d r e s ss t $ 2 I d g r r o w s 1 , a d l a d d r e s s +s t $ 2 I d $ 0 3 3 c

; c o o r d

; g e t r o ; a n d a d

b i t m a p; a d d r e s s

; c o o r d l a n # % 1 1 1 1 1 0 0 0a u ■ $ > £ . £ .

s t $ 2 H ^ f V ^ r ll U « 4 > L » O O Ua d c $ 2 3s t $ 2 I d $ 0 3 3 e

* p o n r H h , O U U I U 1 I

; c o o r da n # o / o O O O O O 1 1 1t a I d $ 0 3 3 c ; c o o r d l a n # % 0 0 0 0 0 1 1 1s t $ 2 s e I d $ 0 p h I d # $ 3 0s t $ 0 I d ( $ 2 2 ) , yI d I x x x x x xb e b i t o f fc p # b e b i t o nI d $ 2 e o l o r b i t s . xj m p e x i tI d $ 2 o r l o r b i t s . xj m p e x i tI d $ 2 a n l a n d b i t s . xs t a ( $ 2 2 ) , ya n l o r b i t s . xs t $ 0 3 3 cp l s t $ 0

c l r t

1 0 9 1 f u n c t i o n :1 0 9 2 ; " F a s t K e y s ( )1 0 9 3 ;H O O f a s t k e y

T h T r a n s a c t o r

; s w a p a l ; r o m / i o o u t

; c h e c kp l o t t y p e

; a n d m o d i f yp i x e l

; i n v e r t

p i x e l o

; p i x e l o f

r e p l a c e; b y t e a n ; r e t u r n; b i t s t a t e .

r e s t o r e; i o / r o m s .

P I

F I

K G O

J G F K F P P E E M H I L H B H G C K O A C

o P E C E A D B D G F

I E O L I

C L A N L P M E J F

I K G L E K A I

N K M D K

4

1 1 1 0 s e 1 1 2 0 e x t n 4 I d # < i r q k e y s1 1 3 0 s t $ 0 3 1 41 1 4 0 e x t n 5 I d # > i r q k e y s1 1 5 0 s t $ 0 3 1 51 1 6 0 c l 1 1 7 0 r t 1 2 9 9 ;1 3 0 0 i r q k e y s = 1 3 1 0 I d # $ 0 11 3 2 0 s t $ 0 2 8 b1 3 3 0 I d # $ 0 01 3 4 0 s t $ 0 2 8 c1 3 5 0 j m $ e a 3 11 3 9 0 ;1 3 9 1 f u n c t i o n :1 3 9 2 ; S l o w K e y s ( )1 3 9 3 ;1 4 0 0 s l o w k e y1 4 1 0 s e 1 4 2 0 I d # < $ e a 3 11 4 3 0 s t $ 0 3 1 41 4 4 0 I d # > $ e a 3 11 4 5 0 s t $ 0 3 1 51 4 6 0 c l 1 4 7 0 r t 1 4 8 0 ;R Q Q 76 9 9 8 ; r e l o c a t e s e c t i o nf i Q Q Q7 0 0 0 c r e l o c7 0 1 0 . w o r d ( c g l o b a l - c r e l o c ) > 1 - 7 0 2 0 ;7 0 3 0 . w o r d r l o d7 0 4 0 . w o r d r l o c 27 0 5 0 . w o r d r l o c 3 ; t h e a d d r s7 0 6 0 . w o r d r l o c 4 ; o a l 7 0 7 0 . w o r d r l o c 5 i n s t r u c t i o n s7 0 8 0 . w o r d r l o c 6 ; a c c e s s i n g7 0 9 0 . w o r d r l o c 7 ; l o c a l7 1 0 0 . w o r d r l o c 8 v a r i a b l e s .7 1 1 0 . w o r d r l o c 97 1 2 0 . w o r d r l o d 07 1 3 0 . w o r d r l o d7 1 4 0 . w o r d r l o d 27 9 9 6 ;7 Q Q 77 9 9 8 ; g l o b a l s e c t i o n7 Q Q Q8 0 0 0 c g l o b a l8 0 1 0 n u m g l o b =8 0 2 0 . w o r d n u m g l o b8 0 3 0 ;8 0 4 0 n u m g l o b n u m g l o b + 8 0 5 0 . a s c " A d d r e s s " : , b y t8 0 6 0 . b y t8 0 7 0 . w o r d a d d r e s s8 0 8 0 ;8 0 9 0 n u m g l o b _ n u m g l o b + 8 1 0 0 . a s c " C l e a r " : . b y t8 1 1 0 . b y t8 1 2 0 . w o r d c l e a r8 1 3 0 ;8 1 4 0 n u m g l o b n u m g l o b + 18 1 5 0 . a s c " P l o t " : . b y t8 1 6 0 . b y t8 1 7 0 . w o r d p l o t8 1 8 0 ;

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 43: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 43/84

P E O J M B

J A J

O D F C N A K A r \ r \H C D K B M B B J N I

N E F L E J

C B J A F O N H M B D N L

O D F N P E

D

8 1 9 0 n u m g l o b _ n u m g l o b + 8 2 0 08 2 1 08 2 2 08 2 3 0 ;

. a s c B F a s t K e y s B : . b y t 0. b y t 1. w o r d f a s t k e y

8 2 4 0 n u m g l o b _ n u m g l o b + 8 2 5 08 2 6 08 2 7 08 2 8 0 ;

. a s c " S l o w K e y s " : . b y t O. b y t 1. w o r d s l o w k e y

8 2 9 0 n u m g l o b n u m g l o b + 8 3 0 08 3 1 08 3 2 08 3 3 0 ;8 9 9 6 ;8 Q Q 7

. a s c B i r q % % " : . b y t 0. b y t 1. w o r d i r q k e y s

8 9 9 8 ; e x t e r n a l s e c t i o n8 9 9 9 ;9 0 0 0 c e x t e r n9 0 1 0 n u m e x t9 0 2 09 0 3 0 ;9 0 4 0 n u m e x t9 0 5 09 0 6 09 0 8 09 0 9 0 ;9 1 0 0 n u m e x t9 1 1 09 1 2 09 1 4 09 1 5 0 ;9 1 6 0 n u m e x t9 1 7 09 1 8 09 2 0 09 2 1 0 ;9 2 2 0 n u m e x t9 2 3 09 2 4 09 2 6 09 2 7 0 ;9 2 8 0 n u m e x t9 2 9 09 3 0 09 3 1 09 3 2 0 ;9 3 3 0 n u m e x t9 3 4 09 3 5 09 3 6 09 9 9 8 ;9 9 9 9

. w o r d n u m e x t

n u m e x t +. a s c " c $ s t a r t " : . b y t O. w o r d. w o r d c s t a r t

n u m e x t. a s c B P l o t T y p e " : . b y t 0. w o r d. w o r d e x t n l

n u m e x t + 1. a s c " c $ f u n c t [ ] i n i t B : . b y t 0. w o r d. w o r d e x t n 2

_ n u m e x t. a s c " c $ f u n c t [ ] i n i t " : . b y t O. w o r d O .. w o r d e x t n 3

n u m e x t + 1. a s c B i r q o / o o / o B : . b y t O. w o r d. w o r d e x t n 4

n u m e x t + 1. a s c ' i r q % % i : . b y t 0. w o r d. w o r d e x t n 5

. w o r d ; d o n e !

L i s t i n g 2 D O O D L E . C/

d o o d l e . c

b D a v i d G o d s h a l l♦

c h a r P l o t T y p e ;

m a i n (

c h a r P o i n t e r , K e y ,u n s i g n e d i n L o o p ,

T h T r a n s a c t o r

S t o r e i , S t o r e 2 , S t o r e 3 ;X , Y ;

h i g h m e m ( O x C C O O ) ;

P o i n t e r O x D D O O ;♦ P o i n t e r ( S t o r e i * P o i n t e r ) & 2 5 2 ;P o i n t e r 0 x D 0 1 1 ; / T u r n o G r a p h i c s♦ P o i n t e r ( S t o r e 2 ♦ P o i n t e r ) 1 3 2 ;r o m t e r u x u u i o ,S t o r e 3 P o i n t e r ;♦ P o i n t e r 0 x 3 8 ;

P o i n t e r 0 x 0 2 8 a ;♦ P o i n t e r 1 2 8 ;F a s t K e y s ( ) ;

C l e a r ( O x C C O O , 1 0 0 0 , 9 3 ) ;C l e a r ( O x E O O O , 8 0 0 0 , 0 ) ;P l o t T y p e 1 X 1 6 0 ;Y 1 0 0 ;P l o t ( X . Y ) ;w h i l e ( ( K e y w a i t k e y ( ) ) ! 3

s w i t c h ( K e y )

c a s e ' i c a s e '

c a s e / m c a s e ' c a s e ' j c a s e ' J '

c a s e ' Y c a s e ' K '

c a s e ' - '

c a s e ' +

P l o t ( X , — Y ) ;b r e a k ;

P l o t ( X , + + Y ) ;b r e a k ;

P l o t ( — X ; Y ) ;b r e a k ;

P l o t ( + + X , Y ) ;b r e a k ;P l o t T y p e 0 P l o t ( X . Y ) ;b r e a k ;P l o t T y p e 1 P l o t ( X . Y ) ;b r e a k ;

c a s e ' / ' n o l y p e z P l o t ( X . Y ) ;

S l o w K e y s Q ;

P o i n t e r O x D D O O ;♦ P o i n t e r S t o r e i ;P o i n t e r 0 x D 0 1 1 ;♦ P o i n t e r S t o r e 2 ;P o i n t e r 0 x D 0 1 8 ;♦ P o i n t e r S t o r e 3 ;

# d e f i n e G E T I N 0 x F F E 4

c h a r a x y ♦ n u m k e y s 1 9 8 ;

/ W a i t s f o u s e r t p r e s s k e ♦

i n t w a i t k e y Q

w h i l e ( ♦ n u m k e y s = 0

s y s ' ( G E T I N , & a , & x & y ) ;r e t u r n a

4

/ T u r n o k e r e p e a t

/ C l e a r c o l o u r s c r e e n/ C l e a r b i t m a p

/ A l l o w u s e r t d r a w l i n e s/ b u s i n g t h I J K / d i a m o n d . - + a n s e / c l e a r , s e t , o f l i p m o d e/ r e s p e c t i v e l y . S T O P e x i t s

/ R e s t o r e T e x t m o d e

* ♦

♦ ♦ * ♦ *

M a r c h 1 9 8 6 : V o l u m e 8 I s s u e O

Page 44: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 44/84

M a i n t a i n i n g t h P O W E R L i b r a r y

E r i c G i g u e r eW a t e r l o o , O

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

T h P o w e r c o m p i l e r f o t h C o m m o d o r e 6 i o n o t h b e s ts o f t w a r e i n v e s t m e n t s h a v e e v e r m a d e . A l t h o u g h t h C o m m od o r e 6 i n o t h e b e s t d e v e l o p m e n t t o o l f o p r o g r a m m i n g i C B r i a n H i l c h i e ' s c o m p i l e r f u n c t i o n s b e t t e r t h a n e x p e c t e d a n c o m p i l e r t d o A r e s u l t , h a v e b e e n c o n s t a n t l y u s i n g i o v e rt h p a s t f e m o n t h s , s l o w l y b u i l d i n g u l i b r a r y o f r o u t i n e s f o m p e r s o n a l u s e . U n f o r t u n a t e l y , t h i s w a p r o b l e m i i t s e l f :r e a l l y h a t e d h a v i n g t m a n u a l l y l i n k i m o w l i b r a r y r o u t i n e s .I w o u l d b e a s i e r , t h o u g h t , i c o u l d s o m e h o w i n c l u d e m o w r o u t i n e s i n t o t h e s t a n d a r d l i b r a r y ( b u i l t - i n f u n c t i o n s ) p r o v i d e dw i t h t h c o m p i l e r . A f t e r b i o r e s e a r c h , r e a l i z e d h o r i d i c u l o u s l y e a s y t h i s w o u l d b e a n p r o c e e d e d t w r i t e u s h o r t l i b r a r y m a i n t e n a n c e p r o g r a m .

L i b r a r y S t r u c t u r e

I n c l u d e d o t h s y s t e m d i s k t h a t c o m e s w i t h t h c o m p i l e r a r t h r e e l i b r a r y f i l e s . E a c h l i b r a r y f i l e i s s i m p l e s e q u e n t i a l f i l ec o n s i s t i n g o s e t s o f t w A S C I I s t r i n g s s e p a r a t e d b n u l l c h a r a ct e r s ( A S C I I 0 ) E a c h s e c o n s i s t s o f u n c t i o n n a m e ( s i g n i f i c a n t t e i g h t c h a r a c t e r s ) a n t h e f i l e n a m e o t h o b j e c t f i l e t h a t f u n c t i o ni t b f o u n d i n T h l i n k e r u s e s t h e s e f i l e s t l i n k t h p r o p e ro b j e c t m o d u l e s w i t h y o u r o w p r o g r a m s . T h t h r e e l i b r a r i e s ( a l ls u f f i x e d w i t h " . l d o t h d i s k ) a r e :

s y s l i b r o u t i n e s f o t h c o m p i l e r ' s o w i n t e r n a l u s s t d l i b t h s t a n d a r d l i b r a r y a d e s c r i b e d i t h P o w e r m a n u a lm a t h m a t h r o u t i n e s

d o n ' t r e c o m m e n d a l t e r i n g t h f i r s t l i b r a r y i n a n w a y , b u t t h o t h e r t w a r f a i r g a m e . S i n c e t h e s t r u c t u r e o l i b r a r y f i l e i s s s i m p l e , a d d i n g f u n c t i o n t l i b r a r y i r e a l l y a m a t t e r o a p p e n d i n g t w s t r i n g s t o t h e n o t h l i b r a r y f i l e . P r o g r a m 1 t h e U p d a t e r , d o e s j u s t t h a t . I a d d s f u n c t i o n t t h s p e c i f i e dl i b r a r y f i l e . I f f o e x a m p l e , y o w i s h t a d t h f u n c t i o n " p o k e " ,f o u n d i " p o k e . o b j " , t t h l i b r a r y f i l e " s t d l i b " , y o u w o u l d s i m p l yt y p e i t h l i b r a r y n a m e , t h e f u n c t i o n n a m e , a n d t h f i l e n a m e .T h p r o g r a m a u t o m a t i c a l l y a d d s t h r e q u i r e d M a n " . o b j "s u f f i x e s t t h l i b r a r y n a m e a n t h f i l e n a m e a n p r o c e e d s t a d t h f u n c t i o n t t h l i b r a r y .

C r e a t i n g N e L i b r a r y

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

l i b r a r y d i s k a r e n o t u s e d o f t e n e n o u g h i m p r o g r a m s t w a r r a n t t h s p a c e t h e y t a k e u p o n t h l i b r a r y d i s k . d e c i d e d t h a ti w o u l d b u s e f u l t t a k e t h e s t d l i b f i l e a n r e m a k e i t b e s t s u i tm o w n e e d s . P r o g r a m 2 t h e L i b r a r y E d i t o r , i a n o t h e r s i m p l ep r o g r a m t d j u s t t h a t .

W h e n c r e a t i n g y o u r o w l i b r a r y y o u h a v e t w o c h o i c e s : m o d i f yt h e x i s t i n g s t d l i b f i l e o r c r e a t e y o u r o w l i b r a r y f i l e . C r e a t i n gn e s t d l i b f i l e i s v e r y s i m p l e . F i r s t , c o p y t h o l s t d l i b f i l e o n t of r e s h d i s k e t t e . Y o m i g h t a l s o w a n t t c o p y t h l i n k e r p r o g r a mi t s e l f o n t o t h a t d i s k e t t e . T h e n l o a d u t h e L i b r a r y E d i t o r p r g r a m . U s o p t i o n t l o a d i t h s t d l i b f i l e . T h e n u s t h v i e wo p t i o n t e x a m i n e t h f i l e . C h o o s e w h i c h f u n c t i o n s y o w i s h t d e l e t e a n u s t h o p t i o n t d e l e t e t h e m ( o n e a t i m e , b f u n c t i o n n a m e ) . W h e n d o n e , u s t h o p t i o n t a d y o u r o w f u n c t i o n s . T h e n s a v e t h f i l e b a c k o n t o t h d i s k e t t e w i t h t h o p t i o n . T c o m p l e t e t h n e l i b r a r y , q u i t t h e d i t o r a n d c o p y a l t h n e c e s s a r y o b j e c t f i l e s o n t o t h n e l i b r a r y d i s k e t t e . Y o m i g h t w a n t t a d a n o t h e r o p t i o n t t h l i b r a r y e d i t o r t p r i n t o u

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

M a k i n g y o u r o w l i b r a r y f i l e i s j u s t a s i m p l e . F i r s t , d t h f o l l o w i n g :

o p e n I . S . S . ' O i m y l i b . l . s . w "c l o s e i

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

F i n a l N o t e s

K e e p i n g y o u r o w p e r s o n a l l i b r a r y h e l p s t s t r e a m l i n e t h c o m p i l a t i o n p r o c e s s , a n t h u s s a v e s b o t h t i m e a n f r u s t r a t i o n .W h i l e t h i s a r t i c l e w a c o n c e r n e d p r i m a r i l y w i t h t h P o w e rc o m p i l e r , t h g e n e r a l m e t h o d s u s e d c a n a l s o b a p p l i e d t o t h e r c o m p i l e r s a n m a c h i n e s , a l t h o u g h t h e i r l i b r a r y s c h e m e sm a b l o d i f f e r e n t .

T h T r a n s a c t o r 4 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 45: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 45/84

L i s t i n g 1 L i b r a r y E d i t o r

C C A G N E C O G A L K L K L H M F L

C D A J M H L N H F E B J

N L K

C D

F H F

G C C D I

O

1 r e c - p o w e r l i b r a r y e d i t o r2 r e 3 r e m b y e r i c g i g u e r e4 r e 5 0 p o k e 5 3 2 8 0 , 1 4 : p o k e 5 3 2 8 1 , 16 m a x = 2 0 0 : d i f c $ ( m a x ) , f l $ ( m a x )7 0 n u $ = c h r $ ( 0 )8 0 o p e n 1 5 , 8 , 1 51 0 p r i n t c h r $ ( 1 4 ) " [ c l r ] [ b l u e ] C L i b r a r y M a i n t e n a n c e

b E r i c G i g u e r e " ;1 1 p r i n t1 2 p r i n t " [ d o w n ] [ b l a c k ] [ A ] d d f u n c t i o n "1 3 p r i n t " [ d o w n ] [ D ] e l e t e f u n c t i o n "1 4 p r i n t " [ d o w n ] [ L ] o a d l i b r a r y "1 5 p r i n t " [ d o w n ] [ S ] a v e t h e l i b r a r y "1 6 p r i n t " [ d o w n ] [ Q ] u i t "1 7 p r i n t " [ d o w n ] [ V ] i e w t h l i b r a r y "1 8 p r i n t " [ d o w n ] P l e a s e s e l e c t : " ; : g o s u b 1 0 0 0

p r i n t c $ i c " q t h e n e n 1 9 i c $ O V t h e n 3 5 2 0 p r i n t ° [ c l r ] [ d o w n ] L i b r a r y n a m e : " ; : g o s u b 1 0 1 02 1 0 l i b $ l e f t $ ( i n $ , 1 2 " . l " : 0 a 2 2 o p e n 2 , 8 , 5 , " O : " l i b $ " , s , r "2 3 0 g o s u b 1 5 0 0 : i t h e n 1 5 5 02 4 p r i n t " [ d o w n ] l o a d i n g " ; l i b $ ; " .2 5 g e t # 2 , b $ : i b $ < > " a n s t = 0 t h e n a a b

K J F G F J P B H

I D A I L F K

I

P H G L C C P J J

g o t o 2 5 2 6 i s t < > 0 t h e n 3 0 2 7 0 n = n 1 : f c $ ( n ) a $ a $ = " "

5 5 i c $ < > " a " t h e n 6 5 5 6 i t h e n 1 0 5 7 p r i n t " [ c l r ] [ d o w n ] A d a f u n c t i o n "5 8 p r i n t " [ d o w n ] F u n c t i o n n a m e : " ; : g o s u b 1 0 1 05 9 + 1 f c $ ( n ) l e f t $ ( i n $ , 8 6 0 p r i n t " [ d o w n ] F i l e n a m e : " ; : g o s u b 1 0 1 06 1 f l $ ( n ) l e f t $ ( i n $ , 1 2 " . o b j "6 2 g o t o 1 0 6 5 0 i f c $ O " d " t h e n 1 0 06 5 i t h e n 1 0 6 6 p r i n t " [ c l r ] [ d o w n ] D e l e t e a f u n c t i o n "6 7 p r i n t " [ d o w n ] F u n c t i o n n a m e : " ; : g o s u b 1 0 1 06 8 f c l e f t $ ( i n $ , 8 ) j = 6 9 f o t n i f c $ = f c $ ( i ) t h e n i : + 7 0 n e x t : i 0 t h e n 1 0 7 1 i t h e n n - 1 : g o t o 1 0 7 2 f o i = + t n f c $ ( i - 1 ) = f c $ ( i ) : f l $ ( i - 1 ) = f l $ ( i )

n e x t : n - 7 3 g o t o 1 0 9 9 e n 1 0 0 0 p o k e 1 9 8 , 0 : p o k e 2 0 4 , 0 w a i t 1 9 7 , 6 4 , 6 4

g e c $ p o k e 2 0 4 , 1 : r e t u r n1 0 1 0 o p e n 1 , 0 : i n p u t # 1 , i n $ : c l o s e i : p r i n t : r e t u r n1 5 0 0 i n p u t # 1 5 , e , e $ : i e < 2 0 t h e n1 5 1 0 r e t u r n1 5 5 0 p r i n t " [ c l r ] [ d o w n ] D i s k e r r o r # " ; e1 5 6 0 p r i n t " [ 1 7 s p c s ] " ; e $1 5 7 0 c l o s e 2 c l o s e 1 5 e n

2 8 g e t # 2 , b $ : i b $ < > " " a n s t h e n a a b L i s t i n g 2 U p d a t e rg o t o 2 8

2 9 f l $ ( n ) a $ a = " " : i s 0 t h e n 2 5 3 0 c l o s e 2 g o t o 1 0 3 5 i c $ O " s " t h e n 4 5 3 6 i t h e n 1 0 3 7 p r i n t ° [ c l r ] [ d o w n ] A r y o s u r e ? ( y / n ) " ;

g o s u b 1 0 0 0 : i c $ O " y " t h e n 1 0 3 8 p r i n t c $ p r i n t " [ d o w n ] S a v i n g " ; l i b $ ; \ . 3 9 0 p r i n t # 1 5 , " s 0 : " l i b $4 0 o p e n 2 , 8 , 5 , " 0 : " l i b $ " , s , w " : g o s u b 1 5 0 0

i t h e n 1 5 5 04 1 f o t o 4 2 p r i n t # 2 , f c $ ( i ) ; n u $ ; f l $ ( i ) ; n u $ ;4 3 n e x t : c l o s e 2 g o t o 1 0 4 5 i c $ O V t h e n 5 5 4 6 i t h e n 1 0 4 7 p r i n t " [ c l r ] [ d o w n ] F u n c t i o n [ 8 s p c e s ] F i l e n a m e "4 8 p r i n t4 9 f o t 5 0 p r i n t " " ; f c $ ( i ) ; t a b ( 1 7 ) ; f l $ ( i )5 1 w a i t 1 9 7 , 6 4 : n e x t5 2 p r i n t " [ d o w n ] P r e s s k e y . . . " ; : g o s u b 1 0 0 0

g o t o 1 0

A C A G K

F

B

N

G I O

K I

J

E A B

T h T r a n s a c t o r 4

1 r e c - p o w e r l i b r a r y u p d a t e r2 r e 3 r e m b y e r i c g i g u e r e4 r e 5 p r i n t " [ c l r ] [ d o w n ] l n s e r t y o u r l i b r a r y d i s k i n t o

d r i v e 0 6 p r i n t " [ d o w n ] L i b r a r y n a m e : " ; : g o s u b 1 0 0 0

: l i b $ l e f t $ ( i n $ , 1 4 " . l "7 p r i n t " [ d o w n ] F u n c t i o n n a m e : " ; : g o s u b 1 0 0 0

: f c $ l e f t $ ( i n $ , 8 8 p r i n t " [ d o w n ] F i l e n a m e : " ; : g o s u b 1 0 0 0

: f l $ l e f t $ ( i n $ , 1 2 ) " . o b j "9 p r i n t " [ d o w n ] U p d a t i n g " ; l i b $ ; " . . . "1 0 o p e n 2 , 8 , 5 , " 0 : " l i b $ " , s , a "1 1 0 p r i n t # 2 , f c $ ; c h r $ ( 0 ) ;1 2 0 p r i n t # 2 , f l $ ; c h r $ ( 0 ) ;1 3 c l o s e1 4 p r i n t " [ d o w n ] D o n e . A n o t h e r f u n c t i o n ? ( y / n ) " ;

g o s u b 1 0 0 01 5 i l e f t $ ( i n $ , 1 ) " y t h e n 7 1 6 e n 1 0 0 0 o p e n 1 , 0 : i n p u t # 1 , i n $ : c l o s e 1 p r i n t : r e t u r n

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 46: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 46/84

B e t t e r S y n t a xF o K e r n a l D e v i c e I /

K e a t h M i l l i g a nA u s t i n , T e x a s

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

C o m p a r e d t o t h e r o p e r a t i n g s y s t e m s i i t c l a s s , t h e C - 6 4 ' s" K e r n a l " o f f e r s q u i t e b i o I / p o w e r t t h u s e r . H o w e v e r , i d o e s h a v e q u i t e f e s h o r t c o m i n g s , o n o t h e m b e i n g t h w a i r e f e r e n c e s t h e d i f f e r e n t d e v i c e s .

T h P r o b l e m

M o s t o p e r a t i n g s y s t e m s e x p e c t t h d e v i c e n u m b e r ( a n d s o m et i m e s o t h e r i n f o r m a t i o n , d e p e n d i n g o t h s y s t e m ) t b p a r t o t h e f i l e n a m e . F o r i n s t a n c e , P u s e r m i g h t u s e :

L O A D " B : B E E P B O O P . B A S "

t l o a d u h i f a v o u r i t e m u s i c p r o g r a m . N o t e t h a t t h e r e i n u , 8 "o a n y t h i n g e q u i v a l e n t . B u t a k e c l o s e r l o o k a t h a t f i l e n a m e .T h d e v i c e ( i t h i s c a s e , d i s k d r i v e B i s p e c i f i e d r i g h t t h e r e w i t ht h e f i l e n a m e . T h e A m i g a u s e s t h s a m e m e t h o d a s t h e P C , b u tw i t h d i f f e r e n t d e v i c e n a m e s .

T h i s m e t h o d g i v e s u s e r s o t h e s e s y s t e m s q u i t e b i o c h o i c ew h e n t h e y a r a s k e d f o f i l e n a m e . F o i n s t a n c e , i p r o g r a mr u n n i n g o P a s k s f o f i l e n a m e , t h u s e r c a u s u a l l yr e s p o n d w i t h a n v a l i d d e v i c e n a m e o r f i l e n a m e , t h u s g i v i n gh i t h c h o i c e o a n o t h d e v i c e s c o n n e c t e d t h i s y s t e m .

T h 6 u s e r , o t h o t h e r h a n d , c o u l d o n l y g i v e t h f i l e n a m e ,a n t h p r o g r a m w o u l d p r o b a b l y d e f a u l t t d r i v e 8 C o u n t l e s st i m e s h a v e w a t c h e d m s e c o n d d r i v e c o l l e c t d u s t b e c a u s ep r o g r a m s s i m p l y w o u l d n ' t t a l k t i t

A c t u a l l y , C o m m o d o r e D O d o e s h a v e t h i s s o r t o f f i l e n a m es y n t a x f o s p e c i f y i n g d r i v e s , b u i a p p l i e s t o n l y t h e d r i v e s i p a r t i c u l a r d i s k u n i t . I y o u h a v e s i n g l e d r i v e u n i t , l i k e t h 1 5 4 1 ,t h i s D O f e a t u r e i m o s t l y u s e l e s s , s t h u n f o r t u n a t e 6 u s e r i o u o l u c k a g a i n .

T h e P r o g r a m

O b v i o u s l y , t h e m o r e s t a n d a r d m e t h o d o " d e v i c e n a m e i f i l e n a m e "i s u p e r i o r t t h s y n t a x u s e d o n C o m m o d o r e ' s 8 - b i t m a c h i n e s . I g i v e s t h u s e r a c c e s s t a l t h e d e v i c e s c o n n e c t e d t t h c o p u t e r a n d o e s n o r e q u i r e e x t r a p r o g r a m m i n g e f f o r t .

L u c k i l y f o r u s , C o m m o d o r e d i h a v e f e g o o d i d e a s , a n d o n eo f t h e i r b e s t w a t h u s o p a g e v e c t o r s . B i n t e r c e p t i n g s o m eo t h e s e v e c t o r s i t ' s p o s s i b l e t c h a n g e t h w a t h K e r n a lc o m m u n i c a t e s w i t h d e v i c e s . T h p r o g r a m a c c o m p a n y i n g t h i sa r t i c l e u s e s t h i s m e t h o d t g i v e t h e 6 v a r i a t i o n o f t h s a m es o r t o d e v i c e / f i l e n a m e s y n t a x u s e d b M S - D O S a n A m i g a -D O S .

T i n s t a l l t h n e f i l e n a m e p a r s e r , r u t h B A S I C l o a d e r . T h p a r s e r c a b l o c a t e d a a n y e v e n p a g e b o u n d a r y , i . e . a n a d d r e s s t h a t i e v e n l y d i v i s i b l e b 2 5 6 . N o t e t h a t t h e l o a d e rd o e s n ' t c h a n g e a n y o t h B A S I C m e m o r y p o i n t e r s , s i y o w i s h t l o c a t e t h c o d e a a a d d r e s s i t h m a i n m e m o r y a r e a( 2 0 4 8 - 4 0 9 5 9 ) , y o u ' l l h a v e t a d j u s t t h p o i n t e r s a c c o r d i n g l y t p r e v e n t B A S I C f r o m o v e r w r i t i n g t h c o d e . T h e n h a n c e d s y n t a xc a b d i s a b l e d b s i m p l y p r e s s i n g R U N - S T O P / R E S T O R E .

N o y o c a r e f e r e n c e d e v i c e s b u s i n g t h e g e n e r a l s y n t a x o ' D ' , T o ' # f o l l o w e d b t h d e v i c e n u m b e r f o l l o w e d b a c o l o ni f r o n t o f t h e f i l e n a m e . F o e x a m p l e :

" D 9 : F I L E N A M E "

s p e c i f i e s f i l e o d e v i c e 9 ( ' D ' , T a n < # c a b u s e di n t e r c h a n g e a b l y )

S e c o n d a r y a d d r e s s e s c a n o b s p e c i f i e d f r o m w i t h i n t h f i l e n a m e a w e l l . T o d o t h i s , f o l l o w t h e d e v i c e n u m b e r w i t hc o m m a f o l l o w e d b t h s e c o n d a r y a d d r e s s . F o r e x a m p l e :" # 8 , 2 : F I L E N A M E \ T h i s c a n m o s t u s e f u l f o p r i n t e r f i l e s .

T h f i l e n a m e i o p t i o n a l , s t h p r i n t e r a n o t h e r d e v i c e s c a b r e f e r e n c e d e a s i l y . E x a m p l e s : u P 4 / , 7 : " , " # 0 : " .

N o t e t h c o l o n s , w h i c h m u s t b e p r e s e n t e v e n t h o u g h t h f i l e n a m e s a r e m i s s i n g . Y o s h o u l d a l s o b a w a r e t h a t d e v i c en u m b e r s a n s e c o n d a r y a d d r e s s e s s p e c i f i e d i n t h i s m a n n e r w i l lt a k e p r e c e d e n c e o v e r t h o s e s p e c i f i e d o u t s i d e t h f i l e n a m e .T h i n k o t h d e v i c e n u m b e r s a n s e c o n d a r y a d d r e s s e s s p e c i f i e dw i t h i n t h f i l e n a m e a a d j u s t m e n t s t t h o s e s p e c i f i e d o u t s i d e t h f i l e n a m e . F o i n s t a n c e ,

T h T r a n s a c t o r M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 47: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 47/84

i e q u i v a l e n t t

a n

i e q u i v a l e n t t

L O A D " D 8 : F I L E N A M E " , 0 , 1

L 0 A D " F I L E N A M E \ 8 , 1

O P E N 1 , 8 , 8 , " P 4 , 7 : "

O P E N 1 , 4 , 7

T h ' D o ' P m a b s p e c i f i e d i u p p e r o l o w e r c a s e . I t h p a r s e r e n c o u n t e r s a n y t h i n g t h a t i d o e s n ' t u n d e r s t a n d , i s i m p l yp a s s e s t h e n t i r e f i l e n a m e u n t o u c h e d t t h e K e r n a l . T h i s i t e n s u r e t h a t t h e p a r s e r w i l l n o i n t e r f e r e w i t h d i s k c o m m a n d sa n t h l i k e .

W i t h t h e n h a n c e m e n t a c t i v e , y o m u s t s p e c i f y a n r e f e r e n c e t t h c a s s e t t e d r i v e w i t h i n t h e f i l e n a m e :

L O A D " # 1 F I L E N A M E "T h e n h a n c e m e n t d e f a u l t s t d e v i c e n u m b e r 8 T h e r e f o r eL O A D " F I L E N A M E " w i l l l o o k f o t h f i l e o d e v i c e n u m b e r 8

H e r e a r s o m e e x a m p l e s o t h e n h a n c e d s y n t a x i u s e :

L O A D " D 9 : F I L E N A M E "

L O A D " F I L E N A M E " ( l o a d s f r o m d e v i c e 8

S A V E " D 1 F I L E N A M E "

O P E N 1 , 0 , 0 , " P 4 , 2 7 : "

L O A D " D 8 , 1 : * " ( s a m e a s L 0 A D " * " , 8 , 1 )

T h e e n h a n c e m e n t w i l l a l s o w o r k w i t h B A S I C a n d s o m e m a c h i n el a n g u a g e p r o g r a m s s l o n g a s t h e r e a r n v e c t o r o r m e m o r yc o n f l i c t s . I B A S I C p r o g r a m p r o m p t s y o f o f i l e n a m e , y o c a n , i m o s t c a s e s , u s t h e n h a n c e d s y n t a x . T h i s w i l l a l l o w y o t a c c e s s y o u r c h o i c e o d e v i c e s . Y o m a h a v e t p u a q u o t e ( " b e f o r e t h e f i l e n a m e b e c a u s e t h I N P U T s t a t e m e n t i B A S I C c a n ' th a n d l e c o l o n s o c o m m a s . T r i w i t h o u t t h q u o t e f i r s t s o m ep r o g r a m s h a v e t h e i r o w i m p r o v e d i n p u t r o u t i n e s .

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

L i s t i n g 1 B A S I C L o a d e r f o N e F i l e N a m e P a r s e r

J A O P A N

1 0 p r i n t ' s t a r t a d d r e s s 4 9 1 5 2 "1 1 0 p r i n t c h r $ ( 1 4 5 ) ; t a b ( 1 3 ) ;1 2 0 i n p u t s a : a = s a1 3 m i n t ( a / 2 5 6 ) : l s = a - m s * 2 5 61 4 i f l s O O t h e n p r i n f m u s t b e v e n p a g e b o u n d a r y ": e n d1 5 r e a d v i v = - 1 t h e n 1 9

P M E C

M L O

P A K I

M N N O

F H F E O A G O E

I O

G B

I F G

C G F K F P K N G J N L E A F M B O

J D P L D M F

G J A

1 6 0 c h c 1 7 i f ( v 1 9 2 ) o r ( v 1 9 3 ) t h e n v v - 1 9 2 : v m 1 8 p o k e a , v : a = a + : g o t o 1 5 01 9 i f c h < > 4 3 2 8 6 t h e n p r i n t ° c h e c k s u m e r r o r . " : e n d2 0 p r i n f e n h a n c e d f i l e n a m e s y n t a x e n a b l e d . "2 1 0 s y s s a2 2 p r i n t2 3 p r i n f t o c h a n g e d e f a u l t d e v i c e u s e :2 4 p r i n t " p o k e " ; s a + 1 3 4 ; " . d e v i c e "2 5 0 e n d2 6 0 :2 7 d a t a 1 6 9 , 3 1 , 1 6 0 , 1 9 2 , 1 4 1 , 2 6 3 , 1 4 02 8 d a t a 2 7 3 , 1 6 9 , 3 7 , 1 6 0 , 1 9 2 , 1 4 1 , 4 2 9 d a t a 3 , 1 4 0 , 4 9 3 , 1 6 9 , 4 5 , 1 6 0 , 1 9 23 0 d a t a 1 4 1 , 5 0 3 , 1 4 1 , 5 1 3 9 6 3 3 1 d a t a 5 1 , 1 9 2 , 7 6 7 4 , 2 4 3 , 7 2 3 2 5 3 2 d a t a 1 9 2 , 1 0 4 , 7 6 , 1 6 5 , 2 4 4 , 3 2 5 1 , 1 9 23 3 d a t a 7 6 2 3 7 , 2 4 5 , 1 6 5 , 1 8 7 , 1 4 1 , 2 1 , 1 9 33 4 d a t a 1 6 5 , 1 8 8 , 1 4 1 , 2 2 , 1 9 3 , 1 6 5 , 1 8 6 , 1 4 13 5 d a t a 3 9 , 1 9 3 , 1 6 5 , 1 8 5 , 1 4 1 , 4 0 , 1 9 3 , 1 6 53 6 0 d a t a 1 8 3 , 1 4 1 , 4 2 , 1 9 3 , 3 2 2 0 , 1 9 3 , 2 0 13 7 d a t a 3 5 , 2 4 0 , 8 , 2 0 1 , 6 8 , 2 4 0 , 4 , 2 0 13 8 d a t a 8 0 , 2 0 8 , 3 2 , 1 6 2 , 0 , 1 4 1 , 4 1 , 1 9 33 9 d a t a 3 2 2 0 , 1 9 3 , 1 4 1 , 4 3 , 1 9 3 , 2 0 1 , 5 4 0 d a t a 2 4 0 , 3 4 , 2 0 1 , 4 4 , 2 4 0 , 3 0 , 2 0 1 , 4 4 1 d a t a 1 4 4 , 9 , 2 0 1 , 5 8 , 1 7 6 , 5 , 2 3 2 , 2 2 44 2 d a t a 3 , 2 0 8 , 1 5 , 1 6 5 , 1 8 3 , 2 4 0 , 1 0 , 1 6 54 3 d a t a 1 8 6 , 2 0 1 , 1 , 2 0 8 , 4 , 1 6 9 , 8 , 1 3 34 4 d a t a 1 8 6 , 9 6 , 2 0 8 , 2 1 2 , 2 2 4 , 0 , 2 4 0 , 2 3 54 5 d a t a 1 6 5 , 1 8 7 , 1 4 1 , 2 1 , 1 9 3 , 1 6 5 , 1 8 8 , 1 4 14 6 d a t a 2 2 , 1 9 3 , 1 6 5 , 1 8 3 , 1 4 1 , 4 2 , 1 9 3 , 3 4 7 d a t a 2 0 , 1 9 3 , 1 7 3 , 2 1 , 1 9 3 , 1 3 3 , 3 , 1 7 34 8 d a t a 2 2 , 1 9 3 , 1 3 3 , 4 , 1 3 8 , 3 2 4 4 , 1 9 34 9 d a t a 1 7 6 , 4 8 , 1 6 5 , 5 , 1 4 1 , 3 9 , 1 9 3 , 3 5 0 d a t a 2 0 , 1 9 3 , 2 0 1 , 5 8 , 2 4 0 , 6 , 2 0 1 , 4 5 1 d a t a 2 4 0 , 3 5 , 2 0 8 , 2 4 3 , 1 7 3 , 2 1 , 1 9 3 , 1 3 35 2 d a t a 1 8 7 , 1 7 3 , 2 2 , 1 9 3 , 1 3 3 , 1 8 8 , 1 7 3 , 4 5 3 d a t a 1 9 3 , 1 3 3 , 1 8 3 , 1 7 3 , 4 0 , 1 9 3 , 1 3 3 , 1 8 55 4 d a t a 1 7 3 , 3 9 , 1 9 3 , 1 3 3 , 1 8 6 , 2 0 1 , 1 , 2 0 85 5 d a t a 1 9 6 7 6 , 1 2 3 , 1 9 2 , 1 6 2 , 0 , 1 7 35 6 d a t a 2 1 , 1 9 3 , 1 3 3 , 3 , 1 7 3 , 2 2 , 1 9 3 , 1 3 35 7 d a t a 4 3 2 2 0 , 1 9 3 , 2 0 1 , 5 8 , 2 4 0 , 1 5 8 d a t a 2 3 2 , 2 2 4 , 4 2 4 0 , 8 2 0 1 , 4 8 , 1 4 45 9 d a t a 4 , 2 0 1 , 5 8 , 1 4 4 , 2 3 6 , 9 6 , 1 3 8 , 2 4 06 0 d a t a 2 5 2 , 3 2 4 4 , 1 9 3 , 1 6 5 , 5 , 1 4 1 , 4 6 1 d a t a 1 9 3 , 7 6 1 9 6 , 1 9 2 , 1 7 3 , 2 5 5 , 2 5 5 , 4 6 2 d a t a 1 2 7 , 2 3 8 , 2 1 1 9 3 , 2 0 8 , 3 2 3 8 , 2 6 3 d a t a 1 9 3 , 2 0 6 , 4 2 , 1 9 3 , 2 0 1 , 0 9 6 6 4 d a t a 0 , 0 , 0 0 , 1 4 1 , 1 2 3 , 1 9 3 , 1 6 96 5 0 d a t a 0 , 1 6 8 , 1 7 4 , 1 2 3 , 1 9 3 , 1 3 3 , 5 , 1 3 36 6 d a t a 6 2 4 3 2 8 5 , 1 9 3 , 1 7 6 , 2 1 , 1 7 76 7 0 d a t a 3 4 1 1 5 2 4 , 1 0 1 , 5 , 1 3 3 ,6 8 d a t a 1 4 4 , 5 , 2 3 0 , 6 5 6 , 2 4 0 , 5 2 6 9 d a t a 2 0 0 , 2 0 2 , 2 0 8 , 2 3 0 , 9 6 6 5 3 7 0 d a t a 6 , 1 7 6 , 2 8 , 1 6 5 , 6 7 2 , 1 6 5 ,7 1 d a t a 7 2 6 , 5 , 3 8 6 , 1 7 6 , 1 7 7 2 0 d a t a 5 3 8 6 , 1 7 6 , 1 1 , 1 0 4 , 1 0 1 ,7 3 0 d a t a 1 3 3 , 5 , 1 0 4 , 1 0 1 , 6 , 1 3 3 , 6 9 7 4 d a t a 1 0 4 , 1 0 4 , 9 6 0 -

T h T r a n s a c t o r 4 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 48: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 48/84

Page 49: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 49/84

B J B H J H H B O M O K A D J B P B E I E O N D M

J H A M E J K O N G E K E M D O J L O E I E I

O B D E C P G J D M 0

2 1 6 02 1 7 02 1 8 02 1 9 02 2 0 02 2 1 02 2 2 02 2 3 02 2 4 02 2 5 02 2 6 02 2 7 02 2 8 0 p a s s i t2 2 9 0 c h k s a2 3 0 02 3 1 02 3 2 02 3 3 02 3 4 0 c s a l o o p2 3 5 02 3 6 02 3 7 02 3 8 02 3 9 02 4 0 02 4 1 02 4 2 02 4 3 02 4 4 0 c s a e r r2 4 5 0 c s a o u t2 4 6 02 4 7 02 4 8 02 4 9 02 5 0 02 5 1 0 ;2 5 2 0 g e t f c h r2 5 3 0 f n p t r2 5 4 02 5 5 02 5 6 02 5 7 02 5 8 0 g f 2 5 9 02 6 0 02 6 1 0 ;2 6 2 0 t d e v2 6 3 0 t s 2 6 4 0 t d n a m e2 6 5 0 c t 2 6 6 0 t s e p2 6 7 0 ;

s t f n a d rI d f n p t r +s t f n a d r + 1I d c t s t f n l e nI d a t s as t s I d t d e vs t f c m p # 1b n p a s s i tr t j m p c h k d e vI d # I d f n p t r +s t a p t rI d f n p t r +s t a p t r + j s g e t f c h rc m p # " : 'b e c s a o u ti n c p # b e c s a e r rc m # " 0 "b c c s a e r rc m # ° 9 ° + b c c s a l o o pr t t x b e c s a e r rj s a s c 2 w o rI d b p t rs t t s j m f i n i s h f s

I d $ f f f f ; d u m m y a d d ra n # % 0 1 1 1 1 1 1 1 m a s k h i g h - b i ti n c f n p t rb n g f i n f n p t r +d e c t c m p # 0r t

. b y t O. b y t O. b y t O. b y t O. b y t O

2 6 8 0 ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *2 6 9 0 c o n v e r t d e c i m a l a s c i i t w o r d2 7 0 0 ; *2 7 1 0 ; *2 7 2 0 ; 2 7 3 0 ;

. l e n g t h o f s t r i n ga p t r p o i n t s t s t r i n g

r e t - b p t r 1 b i w o r dc e r r o r , c o 2 7 4 0 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

T h T r a n s a c t o r

E O J

H F H

G N E

A F K J G K A C D D L E

A B N F O L C L E N P K G O

O K J M I

H A C

I O N D E C A O C G

4

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

a s c 2 w o r s t d e c l e nI d # t a I d d e c l e ns t b p t rs t b p t r + c l

a s c 2 w o r 1 j s r b y 1 0b c a s c 2 w o r xI d ( a p t r ) , y

; m u l t i p l y b y 1 0; c o v e r f l o w

a n # % 0 0 0 0 1 1 1 1c l a d b p t rs t b p t rb c a s c 2 w o r 2i n b p t r + s e b e a s c 2 w o r x

a s c 2 w o r 2 c l ci n d e b n a s c 2 w o r 1

a s c 2 w o r x r t s

b y 1 0 - m u l t i p l y b 1

b y 1 0 a s b p t rr o b p t r h b c b y 1 0 rI d b p t r + 1p h I d a b p t rp h a s b p t rr o b p t r + b c b y 1 0 xa s b p t rr o b p t rb c b y 1 0 xp l a d b p t rs t b p t rp l a d b p t rs t b p t r

b y 1 0 r r t b y 1 0 x p l

p l r t

d e c l e n . b y t O

; e o v e r f l o w

; x

; c o v e r f l o w

; x

; c o v e r f l o w; x

; c o v e r f l o w

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 50: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 50/84

R A E x p a n s i o nM o d u l e B u

D J M o r r i s sT o r o n t o , O n t a r i o

. . U n d e r t h w r o n g c o n d i t i o n s , t h b u c o n f i g u r e s t h e C - 1 2 8 m e m o r y i u n e x p e c t e d w a y s .

s u b t l e b u e x i s t s i n t h C - 2 K e r n a l r o u t i n e s f o a c c e s s i n g t h eR A E x p a n s i o n M o d u l e , a f o u n d i t h e V e r s i o n R O M ' s( L i s t i n g 1 ) U n d e r t h w r o n g c o n d i t i o n s , t h b u c o n f i g u r e s t h eC - 1 2 8 m e m o r y i u n e x p e c t e d w a y s , b e f o r e t r a n s f e r r i n g d a t a t o f r o m t h R A E x p a n s i o n . P a r t o t h b u h a b e e n c o r r e c t e di t h n e V e r s i o n R O M s , a n s o f t w a r e p a t c h f o V e r s i o nR O M s i s u p p l i e d i t h i s a r t i c l e . H o w e v e r p a r t o t h b u i s t i l lp r e s e n t , a n i n d e e d , s e e m s t b a e s s e n t i a l p a r t o t h o p e r a t i o n o t h R A E x p a n s i o n .

A r e s u l t o f t h i s b u g , a n p a r t i c u l a r R A E x p a n s i o n o p e r a t i o nr u n s a s m a l l c h a n c e o a c c e s s i n g t h e C - 1 2 8 B a n k 1 5 c o n f i g u r at i o n , n m a t t e r w h a t c o n f i g u r a t i o n h a b e e n c h o s e n . I d o e s n ' tm a t t e r w h e t h e r t h e c o n f i g u r a t i o n h a b e e n s e b t h B A N Kc o m m a n d f r o m B A S I C , o b M / o p e r a t i o n s o t h M e m o r yM a n a g e m e n t U n i t . T t h e x t e n t t h a t B a n k 1 d i f f e r s f r o m t h c h o s e n c o n f i g u r a t i o n , t h R A E x p a n s i o n o p e r a t i o n w i l l c a u s eo n o s e v e r a l p r o b l e m s . I t h b u a c t s d u r i n g a S T A S H , t h w r o n g d a t a w i l l b p l a c e d i t h R A E x p a n s i o n . I t h b u s t r i k e s d u r i n g a F E T C H , t h e d a t a w i l l b s e n t t B a n k 1 5 a n l o s t . I a d d i t i o n , i c o u l d o v e r w r i t e i m p o r t a n t l o c a t i o n s i B a n k1 5 c r a s h i n g t h s y s t e m .

e n c o u n t e r e d t h b u w h i l e w r i t i n g B A S I C p r o g r a m t o s o r td o u b l e s i d e d d i s k f u l l o s t r i n g s ; m a n y m o r e t h a n c o u l d b l o a d e d i n t o t h C - 1 2 8 a o n t i m e . T h b r u t e f o r c e t e c h n i q u eu s e d w a t r e a d a m a n y s t r i n g s a s p o s s i b l e i n t o t h C - 1 2 8m e m o r y , s o r t t h e m u s i n g m a c h i n e l a n g u a g e r o u t i n e , a n t h e nt e m p o r a r i l y s t o r e t h s o r t e d s t r i n g s i n b a n k o t h R A e x p a n s i o n . s t o r e d t h s t r i n g s i n d i v i d u a l l y , u s i n g r o u t i n e l i k et h i s :

1 0 D E F F N D K ( X ) P E E K ( X ) + 2 5 6 * P E E K ( X 1

1 0 B A N K 1 S L O W1 1 0 F O R K = 1 T O N S1 2 0 J P O I N T E R ( A $ ( K ) )1 3 S T A S H N L F N D K ( J 1 ) , N L * ( K - 1 ) , B K1 4 N E X T

w h e r e N i t h n u m b e r o s o r t e d s t r i n g s i n m e m o r y , N i t h l e n g t h o s t r i n g ( a l l t h e s a m e ) , a n B i t h n u m b e r o o n o t h R A e x p a n s i o n b a n k s .

T h p r o g r a m c o n t i n u e d l o a d i n g a n s o r t i n g p o r t i o n s o t h t o t a ll i s t , a n S T A S H i n g t h e m i n d i f f e r e n t b a n k s o t h R A e x p a ns i o n u n t i l t h l a s t s t r i n g w a r e a d f r o m d i s k . T h e n t h e s o r t e ds u b s e t s w e r e m e r g e d i n t o s i n g l e , s o r t e d , d i s k f i l e b f i r s tF E T C H i n g t h f i r s t s t r i n g f r o m e a c h R A e x p a n s i o n b a n k u s e d .T h s m a l l e s t o t h e s e w a w r i t t e n t o d i s k , a n r e p l a c e d b F E T C H i n g t h n e x t o n f r o m t h a t R A e x p a n s i o n b a n k . T h s m a l l e s t w a a g a i n w r i t t e n a n r e p l a c e d , a n s o n T h i sc o n t i n u e d u n t i l t h l a s t s t r i n g w a r e a d f r o m e a c h R A e x p a ns i o n b a n k a n w r i t t e n t o d i s k .

T h i s p r o c e s s r e q u i r e d s o m e p r e l i m i n a r y w o r k . T a l l o w t h R A E x p a n s i o n t a c c e s s t h e C - 2 B a n k 1 i w a n e c e s s a r y t o s e t B i

o $ D 5 0 6 . T h i s i t h R a C o n f i g u r a t i o n R e g i s t e r o t h M e m o r y M a n a g e m e n t U n i t ( M M U ) . T h i s a l s o m a k e s t h 4 c o l u m n s c r e e n u s e l e s s . T h s e c o n d p r o b l e m i t h a t t h K e r n a lD M C A L L r o u t i n e n e e d l e s s l y i n s i s t s o c o n f i g u r i n g m e m o r y t m a k e t h I / b l o c k f r o m $ D 0 0 0 t $ D F F F v i s i b l e b e f o r ea c c e s s i n g t h R A E x p a n s i o n ( t h i s h a b e e n c h a n g e d i t h V e r s i o n R O M s ) . S i n c e a n s t r i n g s s t o r e d i B a n k i t h i sa d d r e s s r a n g e w o u l d b i n v i s i b l e t t h R A E x p a n s i o n ,l o w e r e d t h e t o p o t h s t r i n g p o o l ( i $ 3 9 a n d $ 3 A ) t b e l o w$ D 0 0 0 .

W h e n t e s t e d t h p r o g r a m o f i l e c o n t a i n i n g f i f t e e n t h o u s a n ds t r i n g s , t e n c h a r a c t e r s l o n g , d i s c o v e r e d t h a t t i n y f r a c t i o n o ft h e s o r t e d s t r i n g s w e r e c o r r u p t e d w h e n t h e y c a m e b a c k f r o m t h R A e x p a n s i o n . N a t u r a l l y , t h i s r u i n e d t h e m e r g i n g p r o c e s s . I f a c t , t h s t r i n g s w e r e c h a n g e d i n t o c h u n k s , t e n b y t e s l o n g , f r o mt h C - 1 2 8 R O M ' s ! d e t e r m i n e d t h a t t h s t r i n g s w e r e c o r r u p t e do S T A S H i n g , a n t h a t t h e p i e c e s o R O t h a t r e p l a c e d t h s t r i n g s c a m e f r o m t h s a m e a d d r e s s e s a t h s t r i n g s t h a t w e r ec o r r u p t e d . T h S T A S H c o m m a n d w a e x e c u t i n g p e r f e c t l y , e c e p t t h a t i w a S T A S H i n g f r o m B a n k 1 5 i n s t e a d o B a n k 1

I w a s t r o k e o p u r e l u c k t h a t w a a b l e t d i s c o v e r t h i s . A y o u w o u l d e x p e c t , t r y i n g t i n t e r p r e t p i e c e s o R O a s t r i n g sl e a d s t m e s s o g r a p h i c , c u r s o r c o n t r o l a n s c r e e n c o l o rc h a r a c t e r s . B u o n o t h s t r i n g s t h a t s h o w e d u c o r r u p t e dt u r n e d o u t b p a r t o t h l i s t o B A S I C c o m m a n d s , a n a n o t h e rc a m e b a c k a " S T R I N G T O O " ; p a r t o o n o t h B A S I C e r r o rm e s s a g e s ! k n e w t h a t t h e s e s t r i n g s c a m e f r o m t h R O M s , a n i w a e a s y t u s t h M O N I T O R H U N T c o m m a n d t s h o w t h a t a l t h e c o r r u p t e d s t r i n g s w e r e s e c t i o n s o R O M .

T h T r a n s a c t o r 4 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 51: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 51/84

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

f e w , m a y b e t w t f i v e , w e r e c o r r u p t e d e a c h t i m e , b u t h a t w a m o r e t h a n e n o u g h . D u r i n g s h o r t v a c a t i o n t r i p , l e f t m C - 1 2 8w o r k i n g a w a y , S T A S H i n g a n d F E T C H i n g f o 8 s t r a i g h t h o u r s .T h r e s u l t w a 6 3 S T A S H f a i l u r e s i n 3 , 5 1 2 , 3 8 0 S T A S H e s . T h i sw o r k s o u t f a i l u r e r a t e o i 5 5 7 5 !

W h e n e x a m i n e d t h e v a r i o u s p a r t s o t h C - 2 R O M ' s i n v o l v e di t h R A E x p a n s i o n c o m m a n d s , f o u n d t h c a u s e o t h p r o b l e m . T u n d e r s t a n d t h b u g , y o u n e e d t k n o w l i t t l e a b o u tt h o p e r a t i o n o t h R A E x p a n s i o n i t s e l f .

T h R A E x p a n s i o n m o d u l e c o n t a i n s i t o w c o m p u t e r , t h eR a E x p a n s i o n C o n t r o l l e r ( R E C ) . A c o m p u t e r s g o t h R E i n o t t o o b r i g h t . A l i d o e s i m o v e b y t e s . I h a a i n s t r u c t i o n s e o f o u r c o m m a n d s ! O t h e o t h e r h a n d , i i v e r y g o o d a w h a t i d o e s , m o v i n g b y t e s m u c h f a s t e r t h a n t h C - 1 2 8 C P c a n . S o t o p e r a t e t h R A E x p a n s i o n , t h C - 1 2 8 f i r s t l o a d s t h e R E r e g i s t e r s w i t h i n f o r m a t i o n a b o u t t h l o c a t i o n a n n u m b e r o b y t e s t b t r a n s f e r r e d , t e l l s t h R E C C o m m a n d R e g i s t e r , a $ D F 0 1 , w h a t t d o a n t h e n g e t s o u o t h w a y . T h R E t a k e so v e r , m o v e s t h d a t a , a n t h e n r e t u r n s c o n t r o l t t h e C - 1 2 8 . F o

c o m p l e t e l i s t i n g o a l t h R E r e g i s t e r s , s e t h e T r a n s a c t o ra r t i c l e " C o m m o d o r e E x t e r n a l R A E x p a n s i o n C a r t r i d g e s " , b D a l e A C o s t e l l o , V o # 8 , I s s u e # 2 , p a g e 3 8

H o w e v e r , t h c o m p l e x m e m o r y c o n f i g u r a t i o n s o t h C - 1 2 8p r e s e n t e d a p r o b l e m . T t e l l t h R E t t a k e o v e r , y o m u s t l o a d

v a l u e i n t o t h R E C o m m a n d R e g i s t e r a $ D F 0 1 . C l e a r l y , t d t h i s t h I / b l o c k m u s t b v i s i b l e . B u s u p p o s e t h m e m o r y y o w a n t t m o v e i i s o m e o t h e r b a n k . I y o c a s e t h R E C , t h R E c a n ' t s e t h m e m o r y t b s h i f t e d . I t h R E c a s e t h m e m o r y t b s h i f t e d , y o c a n ' t t e l l t h R E t o p e r a t e . T h c h i pd e s i g n e r s g o t a r o u n d t h i s b c o m i n g u w i t h a d e l a y e d a c t i o nf e a t u r e . I e f f e c t , y o c a s t o r e v a l u e i t h R E C o m m a n dR e g i s t e r w h i c h s a y s , " H e r e ' s w h a t w a n t y o t d o a n w a n ty o t d i a f t e r t h n e x t w r i t e t a d d r e s s $ F F 0 0 " . T h i s a d d r e s si s h a d o w r e g i s t e r f o r t h M M C o n f i g u r a t i o n R e g i s t e r ( t h eC o n f i g u r a t i o n R e g i s t e r i n o t h s a m e a s t h e R A C o n f i g u r at i o n R e g i s t e r ! ) . W r i t i n g a v a l u e t h e r e w i l l c o n f i g u r e m e m o r y i a n f a s h i o n y o w a n t . W i t h t h i s f e a t u r e y o c a i n s t r u c t t h R E C , a n d t h e n r e a r r a n g e m e m o r y , b e f o r e t h e R E t a k e s o v e r .

O n l a s t p o i n t . I y o a r g o i n g t s t a r t c h a n g i n g m e m o r yc o n f i g u r a t i o n s i t h m i d d l e o M / p r o g r a m , y o b e t t e r b s u r e t h a t t h p r o g r a m w i l l s t i l l b t h e r e w h e n t h n e c o n f i g u r at i o n a r r i v e s . S t h i s p a r t o t h p r o g r a m m u s t b e i t h c o m m o nR A M , f r o m $ 0 0 0 0 t $ 0 4 0 0 , w h i c h a p p e a r s i a l m e m o r yc o n f i g u r a t i o n s . W i t h t h i s i n f o r m a t i o n f i r m l y i m i n d , l e t ' s t a k el o o k a t h d i s a s s e m b l y o t h e v a r i o u s r o u t i n e s t h a t m a n a g e t h R A E x p a n s i o n , i L i s t i n g 1

T h B A S I C r o u t i n e , s t a r t i n g a $ A A 1 F , e v a l u a t e s t h e p a r a m e t e r so t h B A S I C c o m m a n d , a n p u t s t h e m i t h e a p p r o p r i a t e R E r e g i s t e r s f r o m $ D F 0 2 t $ D F 0 8 . I a l s o p l a c e s n u m b e r , $ 8 4 ,$ 8 5 , o r $ 8 i t h r e g i s t e r . T h i s n u m b e r i d e s t i n e d t b s t o r e d i t h R E C o m m a n d R e g i s t e r . A p a r t f r o m t e l l i n g t h R E t S T A S H , F E T C H o S W A P i n B i t s a n 1 t h e s e n u m b e r s

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

e x p l i c i t l y s e t . B i t o f t h i s r e g i s t e r i l i s t e d a r e s e r v e d f o f u t u r eu s e . F i n a l l y , t h n u m b e r o t h b a n k y o u w a n t t a c c e s s i s t o r e di t h r e g i s t e r , a n t h r o u t i n e j u m p s t $ F F 5 0 . T h i s w o u l da l s o b t h e a p p r o p r i a t e e n t r y p o i n t f o a n M / u s o t h R A E x p a n s i o n .

T h i s l o c a t i o n i t h e e n t r y p o i n t f o t h D M A - C A L L r o u t i n e i t h N e C - 1 2 8 K e r n a l J u m p T a b l e . A s u c h , i s i m p l y j u m p s d i r e c t l yt t h a c t u a l r o u t i n e , a $ F 7 A 5 i V e r s i o n R O M s .

A $ F 7 A 5 , t h e r o u t i n e g e t s , f r o m t a b l e , t h M M C o n f i g u r a t i o nv a l u e c o r r e s p o n d i n g t t h b a n k t b a c c e s s e d b t h R E C . T h i sv a l u e i t h e n m o d i f i e d ( B i t # i c l e a r e d ) t c r e a t e n e m e m o r y c o n f i g u r a t i o n i w h i c h t h I / b l o c k i v i s i b l e . T h e r e i n o n e e d t d t h i s . P o s s i b l y t h i s c o d e w a w r i t t e n b e f o r e t h ed e l a y e d a c t i o n f e a t u r e o t h R E w a c r e a t e d . T h i s n e M M C o n f i g u r a t i o n R e g i s t e r v a l u e i t h e n u n n e c e s s a r i l y c o p i e d t t h

r e g i s t e r , a n t h r o u t i n e j u m p s t t h R A p o r t i o n i t h c o m m o n R A a $ 0 3 F 0 . A n d n o w t h b u i a b o u t t b a c t i v a t e d .

T h R A r o u t i n e f i r s t s t o r e s t h c u r r e n t M M C o n f i g u r a t i o nR e g i s t e r v a l u e i t h r e g i s t e r . T h R E C o m m a n d R e g i s t e rv a l u e , p a t i e n t l y w a i t i n g i t h r e g i s t e r , i f i n a l l y s t o r e d i t h R E C . T H R E I N O P R I M E D A N R E A D Y T O P E R A T EA S O O N A W R I T E O C C U R S T $ F F 0 0 . N a t u r a l l y , t h n e x tc o m m a n d w r i t e s t h a l t e r e d M M C o n f i g u r a t i o n R e g i s t e r v a l u et $ F F 0 0 , r e c o n f i g u r i n g m e m o r y a c c o r d i n g t t h l a s t B A N Kc o m m a n d ( s o r t o f a n t r i g g e r i n g t h R E o p e r a t i o n . A f t e r t h R E i f i n i s h e d , t h e o l d M M C o n f i g u r a t i o n r e g i s t e r v a l u e i r e s t o r e d , a n t h r o u t i n e e x i t s t o B A S I C . S w h e r e ' s t h b u g ?C o n s i d e r w h a t h a p p e n s i ( m a k e t h a t " w h e n " ) a n I n t e r r u p tR e Q u e s t o c c u r s d u r i n g t h f o u r m a c h i n e c y c l e s o t h S T $ D F 0 1 a $ 0 3 F 3 . T h S T $ D F 0 1 i n s t r u c t i o n i c o m p l e t e d , a n t h R E i s t i l l p r i m e d a n r e a d y t g o B u t h I R r o u t i n e t a k e so v e r , a n n o t h R E i t r i g g e r e d b S T $ F F 0 0 i n s t r u c t i o n ,a $ F F 2 2 i t h I R h a n d l i n g r o u t i n e . T h v a l u e s t o r e d i z e r o ,a n m e m o r y i c o n f i g u r e d f o B a n k 1 5 d u r i n g t h R E o p e r at i o n . T h d e l a y e d a c t i o n f e a t u r e i c l e a r e d b t h R E a f t e r i t o p e r a t i o n , s t h a t w h e n t h S T $ F F 0 0 a $ 0 3 F 6 i e x e c u t e da f t e r t h I R Q , n R E o p e r a t i o n r e s u l t s .

T h R E o p e r a t i o n t h a t o c c u r s u s e s a l t h c o r r e c t a d d r e s s e s ,R A E x p a n s i o n b a n k , a n n u m b e r o b y t e s ; t h e s e w e r e s t o r e di n t h e i r r e g i s t e r s e a r l i e r . T h " o n l y " e r r o r i t h a t t h t r a n s f e r t a k e sp l a c e t o / f r o m B a n k 1 5 r a t h e r t h a n t h d e s i r e d B a n k .

T h I R o c c u r s 6 t i m e s a s e c o n d ; w i t h M H c l o c k t h e r e i a p p r o x i m a t e l y c h a n c e i 4 1 6 7 t h a t a I R w i l l o c c u r d u r i n gt h f o u r c y c l e s o t h S T $ D F 0 1 c o m m a n d . T h e o b s e r v e d r a t eo i e v e r y 5 5 7 5 i a l m o s t e x a c t l y 7 o t h i s t h e o r e t i c a l r a t e .P e r h a p s t h d a n g e r z o n e i n c l u d e s o n l y t h r e e o t h f o u r m a c h i n ec y c l e s . P l a c i n g r e s p o n s i b i l i t y f o t h b u o t h t i m i n g o a I R a l s o e x p l a i n s t h e a p p a r e n t r a n d o m n a t u r e o t h e b u g . T h u g l yf a c t r e m a i n s t h a t a b o u t o n i e v e r y 5 0 0 0 R a E x p a n s i o no p e r a t i o n s , o r a n d o m b a s i s , i c o m p r o m i s e d .

T h T r a n s a c t o r 4 M a r c h 1 9 8 8 : V o l u m e e I s s u e O

Page 52: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 52/84

Page 53: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 53/84

S T A S H / F E T C H / S W A P t a k e s p l a c e

s t $ f f O O ; r e s t o r e M M c o n f i g u r a t i o n r e g i s t e rv a l u e

r t ; a l l d o n e s b a c k t B A S I C

L i s t i n g

C O M P L E T E S T A S H / F E T C H / S W A P R O U T I N EV E R S I O N R O M S

( B A S I C r o u t i n e f r o m $ A A 1 t $ A A 6 5 u n c h a n g e d )

j m $ c f 8 0 ; n o t e n e j u m p t a b l e d e s t i n a t i o n

I d $ d 5 0 6p h e o $ f 7 f O , xa n d # $ 3 fe o $ f 7 f O , xs t $ d 5 0 6I d a $ f 7 f O , x

t a p h s e j s $ 0 3 f 0p i p l s t $ d 5 0 6r t

; g e t R A c o n f i g u r a t i o n v a l u e; a n d s t a c k i ; s e t B i t s a n o R A C o n f i g u r a t i o n R e g i s t e r t ; r e f l e c t B a n k c o m m a n d v a l u e

; g e t C o n f i g u r a t i o n R e g i s t e r v a l u e f r o mt a b l e

; a g a i n W H Y ?; s a v e s t a t u s , i n c l u d i n g i n t e r r u p t; S E T I N T E R R U P T M A S K; n o t e J S R , n o J M ; r e s t o r e p r e v i o u s i n t e r r u p t s t a t u s; p u l l o l R A C o n f i g u r a t i o n r e g i s t e r; v a l u e a n s t o r e; d o n e , s b a c k t B A S I C

I d s t s t s t r t

$ f f O O$ d f O 1$ f f O O$ f f O O

; s a m e a i ; V e r s i o n

; N O T t B A S I C !

L i s t i n g

N E R A D M C A L L R O U T I N EF O V E R S I O N R O M S

p h s e I d $ f f O Os t $ d f O 1s t $ f f O Os t $ f f O Op i r t

n e c o m m a n dn e c o m m a n d

; a l l m o v e d t w b y t e s; h i g h e r i m e m o r y

; n e w c o m m a n d

Y O C A H A V E I A L T H C O N V E N I E N C E O C A R T R I D G E !

T H F L E X I B I L I T Y O D I S K !

T H Q U I C K B R O W N B O s t o r e s u t 3 o y o u r f a v o r i t ep r o g r a m s B a s i c M / L , G a m e s U t i l i t i e s , W o r d P r o c e s s o r s

T e r m i n a l s R E A D Y T R U A T H T O U C H O K E H U N D R E D S O T I M E S F A S T E R T H A N D I S K M o d i f y

t h c o n t e n t s i n s t a n t l y . R e p l a c e o b s o l e t e p r o g r a m s , n o y o u rc a r t r i d g e . U s a p e r m a n e n t R A D I S K , p r o t e c t e d w o r ka r e a , a a u t o b o o t u t i l i t y . C - 6 4 o C - 1 2 8 m o d e . L o a d e r U t i l it i e s i n c l u d e d . P r i c e : 1 6 $ 6 3 2 $ 9 6 4 $ 1 2 9 ( P l u s $ 3 S / H ;M r e a d 5 % 3 D a M o n e y B a c k G u a r a n t e e . Y e a r W a r a n t y . B r o w n B o x e s , I n c , 2 6 C o n c o r d R o a d , B e d f o r d , M 0 1 7 3 0 ; ( 6 1 7 ) 2 7 5 - 0 0 9 0

T H Q U I C K B R O W N B O B A T T E R Y B A C K E D R A T H O N L Y C A R T R I D G E Y O U ' L L E V E R N E E D

S U P E R 8 U T I L I T I E SS u p e r 8 U t i l i t i e s i c o m p l e t e u t i l i t i e s p a c k a g e f o t h C o m m o d o r e 1 5 8 1 D i s k D r i v e a n C 1 2 8 c o m p u t e r . C o p y w h o l ed i s k s o r i n d i v i d u a l f i l e s f r o m 1 5 4 1 o 1 5 7 1 f o r m a t t 1 5 8 1p a r t i t i o n s . B a c k u p 1 5 8 1 d i s k s . C o n t a i n s 1 5 8 1 D i s k E d i t o r ,D r i v e M o n i t o r , R A W r i t e r , C P / M U t i l i t i e s a n m o r e f o o n l y$ 3 9 . 9 5 .

1 5 4 1 / 1 5 7 1 D R I V E A L I G N M E N T1 5 4 1 / 1 5 7 1 D r i v e A l i g n m e n t r e p o r t s t h a l i g n m e n t c o n d i t i o n o t h e d i s k d r i v e a y o p e r f o r m a d j u s t m e n t s . I n c l u d e s f e a t u r e sf o s p e e d a d j u s t m e n t a n d s t o p a d j u s t m e n t . I n c l u d e s p r o g r a md i s k , c a l i b r a t i o n d i s k a n i n s t r u c t i o n m a n u a l . W o r k s o C 6 4 ,C 1 2 8 , S X 6 4 , 1 5 4 1 , 1 5 7 1 . O n l y $ 3 4 . 9 5 ." . . . e x c e l l e n t , e f f i c i e n t p r o g r a m t h a t c a h e l p y o s a v e b o t hm o n e y a n d o w n t i m e . " C o m p u t e ! ' s G a z e t t e , D e c , 1 9 8 7 .

G A L A C T I C F R O N T I E RE x c i t i n g s p a c e e x p l o r a t i o n g a m e f r t h C 6 4 . S e a r c h f o l i f ef o r m s a m o n g t h 2 0 b i l l i o n s t a r s i o u g a l a x y . S c i e n t i f i c a l l ya c c u r a t e . A w e s o m e g r a p h i c s ! F o t h e s e r i o u s s t u d e n t o a s t r o n o m y o t h e c a u s a l e x p l o r e r w h w a n t s t o b o l d l y g w h e r e n m a h a g o n e b e f o r e . O n l y $ 2 9 . 9 5 .

M O N D A Y M O R N I N G M A N A G E RS t a t i s t i c s - b a s e d b a s e b a l l g a m e . I n c l u d e s 6 a l l - t i m e g r e a tm a j o r l e a g u e t e a m s . R e a l i s i t c s t r a t e g y . G r e a t s o u n dg r a p h i c s ! A p p l e I s y s t e m s $ 4 4 . 9 5 , C - 6 4 A t a r i s y s t e m s$ 3 9 . 9 5 .

O r d e r w i t h c h e c k , m o n e y o r d e r . ' V I S A , M a s t e r C a r d , C O D . F r e es h i p p i n g h a n d l i n g o U S C a n a d i a n , A P O , F P o r d e r s . C O

F o r e i g n o r d e r s a d $ 4 . 0 0 . O r d e r f r o m :F r e e S p i r i t S o f t w a r e , I n c .

9 0 W H i l l g r o v e , S u i t eL a G r a n g e , I L 6 0 5 2 5

( 3 1 2 ) 3 5 2 - 7 3 2 3i s l « r C o r d H

h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 54: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 54/84

C o m m o d o r e 1 2 M a c h i n e L a n g u a g e

S t e v e P u n t e rM i s s i s s a u g a , O

T h 8 5 1 0 p r o c e s s o r , w h i c h i r e a l l y 6 5 1 0 w i t h t h n e w e s ti t e r a t i o n o C o m m o d o r e ' s m e m o r y m a n a g e m e n t a d d e d ,

c a o n l y a d d r e s s 6 4 a a n o n g i v e n m o m e n t . . .

I y o d o m o s t o y o u r C 1 2 8 p r o g r a m m i n g u s i n g a h i g h l e v e ll a n g u a g e , l i k e B A S I C , y o g e n e r a l l y d o n ' t n e e d t c o n c e r ny o u r s e l f w i t h s u c h t r i v i a l i t i e s a m e m o r y m a n a g e m e n t . O t h o t h e r h a n d , a n y o n e w h h a d e l v e d i n t o t h m a c h i n e l a n g u a g es i d e o t h C 1 2 8 k n o w s o n l y t o o w e l l t h a t t h m e m o r y l a y e r i n gu s e d i t h i s m a c h i n e i n o t h e a s i e s t t w o r k w i t h . D r a w i n g o nm e x p e r i e n c e p r o g r a m m i n g W o r d P r o 1 2 8 , w o u l d l i k e t i m p a r t t y o s o m e o t h p r o g r a m m i n g t e c h n i q u e s u s e d , i h o p e s t h a t t h e y m i g h t c o m e i h a n d y .

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

B e f o r e w b e g i n , l e t ' s l o o k a h o C o m m o d o r e h a s a r r a n g e d t h 1 2 8 K o R A a n t h 4 8 o s o k i l o b y t e s o R O M .T h 8 5 1 0 p r o c e s s o r , w h i c h i r e a l l y 6 5 1 0 w i t h t h n e w e s ti t e r a t i o n o f C o m m o d o r e ' s m e m o r y m a n a g e m e n t a d d e d , c a o n l y a d d r e s s 6 4 a a n y o n e g i v e n m o m e n t . T a l l o w i a c c e s s t t h h u g e a m o u n t o R A a n R O M , s e l e c t e d p o r t i o n s o t h i s 6 4 a d d r e s s s p a c e a r s e u i s u c h w a t h a t t h e y c a n b e t o l d t a c c e s s o n o v a r i e t y o i t e m s . T h i n k o e a c h o t h s e c t i o n s o t h i s 6 4 m e m o r y s p a c e a b e i n g 4 d i f f e r e n t e l e v a t o r s i s m a l lb u i l d i n g . E a c h c a b i n d e p e n d e n t l y m o v e d t a n f l o o r o f t h b u i l d i n g , a l l o w i n g v a r i e t y o f d i f f e r e n t c o m b i n a t i o n s o a c c e s s .

I ' m n o t g o i n g t d e a l w i t h t h I N T E R N A L a n E X T E R N A L R O s o c k e t s h e r e , s t h o n l y t h r e e t h i n g s c o n c e r n i n g u s w h i c h c a a p p e a r i t h e s e m e m o r y s e g m e n t s a r e t h e f i r s t 6 4 o R A M , t h s e c o n d 6 4 o R A M , o t h 4 8 o s y s t e m R O M . I a d d i t i o n t t h a t , t h e r e i a l s o s m a l l s e c t i o n o I / s p a c e , w h i c h c a b s e l e c t i v e l y b r o u g h t i n o m o v e d o u t .

T h t w 6 4 R A s p a c e s a r c a l l e d b a n k s ; b a n k 0 b e i n g t h f i r s t 6 4 K , a n b a n k b e i n g t h s e c o n d 6 4 K . I a d d i t i o n t t h i s ,v a r y i n g a m o u n t s o m e m o r y , r a n g i n g f r o m n o n e , o n u p t 3 2 K ,c a b d e c l a r e d a s " c o m m o n " . T h i s r e f e r s t o t h f a c t t h a tr e g a r d l e s s o w h i c h o t h t w R A b a n k s y o a r i n a c c e s s t t h c o m m o n a r e a w i l l a l w a y s g i v e y o b a n k R A M . T h i s s o r t o fa d d r e s s i n g i a d v a n t a g e o u s i t h a t c o d i n g w h i c h m u s t b ea v a i l a b l e A A L T I M E S c a r e s i d e t h e r e .

W h e n f i r s t c o n s i d e r i n g t h e a r r a n g e m e n t o W o r d P r o 1 2 8 , 1 w a s t u c k w i t h t h e p r o s p e c t o h a v i n g t h t e x t i o n b a n k , a n m u l t i t u d e o b u f f e r s i t h o t h e r . L i n k i n g a l t h a t t o g e t h e r , h a t h a v e c o d e w h i c h c o u l d r u i E I T H E R b a n k , a n h e r e i w h e r e t h d e f i c i e n c i e s o t h C 1 2 8 M M s t a r t t s h o w .

A l t h o u g h r o u t i n e s a r s u p p l i e d i R O t f e t c h o s t o r e d a t a i n t oe i t h e r b a n k , t h e y b e c o m e u n a c c e p t a b l y s l o w w h e n c a l l e d r p e a t e d l y . T h 2 M h z m o d e o t h C 1 2 8 c a h e l p m a s k s o m e o t h i s i n h e r e n t s l o w n e s s , b u t i s u c h a p p l i c a t i o n s a w o r d p r o c e s si n g , t h s p e e d p r o b l e m i r a t h e r a c u t e .

A f t e r m u c h t h o u g h t o t h m a t t e r , n u m b e r o p r o g r a m m i n gc r i t e r i a b e c a m e c l e a r : N u m b e r o n e , A L 6 4 o t h a d d r e s s a b l em e m o r y s p a c e s h o u l d b e b d e f a u l t , R A M . N u m b e r t w o , t h ec o d e m u s t e x i s t i b o t h b a n k s , w i t h e a c h b a n k o c o d e a c c e s s i n ga n m a n i p u l a t i n g t h d a t a s t o r e d t h e r e . A n n u m b e r t h r e e , t h c o d e m u s t b e a b l e t c a l l r o u t i n e s i t h a l t e r n a t e b a n k w i t h o u ta n d i f f i c u l t c o d i n g n e e d e d a t h e p l a c e o t h s u b r o u t i n e c a l l .

E a c h o t h e s e t h r e e c r i t e r i a b r o u g h t a b o u t u n i q u e , t h o u g hc u r i o u s l y r e l a t e d , s o l u t i o n s . T h f i r s t p r o b l e m c o n c e r n s t h s w i t c h i n g i o A L R A M . I m m e d i a t e l y , t w d i f f i c u l t i e s a r i s e ;i n t e r r u p t s a n K E R N A L c a l l s . T h i n t e r r u p t s h a v e b e e n t h o u g h tf u l l y t a k e n c a r e o f o u s a n r e q u i r e n s p e c i a l c a r e , b u K E R N A L c a l l s a r d i f f e r e n t m a t t e r . N p r o g r a m c a o p e r a t ew i t h o u t m a k i n g c a l l s t o t h K E R N A L , f o e v e n p r i n t i n g t t h s c r e e n , o r f e t c h i n g f r o m t h k e y b o a r d , r e q u i r e s i t T m a k eK E R N A L c a l l s , w w o u l d n e e d t s w i t c h i t h e a p p r o p r i a t e R O b e f o r e t h c a l l , a n s w i t c h i o u t a f t e r w a r d s . T h i s i n o a c c e p ta b l e , a i g e t s v e r y m e s s y a n c o m p l i c a t e d . I w j u s t l e a v e t h eK E R N A L s w i t c h e d i a l t h t i m e , w l o o s e i m m e d i a t e a v a i l a b i li t o 1 6 o R A M , a n d m u s t r e s o r t t s w i t c h i n g t h a t i a n o u e v e r y t i m e w n e e d i t

C l e a r l y b e t t e r s o l u t i o n w a n e e d e d ; o n e w h i c h w o u l d g i v e u i m m e d i a t e a c c e s s t e i t h e r t h K E R N A L o t h R A w i t h o u th a v i n g t a c t i v e l y s w i t c h i i o o u t . A l t h o u g h t h i s s o u n d s l i k ec a s e o " w a n t i n g y o u r c a k e a n e a t i n g i t o o " , t h e r e i a s i m p l ea n s w e r . A l l t h a t i r e q u i r e d i a b o u t 2 0 b y t e s a t h e t o p o e a c h6 4 R A b a n k , a n d t w o s m a l l s u b r o u t i n e s i t h c o m m o nm e m o r y a r e a .

T h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 55: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 55/84

h I n v i s i b l e K E R N A L

h f i r s t s t e p t c r e a t i n g a i n v i s i b l e K E R N A L i t w r i t e f a i r l ys e t o f s u b r o u t i n e s i n t o y o u r p r o g r a m . T h t w s u b r o u t i n e s

r a f o l l o w s :

k e r n c a l l s t p l s t p l I d p h | d p h I d p h I d s e s b p h I d s t I d s t I d r t

k e r n b a c k p h I d s t p l r t

s a f e l o c

s a f e l o c +

# > k e r n b a c k - 1

# < k e r n b a c k - 1

# $ f f

s a f e l o c +

# $ f f O Ob a n k h o l d# $ 0 e$ f f O Os a f e l o c

b a n k h o l d$ f f O O

t h v e r y b e g i n n i n g o y o u r p r o g r a m , r o u t i n e s h o u l d b w h i c h w i l l s t o r e , i n t o e a c h 3 b y t e l o c a t i o n f r o m $ F F 8 1$ F F F 3 , c a l l t s u b r o u t i n e " K E R N C A L L " . T h f o l l o w

r o u t i n e w i l l d j u s t t h a t :

s e t k e r n j s s e t k e r n is e t k e r n i I d # $ 8 1k e r n i I d a # $ 2 0

s t $ f f O O , yi n I d # < k e r n c a l ls t $ f f O O , yi n I d # > k e r n c a l ls t $ f f O O , yi n c p # $ f 6b n k e r n iI d a $ f f O Oe o # % 0 1 0 0 0 0 0 0s t $ f f O Or t

T h i s r a t h e r o d s t r u c t u r e , c a l l i n g s u b r o u t i n e I M M E D I A T E L Ya f t e r i t s e l f , i s j u s t a q u i c k a n d i r t y w a o h a v i n g t h e r o u t i n ee x e c u t e i t s e l f t w i c e . N o t e t h a t h e n o e a c h c a l l , t h R A b a n k i " f l i p p e d " , c a u s i n g n o t o n l y b o t h b a n k s t b p r o c e s s e d ,b u t t h e b a n k t r e t u r n t i t o r i g i n a l s t a t e . N o t e a l s o t h a t t h i sr o u t i n e M U S T r e s i d e i t h c o m m o n a r e a a l s o , e l s e i w i l l " b a n k "i t s e l f o u t , a n c r a s h t h m a c h i n e .

N o t h a t a l t h i s i d o n e , y o c a s a f e l y m a k e A N K E R N A L c a l li c o m p l e t e c o n f i d e n c e t h a t t h K E R N A L R O M , a w e l l a s t h e 1

s p a c e , w i l l a u t o m a t i c a l l y b s w a p p e d i a n o u f o y o u . B u th o d o e s i a l w o r k ?

L e t ' s f o l l o w t h p a t h o s e e m l y i n n o c e n t " J S R F F D 2 " c a l l f r o mw i t h i n o u r r u n n i n g p r o g r a m . F i r s t o a l l , t h r e t u r n a d d r e s s o o u o r i g i n a l c a l l i p u s h e d o n t o t h s t a c k , t h e n e x e c u t i o n i t r a n s f e r r e d t l o c a t i o n $ F F D 2 . A t h i s l o c a t i o n , J S K E R NC A L L i e n c o u n t e r e d , c a u s i n g t h r e t u r n a d d r e s s o t h i s s u b r o ut i n e c a l l t p u s h e d o n t h e s t a c k o t o o t h p r e v i o u s o n e . T h i n t e r e s t i n g t h i n g t n o t e a b o u t t h i s r e t u r n a d d r e s s i t h a t i t ' s

E X A C T L Y t w h i g h e r t h a n t h e d e s i r e d K E R N A L c a l l , a n i k e f a c t o r t h o t h K E R N C A L L s u b r o u t i n e w o r k s .

U p o n e n t e r i n g t h e K E R N C A L L s u b r o u t i n e , t h a c c u m u l a t o r i p u s a f e l y a w a y i l o c a t i o n c a l l e d " S A F E L O C " , t h e n t h f i r s tb y t e i p u l l e d o f t h e s t a c k a n s a v e d a w a y i l o c a t i o n c a l l e d" S A F E L O C + 1 " . T h i s f i r s t b y t e f r o m t h s t a c k i a c t u a l l y t h l o o r d e r p a r t o o u s e c o n d r e t u r n a d d r e s s , t h o n e w h i c h i e x a c t l yt w h i g h e r t h a n o u d e s i r e d K E R N A L c a l l ( $ F F D 2 i t h i se x a m p l e ) . T h n e x t b y t e o f t h s t a c k i m e r e l y t h r o w n a w a y . I r e p r e s e n t s t h e h i g h o r d e r p a r t o t h r e t u r n a d d r e s s , b u w i l la l w a y s b e $ F F , a n s w n e e d n o w a s t e a n t i m e , o r m e m o r ys p a c e , s t o r i n g i t

N e x t , w p u s h t h a d d r e s s o o u s e c o n d s u b r o u t i n e o n t o t h es t a c k i p l a c e o t h o r i g i n a l o n t h a t w a g e n e r a t e d w h e n t h J S K E R N C A L L c a l l w a m a d e . T h p u r p o s e o t h i s e x e r c i s e i t c a u s e t h R T w i t h i n t h e K E R N A L s u b r o u t i n e i t s e l f t t r a n s f e re x e c u t i o n t h e r e , s t h a t R A m a b r e s t o r e d . W i t h m s f a r ?

T h n e x t s t e p i n v o l v e s t h e p u s h i n g o y e t h i r d s u b r o u t i n er e t u r n a d d r e s s o n t o t h s t a c k , b u t t h e p u r p o s e o t h i s i t u s a R T l i k e J M I N D I R E C T . I o t h e r w o r d s , w e n o w w i s h t o s e t u

s t a c k c o n f i g u r a t i o n t h a t w i l l c a u s e a R T t t r a n s f e r e x e c ut i o n t o t h e d e s i r e d K E R N A L s u b r o u t i n e . F i r s t , w p u s h t h h i g ho r d e r p a r t o t h e a d d r e s s , w h i c h , a w a n o t e d e a r l i e r , i a l w a y sa $ F F . A f t e r t h a t , w r e c a l l t h l o o r d e r p a r t o t h i s a d d r e s sa n s u b t r a c t t h r e e f r o m i t W h t h r e e ? A f t e r a l l , d i s a t h a tt h i s a d d r e s s w a e x a c t l y t w h i g h e r t h a n t h e d e s i r e d K E R N A Lc a l l . I t ' s d o n e s i m p l y b e c a u s e t h a d d r e s s s t o r e d o t h s t a c k f o a R T i a l w a y s o n b y t e l o w e r t h a n t h a d d r e s s a w h i c he x e c u t i o n a c t u a l l y b e g i n s .

N o w a r r e a d y t b a n k i b o t h t h K E R N A L R O M s a n t h I / s p a c e , b u t b e f o r e w d t h a t , c o p y o t h e c u r r e n t m e m o r yc o n f i g u r a t i o n i s a v e d i l o c a t i o n c a l l e d " B A N K H O L D " .v a l u e o $ 0 i t h e n s t o r e d i t h m e m o r y c o n f i g u r a t i o n r e g i s t e r ,a n a R T i e x e c u t e d . S i n c e w h a v e p r e v i o u s l y p u s h e d t h a p p r o p r i a t e a d d r e s s o n t o t h s t a c k , t h R T c a u s i n g e x e c u t i o n t

h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 56: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 56/84

g d i r e c t l y t o t h K E R N A L c a l l w o r i g i n a l l y m a d e , o $ F F D 2 i t h i s c a s e . J u s t b e f o r e t h e R T i e x e c u t e d t h o u g h , t h e v a l u e o t h a c c u m u l a t o r i r e s t o r e d s t h a t t h p r o p e r v a l u e i p a s s e d t t h K E R N A L r o u t i n e .

O n c e t h K E R N A L s u b r o u t i n e h a f i n i s h e d d o i n g w h a t e v e r i i t h a t i t ' s s u p p o s e d t d o i t R T c a u s e s e x e c u t i o n t b t r a n s f e rr e t o u " K E R N B A C K " r o u t i n e . T h r e a s o n f o r t h i s i t h a t w d e l i b e r a t e l y p u s h e d t h i s r e t u r n a d d r e s s o n t o t h e s t a c k f o r t h i sv e r y r e a s o n . K E R N B A C K ' s p u r p o s e i v e r y s i m p l e ; i m e r e l yr e s t o r e s t h m e m o r y c o n f i g u r a t i o n r e g i s t e r t i t f o r m e r v a l u e ( a s a v e d i t h j u s t b e f o r e j u m p i n g t o u d e s i r e d K E R N A L c a l l ) .T h a c c u m u l a t o r i a p p r o p r i a t e l y s a v e d s t h a t K E R N A L r o t i n e s w h i c h p a s s v a l u e s o u t a r e n o t d i s t u r b e d .

A t h R T o K E R N B A C K i r e a c h e d , e x e c u t i o n i p a s s e d b a c kt t h c o d e i m m e d i a t e l y a f t e r t h a c t u a l K E R N A L c a l l ( o u r$ F F D 2 e x a m p l e ) . A l t h o u g h t h e p r o c e s s m a s e e m c o m p l i c a t e d ,i t ' s n o h a r d t s e h o i d o e s l e y o u h a v e y o u r c a k e a n e a i t o

M u l t i p l e B A N K C o d i n g

T h s e c o n d m a j o r p r o b l e m w a t d e s i g n s y s t e m w h e r e b ys i n g l e p r o g r a m c o u l d e x i s t i n t w s e p a r a t e b a n k s o R A M . T h i sp r e s e n t s p r o b l e m t h a t i v e r y s i m i l a r t t h K E R N A L r o u t i n e s ,a n i s o l v e d i m u c h t h s a m e w a y .

B e f o r e y o c a b e g i n t w r i t e s u c h p r o g r a m t h o u g h , c e r t a i nb a s i c s m u s t b c o n s i d e r e d , a n " g a m e p l a n " m u s t b e f o r m ul a t e d . T h e r e a r e t h r e e d i s t i n c t a r e a s o m e m o r y i w h i c h y o u rp r o g r a m c o d e w i l l r e s i d e : c o m m o n R A M ; b a n k R A M ; a n b a n k R A M . W h a t g o e s w h e r e , a n h o m u c h c o m m o n R A t a s s i g n , i w h a t w h a v e t d e c i d e .

I W o r d P r o 1 2 8 , i w a d e c i d e d t h a t t h t e x t w o u l d r e s i d e i b a n k 1 w h i l e a l o t h e r n e c e s s a r y b u f f e r s a n s t r i n g s w o u l d b p l a c e d i b a n k 0 S i n c e i w a d e s i r a b l e t m a x i m i z e t h a m o u n to t e x t , c o d e i b a n k h a t b k e p t t m i n i m u m . B a n kw o u l d o b v i o u s l y c o n t a i n c o d e w h i c h o n l y m a d e d i r e c t r e f e re n c e s t t e x t .

B a n k c o u l d c o n t a i n j u s t a b o u t e v e r y t h i n g e l s e , w i t h t h e x c e p t i o n o t w s p e c i a l c a s e s : r o u t i n e s w h i c h w e r e c a l l e d q u i t eo f t e n f r o m c o d e i b o t h b a n k s ; a n r o u t i n e s w h i c h m a d er e f e r e n c e t b o t h t e x t A N b u f f e r s . T h i s c o d e w i l l h a v e t g i t h c o m m o n a r e a .

S i n c e W o r d P r o 1 2 i h u g e p r o g r a m , i w a d e c i d e d t h a t t h b o t t o m 1 6 o R A w o u l d b d e e m e d c o m m o n , l e a v i n g 4 8 i e a c h o t h b a n k s f o o t h e r p u r p o s e s . Y o u r a p p l i c a t i o n s m a n o c a l l f o s u c h a l a r g e e x p e n d i t u r e o c o m m o n R A M . H o m u c hy o n e e d i n o s o m e t h i n g c a t e l l y o i n t h i s a r t i c l e , i t ' s r e a l l y

m a t t e r o l o o k i n g a y o u r n e e d s a n d e c i d i n g f o y o u r s e l f .

S i n c e c o m m o n c o d e w i l l r e s i d e f r o m $ 0 0 0 0 t $ 3 F F F , b a n k a b l eR A b e g i n s a $ 4 0 0 0 . A l t h a t i s l e f t n o i t w o r k o u w a o a l l o w i n g r o u t i n e s i o n b a n k t c a l l r o u t i n e s i t h o t h e r . A

h i n t e d a e a r l i e r , t h e s o l u t i o n i v e r y s i m i l a r t t h o n u s e d t l e a v e t h e K E R N A L R O b a n k e d o u u n t i l n e e d e d . T h s o l u t i o nt t h i s s e c o n d p r o b l e m s t a r t s o u w i t h a j u m p t a b l e t a l t h n e c e s s a r y r o u t i n e s a t h b e g i n n i n g o e a c h o t h t w 4 8 b a n k s o / ? o / ? - c o m m o n R A M . T h t r i c k t a l o t h i s l i e s i w h a tw p u a e a c h o t h j u m p t a b l e l o c a t i o n s .

I t h e r o u t i n e r e p r e s e n t e d b p a r t i c u l a r j u m p t a b l e l o c a t i o nr e s i d e s i t h e c u r r e n t b a n k , t h e n s i m p l e J M t i i u s e d .S h o u l d i r e s i d e i t h e o t h e r b a n k , a J S c a l l i p l a c e d t h e r e t r o u t i n e v e r y m u c h l i k e t h o n u s e d t b r i n g i t h K E R N A LR O M . I t h i s s o u n d s l i t t l e c o m p l e x , l e t ' s t a k e s m a l l e x a m p l e .T h e r e a r f o u r s u b r o u t i n e s , c a l l e d " S U B l " , " S U B 2 " , " S U B 3 "a n " S U B 4 " . S u b r o u t i n e s a n a r i b a n k 0 w h i l e s u b r o ut i n e s a n a r i b a n k l . T h i s i h o t h f o u r j u m p t a b l el o c a t i o n s w o u l d a p p e a r a t h b e g i n n i n g o e a c h b a n k :

I B A N K 0

j m s u b 1j m s u b 2

s u b 3 j s s w a p b a n ks u b 4 j s s w a p b a n k

I B A N K 1

s u b 1 j s s w a p b a n ks u b 2 j s s w a p b a n k

j m s u b 3j m s u b 4

W e r e r o u t i n e i b a n k t c a l l " J S R S U B l " o " J S R S L J B 2 " , t h e yw o u l d b r a n c h d i r e c t l y t h e r e a s i n b a n k i n g e x i s t e d . r o u t i n ei b a n k c a l l i n g " J S R S U B 3 " o " J S R S U B 4 " w o u l d h a v e t h s a m e e f f e c t . B u t , r o u t i n e i b a n k c a l l i n g " J S R S U B 3 " o " J S RS U B 4 " , o r o u t i n e i b a n k c a l l i n g " J S R S U B l " o " J S R S U B 2 "w o u l d b e d i r e c t e d t t h " J S R S W A P B A N K " c a l l i t h j u m pt a b l e . S W A P B A N K i v e r y m u c h l i k e K E R N C A L L , b u i s w a p sa r o u n d w h i c h o t h t w n o n - c o m m o n b a n k s o R A a r c u r r e n t l y a c t i v e , t h e n j u m p s b a c k t t h s a m e l o c a t i o n i t h j u m p t a b l e ( j u s t l i k e t h K E R N C A L L r o u t i n e ) . N o t h a t t h b a n kh a b e e n s w i t c h e d , i r u n s i n t o t h e a p p r o p r i a t e J M i n s t r u c t i o n ,r a t h e r t h a n t h J S S W A P B A N K .

O c o u r s e , w h i l e i n t h i s a l t e r n a t e b a n k s u b r o u t i n e , c a l l b a c k t t h o r i g i n a l b a n k m i g h t b m a d e , s " s t a c k " o r e t u r n " b a n k s "m u s t b e i m p l e m e n t e d s t h a t e a c h s u b r o u t i n e i r e t u r n e d t i t ' sc o r r e c t b a n k .

H e r e a r e t h e t w s u b r o u t i n e s i n v o l v e d i n t h i s t a s k :

S u b r o u t i n e 1

s w a p b a n k s t s a f e l o c

t y p h I d b a n k p n tI d a $ f f O O

T h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e 0

Page 57: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 57/84

a n s t i n p l t a p l s b s t p l s b s t I d p h I d p h I d p h I d p h I d e o s t I d r t

2

b a n k b a c k p h

p h t y p h d e I d I d a n o r s t p l t a p l p i r t

# $ f eb a n k s t a k . yb a n k p n t

# s a f e l o c +

# s a f e l o c +# > b a n k b a c k - 1

# < b a n k b a c k - 1

s a f e l o c

s a f e l o c +

$ f f O O# % 0 1 0 0 0 0 0 0$ f f O Os a f e l o c

b a n k p n tb a n k p n t$ f f O O# $ 0 1b a n k s t a k . y$ f f O O

r o u t i n e m a k e s a a l t e r n a t e b a n k c a l l , t h r e t u r n a d d r e s st h s u b r o u t i n e i p u s h e d o n t o t h e s t a c k , t h e n e x e c u t i o n i

d t t h j u m p t a b l e , w h e r e J S S W A P B A N K c a l l i t h u s p u s h i n g t h r e t u r n a d d r e s s o t h i s r o u t i n e o n t o t h

a l s o . A w i t h t h K E R N C A L L r o u t i n e , t h i s a d d r e s s i t w h i g h e r t h a n t h a t o t h j u m p t a b l e a d d r e s s j u s t

n c e d . E x e c u t i o n n o b r a n c h e s t t h S W A P B A N K r o u t i n ec o m m o n R A M , a w h i c h p o i n t , t h a c c u m u l a t o r i s a v e d i

F E L O C " . T h e Y - r e g i s t e r i p u s h e d o n t o t h e s t a c k s t h a t i t i p r e s e r v e d w h i l e w p u s h t h m e m o r y c o n t r o l r e g i s t e r

t o o u r s p e c i a l " b a n k s t a c k " .

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

o u s l y n o t e d , t h e y c o n t a i n p o i n t e r t t h e a p p r o p r i a t e j u m p

t a b l e l o c a t i o n , b u t w h i g h e r . S u b s e q u e n t l y , t h r e e i s u b t r a c t e df r o m t h i s 1 b i v a l u e a n t h w h o l e t h i n g i s t o r e d i " S A F EL O C + 1 " a n " S A F E L O C + 2 " T h r e a s o n s f o r t h i s w e r e d i c u s s e d p r e v i o u s l y i t h s e c t i o n o n " T h e I n v i s i b l e K E R N A L " . I p l a c e o t h i s r e t u r n a d d r e s s , w p u s h t h l o c a t i o n o " B A N K B A C K " , w h i c h , l i k e " K E R N B A C K " , i r e s p o n s i b l e f o p u t t i n g e v e r y t h i n g b a c k t n o r m a l a f t e r t h d e s i r e d r o u t i n e h a f i n i s h e d .

N e x t , w p u s h t h v a l u e o t h j u m p t a b l e l o c a t i o n ( m i n u s o n e )o n t o t h s t a c k s t h n e x t R T a c t s l i k e J M I N D I R E C T a n t r a n s f e r s e x e c u t i o n b a c k t t h s a m e l o c a t i o n i t h j u m p t a b l et h a t w c a m e f r o m , o n l y t h i s t i m e , t h b a n k s h a v e b e e ns w i t c h e d , s t h e r e w i l l b J M i n s t r u c t i o n t h e r e , n o J S S W A P B A N K . B e f o r e r e a c h i n g t h R T t h o u g h , t h e a p p r o p r i a t eb i i t h m e m o r y c o n t r o l r e g i s t e r i " f l i p p e d " s t h a t t h e o t h e r4 8 o n o n - c o m m o n R A i b r o u g h t i n T h a c c u m u l a t o r i r e s t o r e d , a n t h R T p e r f o r m e d .

O n c e t h e d e s i r e d s u b r o u t i n e h a f i n i s h e d , i t R T t r a n s f e r se x e c u t i o n t o u " B A N K B A C K " r o u t i n e , w h i c h b a s i c a l l y p u l l st h c o r r e c t m e m o r y c o n f i g u r a t i o n b y t e f r o m o u s p e c i a l s t a c k s t h a t w h e n w r e t u r n t t h c a l l i n g r o u t i n e , t h c o r r e c t b a n kc o n f i g u r a t i o n w i l l b i f o r c e .

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

E v e n m o r e o b s e r v a n t r e a d e r s w i l l n o t i c e t h a t t h s p e c i a l s t a c ki s n ' t r e a l l y n e e d e d , s i n c e f o r o u t i n e t c a l l t h i s f u n c t i o n , i m u s t h a v e b e e n i t h a l t e r n a t e b a n k . L o g i c w o u l d d i c t a t e ,t h e r e f o r e , t h a t t r e t u r n c o n t r o l t t h c a l l i n g r o u t i n e w o u l dr e q u i r e n o t h i n g m o r e t h a n s w a p p i n g a c t i v e b a n k s a g a i n . A t h o u g h t h i s i t r u e , t h b a n k s t a c k g u a r a n t e e s t h a t n s c r e w u p sw i t h i n t h e c a l l e d r o u t i n e c a u s e t h b a n k s e t t i n g s t b e c o m em i s a l i g n e d .

S o m e L a s t W o r d s

O c o u r s e , t h t w s o l u t i o n s I ' v e p r e s e n t e d h e r e d o n ' t e v e nb e g i n t s c r a t c h t h s u r f a c e o w h a t M / i t h C 2 i a l a b o u t ,b u t t h e y s h o u l d g i v e y o g o o d s t a r t i n g p l a c e s t h a t p r o g r a mm i n g i t h a t m u c h e a s i e r .

M a n y m a y a r g u e t h a t M / i d e a d p r a c t i c e , s i n c e s m a n y h i g hl e v e l l a n g u a g e s , e s p e c i a l l y C a l l o w y o t d a l m o s t t h s a m et h i n g w i t h m u c h g r e a t e r e a s e . A l t h o u g h f u l l y a g r e e t h a tl a n g u a g e s l i k e a r v e r y p o w e r f u l , t h e y s i m p l y c a n ' t m a t c h t h g r a c e a n s p e e d p o s s i b l e b w r i t i n g y o u r p r o g r a m s i p u r em a c h i n e l a n g u a g e .

G i v e n c h o i c e , u s u a l l y o p t f o m a c h i n e l a n g u a g e , b u t a l s or e c o g n i z e t h a t c e r t a i n t a s k s a r f a m o r e s u i t e d t a h i g h e r l e v e ll a n g u a g e . B e f o r e y o t a c k l e t a s k i M / o t h C 1 2 8 , y o s h o u l d d e c i d e t h i s t o o .

h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 58: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 58/84

A u t o B o o t i n g C P / MP r o g r a m s O T h C - 1 2 8

M i k l o s G a r a m s z e g h yT o r o n t o , O

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

T h e r e a r t w w a y s t a u t o b o o t a p p l i c a t i o n s p r o g r a m s , u t i l i t i e s ,g a m e s , e t c . o t h C - 1 2 8 i C P / M m o d e . T h f i r s t i f a i r l y w e l ld o c u m e n t e d f e a t u r e u s i n g s p e c i a l S U B M I T f i l e . E a c h t i m e C P

i s t a r t e d u p i l o o k s f o f i l e n a m e d " P R O F I L E . S U B " o n t h d e f a u l t d r i v e . T h i s i r e g u l a r C P / M s u b m i t f i l e w h i c h i a u t o m a t i c a l l y e x e c u t e d o s t a r t u p s i m i l a r t t h I B M - P C - D O S" A U T O E X E C . B A T " f i l e . U n l i k e t h I B v e r s i o n , h o w e v e r , P R F I L E . S U B r e q u i r e s t h a t y o h a v e t h u t i l i t y " S U B M I T . C O M " o t h s a m e d i s k . T h i s u t i l i t y r e a d s t h s t a t e m e n t s i t h S U B M I Tf i l e ( s t a n d a r d C P / M c o m m a n d s o p r o g r a m n a m e s s u c h a D I o P I e t c . ) a n t r a n s l a t e s t h e m i n t o i t o w e x e c u t a b l e f o r m .T h c o m m a n d s a r e n o t e x e c u t e d i m m e d i a t e l y , b u t a r e w r i t t e n t

t e m p o r a r y f i l e c a l l e d " S Y S I N . $ $ $ " . W h e n a l c o m m a n d s h a v eb e e n t r a n s l a t e d a n w r i t t e n t o t h i s f i l e , t h f i l e i s r e a d a n t h e ya r e e x e c u t e d .

T h i s b r i n g s o u t w l i m i t a t i o n s o t h P R O F I L E . S U B m e t h o d o a u t o b o o t i n g . B e c a u s e t e m p o r a r y f i l e i s w r i t t e n t t h d i s k , y o c a n n o t c o v e r t h w r i t e p r o t e c t n o t c h . T h m e t h o d i a l s o q u i t es l o w , e s p e c i a l l y w i t h a 1 5 4 1 d r i v e , b e c a u s e i i n v o l v e s r e a d i n ga n w r i t i n g n u m b e r o d i s k f i l e s . I n a d d i t i o n , s i n c e t h P R O F I L E . S U B f i l e i s w r i t t e n i s t a n d a r d A S C I I f o r m a t , i i v e r ys u s c e p t i b l e t p r y i n g e y e s . A l i t a k e s i " T Y P E P R O F I L E . S U B "c o m m a n d f o s o m e o n t s n e a k p e a k a y o u r s e c r e t b o o tr o u t i n e . D e s p i t e t h e s e l i m i t a t i o n s , y o u c a n d o v e r y c o m p l i c a t e ds e t o f s t a r t u p r o c e d u r e s u s i n g t h i s m e t h o d .

T h s e c o n d m e t h o d i n o t w e l l k n o w n a a l l , e v e n t c o n f i r m e dh a c k e r s w h h a v e b e e n u s i n g o t h e r C P / M m a c h i n e s f o y e a r s .( O n e o t h e b e a u t i e s o C P / M i t h a t i i v e r y t r a n s p o r t a b l eb e t w e e n m a c h i n e s . I i w o r k s o o n m a c h i n e , i w i l l m o s t l i k e l yw o r k o o t h e r C P / M m a c h i n e s . ) A l t h o u g h n o q u i t e a s i m p l e a u s i n g t h e P R O F I L E . S U B f i l e , t h m e t h o d a l l o w s y o t c o v e r t h w r i t e p r o t e c t n o t c h . I n a d d i t i o n , y o d n o n e e d a n o t h e r f i l e so t h e d i s k o t h e r t h a n t h o n e y o u w a n t t b o o t . I i a l s o m u c hf a s t e r , b e c a u s e i d o e s n o h a v e t r e a d a n e x e c u t e t h e S U B M I T -. C O M p r o g r a m b e f o r e e x e c u t i n g t h e b o o t . T h n a t u r e o t h t e c h n i q u e l i m i t s y o t s i n g l e C P / M c o m m a n d i t h b o o ts t a t e m e n t , b u t h i s i s u f f i c i e n t t o s t a r t u m o s t p r o g r a m s . T h t e c h n i q u e i n v o l v e s c h a n g i n g a f e w b y t e s i t h C P C o n s o l eC o m m a n d P r o c e s s o r ( C C P . C O M ) f i l e . ( B e c a u s e y o a r c h a n gi n t h s y s t e m f i l e s , n e v e r d t h i s o y o u r o r i g i n a l d i s k s ! A l w a y sw o r k w i t h b a c k u p c o p y . )

T h C C i t h p a r t o t h C P / M s y s t e m w h i c h r e a d s a n i n t e r p r e t s c o m m a n d s t y p e d i a t h e c o n s o l e . I c o n t a i n s t h c o d e f o a c c e s s i n g m o s t o t h b u i l t - i n C P / M c o m m a n d s , s u c h a D I R , T Y P E , e t c . I a l s o l o a d s a n t r a n s f e r s e x e c u t i o n t t r a n s i e n tp r o g r a m f i l e s . C o n t r o l o t h s y s t e m i p a s s e d t C C P . C O M a f t e rb o o t u p a n d a f t e r e a c h c o m m a n d o t r a n s i e n t p r o g r a m h a f i n i s h e d e x e c u t i n g . U s i n g a d e b u g g i n g u t i l i t y , s u c h a S I D . C O Ms u p p l i e d o t h C P / M A d d i t i o n a l U t i l i t i e s D i s k , ( o t h o l d e rC P / M d e b u g g e r c a l l e d D D T . C O M o o n o t h m a n y p u b l i cd o m a i n u t i l i t i e s ) , l o a d i t h f i l e w i t h t h c o m m a n d :

S I C C P . C O M < r e t u r n >

S I w i l l r e s p o n d w i t h :

N E X T M S I Z E0 D 8 0 0 D 8 0

P 0 1 0 0

E N D 2 F F

T h i t h S I p r o m p t . T h b y t e s o i n t e r e s t s t a r t a t h e a d d r e s s $ 0 7 C 2 . U s S I D ' s d i s p l a y c o m m a n d t d i s p l a y t h em e m o r y s t a r t i n g a t t h a t l o c a t i o n :

D 0 7 C 2 < r e t u r n >

( n o t e t h a t t h e r e i n s p a c e b e t w e e n a n t h e a d d r e s s )T h f i r s t l i n e o t h d i s p l a y s h o u l d l o o k l i k e :

0 7 C 2 : 5 3 5 5 4 2 4 4 9 5 4 2 0 2 04 4 F 4 D 1 A 0 6 4 B C D F 9 : S U B M I T C O

B r e p l a c i n g t h w o r d S U B M I T ( i . e . t h e b y t e s f r o m 0 7 C 2 t 0 7 C 7 ) w i t h A S C I I s p a c e s ( h e x $ 2 0 s ) , y o c a a u t o b o o t p r g r a m f i l e o s t a r t u p T h i s i d o n e w i t h S I D ' s " S c o m m a n d :

S 0 7 C 2 < r e t u r n >

S I r e s p o n d s w i t h :

0 7 C 2 5 - n ( w h e r e - n r e p r e s e n t s f l a s h i n g c u r s o r )

T y p e i a q u o t e m a r k a t h e c u r s o r f o l l o w e d b s p a c e s a n < r e t u m > :

T h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 59: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 59/84

S I r e s p o n d s w i t h :s p a c e s > < r e t u r n >

0 7 C 8 2 0 - D -

T y p e i p e r i o d f o l l o w e d b y < r e t u r n > a t h e c u r s o r t e n t h s u b s t i t u t i o n :

< r e t u r n >

S I w i l l r e s p o n d w i t h t h p r o m p t # .

T h i s c h a n g e m a k e s C P / M l o o k f o t h f i l e P R O F I L E . C O M w h e ni s t a r t s u p I t h i s f i l e i s p r e s e n t , i w i l l a u t o m a t i c a l l y l o a d a n e x e c u t e i t A l y o u m u s t d o t t a k e a d v a n t a g e o t h i s i t r e n a m ey o u r p r o g r a m t " P R 0 F I L E . C O M " w i t h C P / M ' s " R E N A M E "c o m m a n d . F o e x a m p l e , t b o o t M B A S I C y o u w o u l d u s e :

R E N A M E P R 0 F I L E . C O M M B A S I C . C O M < r e t u m >

O c o u r s e , t h e r e i n o t h i n g s a c r e d a b o u t t h n a m e " P R O F I L E " . I y o u w o u l d r a t h e r n o r e n a m e y o u r p r o g r a m , y o c a m a k e a a d d i t i o n a l c h a n g e t t h C C P . A d d r e s s e s $ 0 4 F C t $ 0 5 0 3c o n t a i n t h e w o r d " P R O F I L E " . Y o c a n c h a n g e t h i s t y o u ra p p l i c a t i o n p r o g r a m n a m e u s i n g s i m i l a r m e t h o d t t h a t o u l i n e d a b o v e f o e r a s i n g t h S U B M I T c o m m a n d . F o t h M B A S I Ce x a m p l e , y o u w o u l d u s e :

y o t y p eS I r e s p o n d sy o t y p eS I r e s p o n d sy o t y p eS I r e s p o n d s

S 0 4 F C < r e t u r n >( M F C 5 0 - g -" M B A S I C < s p a c e > < r e t u r n >0 5 0 3 2 - n

< r e t u r n >

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

O n c e y o h a v e m a d e a l o t h n e c e s s a r y c h a n g e s , s a v e t h m o d i f i e d f i l e b a c k t d i s k w i t h t h c o m m a n d :

W C C P . C O M , 0 1 0 0 , 0 D 8 0 < r e t u r n >

T h 0 1 0 0 a n d 0 D 8 0 a r e t h e h e x a d e c i m a l s t a r t a n d e n d a d r e s s e s o t h C C P . C O M f i l e a l i s t e d o t h S I s t a r t u p d i s p l a y .A l h e a d d r e s s e s l i s t e d a b o v e a r i d e n t i c a l f o a l c u r r e n tv e r s i o n s o C P / M i m p l e m e n t e d o t h e C - 1 2 8 .

N o p r e s s t h r e s e t b u t t o n a n w a t c h y o u r p r o g r a m b o o t u a u t o m a t i c a l l y ! O n f i n a l n o t e . I y o d e c i d e t c h a n g e t h b o o tf i l e n a m e f r o m " P R O F I L E . C O M " t s o m e t h i n g e l s e , y o w i l lh a v e t m o d i f y c u s t o m C C f o e a c h d i s k y o u w a n t t b o o t . O c o u r s e , o n l y o n b o o t r o u t i n e p e d i s k i p o s s i b l e w i t h t h i sr o u t i n e . I y o f o r m a t n e d i s k a n c o p y t h m o d i f i e d s y s t e mf i l e s t i t t h b o o t c o m m a n d w i l l b t o t a l l y t r a n s p a r e n t i t h b o o t a b l e f i l e i s n o t p r e s e n t o t h n e d i s k . T h i s m e a n s t h a t i t h f i l e m e n t i o n e d i t h b o o t r o u t i n e i n o t p r e s e n t o t h d i s k ,C P / M w i l l s t a r t u i i t n o r m a l m a n n e r a n d e n d w i t h t h f a m i l i a r A p r o m p t .

N e w ! I m p r o v e d !T R A N S B A S I C 2

w i t h S Y M A S S ™

" u s e d t b s a s h a m e d o m d u l l , m e s s y c o d e , b u n m a t t e r w h a t t r i e d j u s t c o u l d n ' t g e r i o t h o s es t u b b o r n s p a g h e t t i s t a i n s ! 1 ' w r i t e s M r s . J e n n y R o R i c h m o n d H i l l , O n t a r i o . " T h e n t h T r a n s a c t o r p e o p l ea s k e d m t t r n e T r a n s B A S I C 2 w i t h S y m a s s ® .T h e y e x p l a i n e d h o T r a n s B A S I C 2 w i t h i t s c o r e s o t i n y ' t o k e n s ' , w o u l d g e m c o d e l o o k i n g c l e a n , f a s t !

" w a s c e p t i c a l , b u f i g u r e d t h e r e w a n h a r m i g i v i n g i t r y . W e l l , a l i t o o k w a o n l o a d a n w a c o n v i n c e d ! T r a n s B A S I C w e n t t w o r k a n d g o m c o d e l o o k i n g c l e a n a n e i s e c o n d s ! N o I ' t e l l i n ga l m f r i e n d s t o t r T r a n s B A S I C i t h e i r m a c h i n e s ! "

T r a n s B A S I C 2 w i t h S y m a s s , t h s y m b o l i c a s s e m b l e r .P a c k a g e c o n t a i n s a l 1 s e t s o T r a n s B A S I C m o d u l e sf r o m t h m a g a z i n e , p l u s f u l l d o c u m e n t a t i o n . M a k e y o u rB A S I C p r o g r a m s r u f a s t e r a n b e t t e r w i t h o v e r 1 4 a d d e d s t a t e m e n t a n f u n c t i o n k e y w o r d s .

D i s k a n d M a n u a l $ 1 7 . 9 5 U S $ 1 9 . 9 5 C d n .( s e e o r d e r c a r d a c e n t e r a n N e w s B R f o m o r e i n f o )

T r a n s B A S I C" C l e a n e r c o d e , l o a d a f t e r l o a d ! 1 9T h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 60: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 60/84

C k > c k - C a l e n d a r 1 2 8 W i l l i a m J B r i e rB e n s e n v i l l e , I

© 1 9 8 7 B i l l B r i e r

A i n c r e a s i n g l y p o p u l a r a c c e s s o r y f o p e r s o n a l c o m p u t e r s i t h C l o c k - C a l e n d a r c a r t r i d g e w i t h b a t t e r y b a c k u p . I i q u i t e h a n d y t h a v e t h e t i m e a n d a t e r e a d i l y a v a i l a b l e w h e n y o o r t h e c o m p u t e rw a n t s i t H o w e v e r , s u c h g a d g e t r y r e q u i r e s t h u s o t h a t e l u s i v em a t t e r f o r m k n o w n a m o n e y . N o t s u r p r i s i n g l y , m o s t o u h a t es p e n d i n g m o n e y ( u n l e s s i t ' s s o m e b o d y e l s e ' s ) .

n e e d e d s o m e w a y t d i s p l a y t h t i m e a n d a t e o m C - 1 2 8 b u d i d n ' t n e e d t h b a t t e r y b a c k u p ( o t h e x p e n s e ) . I y o h a v e r e a dt h i s f a r , y o p r o b a b l y s h a r e t h s a m e n e e d s . S o i y o a r e w i l l i n g t l i v e w i t h o u t t h b a t t e r y b a c k u p f e a t u r e a n a r a l s o w i l l i n g t d s o m e t y p i n g , h a v e a n i n e x p e n s i v e t i m e k e e p i n g s o l u t i o n f o y o u . I u s e s s o m e r e s o u r c e s t h a t a l C - 1 2 8 c o m p u t e r s a r e q u i p p e d w i t h ,n a m e l y t h T O c l o c k s i t h C I c h i p s . M s o l u t i o n i l i t t l em a c h i n e l a n g u a g e u t i l i t y c a l l e d ( o d d l y e n o u g h ) C l o c k - C a l e n d a r1 2 8 .

C l o c k - C a l e n d a r 1 2 i a t i m e a n d a t e u t i l i t y f o t h e C - 1 2 8 . C l o c k -C a l e n d a r u s e s t h T i m e O D a ( T O D ) c l o c k i C I # t g e n e r a t e a a c c u r a t e 2 4 h o u r t i m e o u t p u t , w i t h r e s o l u t i o n o o n s e c o n d . T h u t i l i t y a l s o m a i n t a i n s a G r e g o r i a n c a l e n d a r , a c c u r a t e t h r o u g h t h y e a r 2 0 9 9 . T i m e a n d a t e o u t p u t s a r m a d e a v a i l a b l e f o d i s p l a y o b o t h 4 0 a n d 8 0 c o l u m n s c r e e n s a n f o u s b o t h e r s o f t w a r e .

I a d d i t i o n t t h t i m e a n d a t e f u n c t i o n s , C l o c k - C a l e n d a r a l s of e a t u r e s a a u d i b l e a l a r m , w h i c h m a b s e t a n d e s i r e d t i m e . A l f u n c t i o n s o C l o c k - C a l e n d a r a r e d r i v e n b i n t e r r u p t r e q u e s t s a n a r t h e r e f o r e t r a n s p a r e n t t t h c o m p u t e r ' s o p e r a t i n g s y s t e m a n m o s t s o f t w a r e . S p e c i a l s o f t w a r e t r a p s p r e v e n t i n t e r f e r e n c e w i t h t h C - 1 2 8 s c r e e n e d i t o r w h e n t h p r o g r a m m i n g c o n s i d e r a t i o n s d s c r i b e d l a t e r i t h i s a r t i c l e a r o b s e r v e d .

I t ' s N o H y d r o g e n M a s e r S t a n d a r d B u t . . .

U n l i k e t h T I s o f t w a r e " c l o c k " p r o v i d e d a p a r t o B A S I C 7 . 0 , t h t i m e o u t p u t o C l o c k - C a l e n d a r i r e m a r k a b l y a c c u r a t e , t y p i c a l l yd e m o n s t r a t i n g a d r i f t o l e s s t h a n 0 . s e c o n d s p e m o n t h . T h i s i b e c a u s e t h C I h a r d w a r e c l o c k i s y n c h r o n i z e d t t h p o w e r l i n ef r e q u e n c y , w h i c h i c a r e f u l l y r e g u l a t e d b t h u t i l i t y t h a t s u p p l i e se l e c t r i c p o w e r .

T h C I h a r d w a r e c l o c k i i n i t i a l i z e d d u r i n g t h r e s e t s e q u e n c e t o p e r a t e o 6 H p o w e r l i n e f r e q u e n c y ( t h e N o r t h A m e r i c a ns t a n d a r d ) . M a n y E u r o p e a n a n d M i d d l e E a s t l o c a t i o n s u s 5 H p o w e r . s i m p l e P O K E ( d e s c r i b e d l a t e r ) c a n b e u s e d t p r o g r a m t h C I c h i p t o p e r a t e o 5 H p o w e r .

m u s t c a u t i o n y o t h a t b a t t e r i e s a r n o i n c l u d e d w i t h C l o c k -C a l e n d a r . A s o o n a y o ( o t h p o w e r c o m p a n y ) s h u t o f t h C - 1 2 8t h e c l o c k v a n i s h e s i n t o t h i n a i r ( s o r t o f t h w a t i m e d o e s w h e ny o u ' r e b e h i n d s c h e d u l e ) .

C l o c k - C a l e n d a r w a i n s p i r e d b p r o g r a m t h a t w a p u b l i s h e d f o t h C - 6 4 b M i k e F o r a n i i V o l u m e 5 I s s u e o T R A N S A C T O R .t y p e d i M i k e ' s p r o g r a m ( l e a r n i n g s o m e t h i n g a b o u t i n t e r r u p t s i t h p r o c e s s ) a n l a t e r a d d e d t h c a l e n d a r a n a l a r m r o u t i n e s t i t W h e n

a c q u i r e d m C - 1 2 8 1 d e c i d e d t p o r t t h p r o g r a m o v e r , a c c o m m od a t i n g b o t h s c r e e n d i s p l a y s i t h p r o c e s s . T h a t p o r t i n g p r o c e s sp r o v e d t b b i o a e d u c a t i o n i i t s e l f , e s p e c i a l l y i g e t t i n g t h c l o c k d i s p l a y a n t h C - 1 2 8 s c r e e n e d i t o r t g e a l o n g w i t h e a c ho t h e r . e n d e d u p s t a r t i n g f r o m s c r a t c h , a l t h o u g h M i k e m a r e c o gn i z e a s l i g h t v e s t i g e o f h i s o r i g i n a l r o u t i n e . I n t h p r o c e s s o d o i n gt h i s r e w r i t e f o u n d t h a t p r o g r a m m e r ' s b e s t f r i e n d i i n d e e d t h R E S E T b u t t o n .

T h r e e M o d u l e s A n N B a t t e r i e s

C l o c k - C a l e n d a r c o n s i s t s o t h r e e m a c h i n e l a n g u a g e m o d u l e s ( o n em a i n m o d u l e a n d t w o s e t u p m o d u l e s ) . h a v e t h i s a n n o y i n g h a b i t o g i v i n g b i n a r y f i l e s c r y p t i c , " c o m p u t e r - s o u n d i n g " n a m e s t h a t t e l l m w h a t t h e y a r e . A c c o r d i n g l y , I ' v e g i v e n e a c h o t h e t h r e e m o d u l e sc r y p t i c , c o m p u t e r - s o u n d i n g n a m e s t h a t w i l l u n d o u b t e d l y a n n o y y o f o t h b a l a n c e o t h i s a r t i c l e :

C L K 4 8 6 4C L K 5 6 3 2D T 5 6 3 2

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

B e c a u s e t h e s e a r e a l b i n a r y f i l e s y o m u s t l o a d t h e m i n t o m e m o r yw i t h t h B L O A D s y n t a x ( o L O A D " F I L E N A M E " , 8 , 1 ) . R e a d o n t d i s c o v e r h o t g e C l o c k - C a l e n d a r r u n n i n g . A y o u ' l l s e e , i t ' sa c t u a l l y q u i t e u s e r - f r i e n d l y ( h o n e s t ! ) .

P l a c i n g C l o c k - C a l e n d a r I n t o O p e r a t i o n

T a c t i v a t e C l o c k - C a l e n d a r s i m p l y B L O A D t h C L K 4 8 6 4 m o d u l ei n t o m e m o r y a n a c t i v a t e i w i t h S Y 4 8 9 7 . T h i s c o m m a n d w i l l" w e d g e " C l o c k - C a l e n d a r i n t o t h i n t e r r u p t s y s t e m a n t h t i m e a n d a t e d i s p l a y w i l l a p p e a r i t h u p p e r r i g h t - h a n d c o r n e r o b o t hd i s p l a y s c r e e n s .

W h e n C l o c k - C a l e n d a r i p l a c e d i n t o o p e r a t i o n t h e h a r d w a r e c l o c ki g i v e n " n u d g e " t g e i s t a r t e d ( i i n i t i a l l y i n o r u n n i n g w h e nt h C - 1 2 8 i p o w e r e d u o a f t e r t h R E S E T b u t t o n h a b e e np r e s s e d ) . T h e r e f o r e , i i p r o b a b l e t h a t t h d i s p l a y e d t i m e w i l l n o b

T h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 61: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 61/84

c o r r e c t . A l s o , t h e d i s p l a y e d d a t e w i l l b r e p r e s e n t e d b s e r i e s o fq u e s t i o n m a r k s ( ? ? - ? ? - ? ? ) i n d i c a t i n g t h a t n d a t e h a b e e n s e t .

U p o n a c t i v a t i o n o C l o c k - C a l e n d a r t h d e f a u l t d i s p l a y s e t t i n g s w i l lb i n f o r c e . T h e s e a r y e l l o w d i s p l a y c o l o u r o t h 4 c o l u m ns c r e e n , c y a n d i s p l a y c o l o u r o t h 8 c o l u m n s c r e e n a n n o r m a l( n o n - r e v e r s e d ) v i d e o d i s p l a y o b o t h s c r e e n s . P r o v i s i o n s h a v e b e e nm a d e t c h a n g e t h d i s p l a y c h a r a c t e r i s t i c s t s u i t i n d i v i d u a l t a s t e s .S u c h a d j u s t m e n t s a r d e s c r i b e d i l a t e r s e c t i o n .

O n p r e c a u t i o n m u s t b n o t e d b e f o r e l e a v i n g t h i s s e c t i o n . O n c e y o h a v e l o a d e d a n a c t i v a t e d C l o c k - C a l e n d a r d n o t r e p e a t t h e l o a di n p r o c e s s . D o i n g s w i l l p r o b a b l y r e s u l t i n s y s t e m c r a s h . T h i s o c o u r s e , w i l l g i v e y o a o p p o r t u n i t y t m a k e f r i e n d s w i t h t h R E S E Tb u t t o n , i c a s e y o h a v e n ' t a l r e a d y d o n e s o

S e t t i n g T h e T i m e O f D a

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

T h t i m e w i l l a l w a y s b d i s p l a y e d i t h f o r m a t H H : M M : S S , w h e r eH i t h h o u r s r e p r e s e n t a t i o n , M i t h m i n u t e s r e p r e s e n t a t i o na n S t h s e c o n d s r e p r e s e n t a t i o n . T h t i m e i k e p t i 2 h o u r o m i l i t a r y f o r m a t . T h i s m e a n s t h a t w h e n t h t i m e o d a i 1 : 0 0 P t h r o u g h 1 1 : 5 9 P M t h e c l o c k w i l l d i s p l a y t h t i m e w i t h t h v a l u e 1 a d d e d t t h e h o u r s . M i d n i g h t ( 1 2 : 0 0 A M w i l l b d i s p l a y e d a s0 0 : 0 0 : 0 0 . T h m a i n a d v a n t a g e o t h 2 4 h o u r t i m e - k e e p i n g s y s t e mw i l l q u i c k l y b e c o m e a p p a r e n t : T h e r e w i l l n e v e r b a n c o n f u s i o nr e g a r d i n g A o P M

T s e t h t i m e o d a y , p r o c e e d a f o l l o w s :

1 B L O A D t h C L K 5 6 3 2 m o d u l e i n t o m e m o r y .2 T y p e S Y 5 6 3 2 , 0 . T h ' 0 i n d i c a t e s t C L K 5 6 3 2 t h a t y o a r

s e t t i n g t h t i m e o d a y .3 T h C - 1 2 8 w i l l p r o m p t y o f o t h C O R R E C T T I M E ( H H : M M ) a n

f l a s h t h c u r s o r . T y p e i t h t i m e o d a u s i n g 2 4 h o u r f o r m a t .N o t e t h a t y o u m u s t t y p e t w d i g i t s f o r t h h o u r s a n d t w o d i g i t s f o rt h e m i n u t e s . E n t e r m i d n i g h t a 0 0 : 0 0 . T h c u r s o r w i l l s k i p o v e rt h e c o l o n a s y o e n t e r t h e t i m e ( s e e , t o l d y o i w a u s e r -f r i e n d l y ) .

4 U p o n t y p i n g i t h t i m e , p r e s s R E T U R N t e n t e r i o r t h e D E L e t ek e t e r a s e y o u r i n p u t .

N O T E : T h t i m e v a l u e t h a t y o e n t e r m u s t b v a l i d o n e . T h h o u r sv a l u e m a n o b g r e a t e r t h a n 2 3 a n d t h m i n u t e s m a n o b g r e a t e r t h a n 5 9 I y o d o n ' t a d h e r e t t h e s e r e q u i r e m e n t s , C l o c k -C a l e n d a r w i l l b e c o m e u n f r i e n d l y a n d e m a n d t h a t y o u d o i r i g h t .

5 N e x t , t h e t i m e t h a t y o h a v e e n t e r e d w i l l b c o n f i r m e d f o a c c u r a c y . R e s p o n d t t h c o n f i r m a t i o n p r o m p t w i t h ( Y ) e s o ( N ) o .

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

S e t t i n g T h A l a r m T i m e

A m e n t i o n e d a b o v e , C l o c k - C a l e n d a r i n c o r p o r a t e s a a u d i b l ea l a r m f u n c t i o n . T h a l a r m i a c t i v a t e d w h e n t h t i m e o d a e q u a l st h a l a r m t i m e a n t h a l a r m e n a b l e f l a g ( d e s c r i b e d l a t e r ) h a b e e ns e t t o a e n a b l e v a l u e .

S e t t h e a l a r m a f o l l o w s :

1 B L O A D C L K 5 6 3 2 i n t o m e m o r y .2 T y p e S Y 5 6 3 2 , 1 . T h i n d i c a t e s t C L K 5 6 3 2 t h a t y o a r

s e t t i n g t h a l a r m t i m e .3 Y o w i l l b p r o m p t e d f o t h A L A R M T I M E ( H H : M M ) . T h a l a r m

t i m e i e n t e r e d i e x a c t l y t h s a m e m a n n e r a s t h e t i m e o d a y .4 A w i t h e n t e r i n g t h e t i m e o d a y , r e s p o n d i n g w i t h ( N ) o t t h

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

U p o n r e a c h i n g t h a l a r m t i m e a " g o n g " w i l l s o u n d o n c e e v e r y t w s e c o n d s f o a p e r i o d o o n m i n u t e . W h e n t h o n m i n u t e p e r i o dh a e l a p s e d t h g o n g w i l l s i l e n c e . U n l e s s t h a l a r m e n a b l e f l a g i c l e a r e d , t h a l a r m w i l l s o u n d a t h s a m e t i m e e a c h d a f o a l o n ga C l o c k - C a l e n d a r r e m a i n s i o p e r a t i o n .

T s i l e n c e t h a l a r m a n d i s a b l e i t P O K E 4 8 9 6 , 1 2 9 . T e n a b l e t h a l a r m a g a i n s t h a t i c h i m e s t h n e x t d a a t h s a m e t i m e , P O K E4 8 9 6 , 0 .

S e t t i n g T h C a l e n d a r D a t e

B e f o r e d e s c r i b i n g h o t s e t h d a t e , i i a p p r o p r i a t e t d i s c u s s t h em a n n e r i w h i c h C l o c k - C a l e n d a r d i s p l a y s t h d a t e .

T h d a t e i d i s p l a y e d i t h f o r m a t M M - D D - Y Y w h e r e M i t h m o n t h , D i t h d a a n Y i t h y e a r . I t h m o n t h i J a n u a r yt h r o u g h S e p t e m b e r t h f i r s t d i g i t o t h e d a t e w i l l b b l a n k . T h d a t ei a l w a y s d i s p l a y e d i m m e d i a t e l y b e l o w t h t i m e i t h u p p e r r i g h t -h a n d c o r n e r o t h s c r e e n .

T h d a t e a u t o m a t i c a l l y c h a n g e s a t h s t r o k e o m i d n i g h t p r o v i d e dt h a t C l o c k - C a l e n d a r i i o p e r a t i o n . B e c a u s e t h c a l e n d a r i m a i nt a i n e d i s o f t w a r e t h e d a t e w i l l n o c h a n g e i t h p r o g r a m h a b e e nd i s a b l e d .

C l o c k - C a l e n d a r i n c o r p o r a t e s m e a n s t d e t e c t l e a p y e a r a n m a k ea p p r o p r i a t e c o m p e n s a t i o n f o t h m o n t h o F e b r u a r y . T h i s c o m p e ns a t i o n i a c c u r a t e f o a l y e a r s f r o m 1 9 0 1 t 2 0 9 9 i n c l u s i v e . I n a c c u r ac i e s w i l l o c c u r i a n c e n t u r y y e a r t h a t i n o e v e n l y d i v i s i b l e b 4 0 0 , a s C l o c k - C a l e n d a r d o e s n o u s t h f i r s t t w d i g i t s o t h y e a r( f o r e x a m p l e , 1 9 0 0 , 2 0 0 0 a n d 2 1 0 0 a r a l t h s a m e t C l o c k -C a l e n d a r b u o n l y t h y e a r 2 0 0 0 i l e a p y e a r ) .

T o c h a n g e t h d a t e , p r o c e e d a f o l l o w s :

l . B L O A D " D T 5 6 3 2 \2 T y p e S Y 5 6 3 2 .3 T h C - 1 2 8 w i l l p r o m p t y o u f o T O D A Y ' S D A T E a n f l a s h t h

c u r s o r . T y p e i t h e d a t e a s M M - D D - Y Y . I t h m o n t h i J a n u a r yt h r o u g h S e p t e m b e r t y p e z e r o a t h f i r s t m o n t h d i g i t .

4 S i m i l a r l y , d a y s o n t h r o u g h n i n e a n y e a r s z e r o t h r o u g h n i n em u s t b e n t e r e d w i t h a z e r o a s t h e f i r s t d i g i t . T h c u r s o r w i l la u t o m a t i c a l l y s k i p o v e r t h h y p h e n s ( - a y o e n t e r t h e d a t e .

N O T E : T h d a t e v a l u e t h a t y o e n t e r m u s t b v a l i d o n e . T h m o n t h m u s t b t h r o u g h 1 2 t h d a m u s t b e t h r o u g h 3 a n m u s t a l s o b v a l i d d a f o t h m o n t h a n y e a r t h a t h a b e e ne n t e r e d . F o e x a m p l e , e n t e r i n g 0 2 - 2 9 - 8 7 w o u l d n o b v a l i d a 1 9 8 6 w a n o l e a p y e a r . S i m i l a r l y , e n t e r i n g 1 1 - 3 1 - 8 7 w o u l d a l s o

T h T r a n s a c t o r 5 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 62: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 62/84

n o b v a l i d a s t h e r e a r e o n l y 3 d a y s i N o v e m b e r .

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

M o d i f y i n g T h C l o c k - C a l e n d a r D i s p l a y

A d e s c r i b e d a b o v e , C l o c k - C a l e n d a r h a d e f a u l t d i s p l a y s e t t i n g st h a t d e t e r m i n e t h e c o l o u r a n a p p e a r a n c e o t h t i m e a n d a t ed i s p l a y . I i p o s s i b l e b u s o s i m p l e P O K E s t c h a n g e t h a p p e a r a n c e o t h d i s p l a y t r e v e r s e v i d e o , t c h a n g e t h d i s p l a yc o l o u r s o r t d i s c o n t i n u e u p d a t i n g o t h d i s p l a y . T h e s e f u n c t i o n sa r c o n t r o l l e d b a g r o u p o m e m o r y l o c a t i o n s s t a r t i n g a $ 1 3 1 5 i R A 0 T h e i r f u n c t i o n s a r e a s f o l l o w s ( a l l l o c a t i o n a d d r e s s e s a r g i v e n i h e x a d e c i m a l ) :

$ 1 3 1 5 T h i s l o c a t i o n i t h e " d i s p l a y f l a g " . C l o c k - C a l e n d a r w i l ld i s p l a y t h t i m e a n d a t e o t h s c r e e n a l o n g a s t h e d i s p l a y f l a g i s e t t o z e r o . I y o w i s h t f r e e z e t h d i s p l a y P O K E i n t o t h i sl o c a t i o n . T h i s w i l l t e l l C l o c k - C a l e n d a r t s t o p u p d a t i n g t h d i s p l a y .

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

$ 1 3 1 6 T h i s l o c a t i o n d e t e r m i n e s t h d i s p l a y c o l o u r o b o t h s c r e e n s .I y o w i s h t c h a n g e t h d i s p l a y c o l o u r s P O K E a n v a l u e f r o m t 1 i n t o t h i s l o c a t i o n . T h p r o p e r v a l u e m a b s e l e c t e d f r o m t h f o l l o w i n g c h a r t :

C o d e 4 0 C O L .B l a c kW h i t eD a r k R e C y a nP u r p l eD a r k G r e e nD a r k B l u eY e l l o w

8 0 C O L .B l a c kD a r k G r e yD a r k B l u eL i g h t B l u eD a r k G r e e nL i g h t G r e e nD a r k C y a nL i g h t C y a n

C o d e 4 C O L .

1 1 1 1 1 1

O r a n g eB r o w nL i g h t R e D a r k G r e yM e d i u m G r e yL i g h t G r e e nL i g h t B l u eL i g h t G r e y

8 C O L .D a r k R e dL i g h t R e D a r k P u r p l eL i g h t P u r p l eD a r k Y e l l o wL i g h t Y e l l o wL i g h t G r e yW h i t e

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

$ 1 3 1 7 T h i s l o c a t i o n d e t e r m i n e s w h e t h e r t h e d i s p l a y w i l l b i n o r m a l o r r e v e r s e v i d e o . P O K E i n g i n t o t h i s l o c a t i o n w i l l c h a n g et h d i s p l a y t r e v e r s e v i d e o . T h d e f a u l t s e t t i n g i 0 ( n o r m a l v i d e o ) .

U s i n g C l o c k - C a l e n d a r W i t h O t h e r S o f t w a r e

C l o c k - C a l e n d a r h a s b e e n d e s i g n e d s t h a t i m a b u t i l i z e d w i t ho t h e r s o f t w a r e t h a t r e q u i r e s t i m e a n d / o r d a t e v a l u e . B e c a u s eC l o c k - C a l e n d a r i i n t e r r u p t - d r i v e n i i " i n v i s i b l e " t B A S I C a n m o s t s o f t w a r e a n t h e r e f o r e r e q u i r e s f e s p e c i a l p r o g r a m m i n gc o n s i d e r a t i o n s . T h e r e a r e a f e p r e c a u t i o n s t h a t m u s t b e o b s e r v e dw h e n u s i n g t h e 8 c o l u m n s c r e e n o r w h e n f e t c h i n g k e y b o a r d i n p u tb u s o t h I N P U T s t a t e m e n t i B A S I C o r t h e C H R I N ( B A S I N )s u b r o u t i n e i t h e K e r n a l . t h e s e p r e c a u t i o n s w i l l b d i s c u s s e d l a t e ri t h i s s e c t i o n .

T h t i m e a n d a t e o u t p u t s o C l o c k - C a l e n d a r a r a v a i l a b l e i g r o u p o m e m o r y l o c a t i o n s s t a r t i n g a $ 1 3 0 0 i R A 0 T h e s e

l o c a t i o n s a r u p d a t e d o n c e p e s e c o n d a l o n g a C l o c k - C a l e n d a rr e m a i n s a c t i v a t e d . T h a c t u a l t i m e a n d a t e v a l u e s a r e s t o r e d i c o n s e c u t i v e b y t e o r d e r , u s i n g b o t h P E T A S C I I a n b i n a r y - c o d e dd e c i m a l ( B C D ) f o r m a t . d e s c r i p t i o n o e a c h o u t p u t f o l l o w s i l o c a t i o n o r d e r :

$ 1 3 0 0 P E T A S C I I D a t eT h P E T A S C I I f o r m o t h e d a t e i s t o r e d s t a r t i n g a $ 1 3 0 0 a n t a k e st h f o r m M M - D D - Y Y t e r m i n a t e d b C H R $ ( 0 ) c h a r a c t e r . T h d a t ec h a n g e s o n l y a m i d n i g h t ( w h e n h o u r s , m i n u t e s a n s e c o n d s a l e q u a l z e r o ) .

B e c a u s e i i p o s s i b l e f o t h d a t e t c h a n g e w h i l e y o u r s o f t w a r e i r e a d i n g i t y o s h o u l d " s t o p t h e c l o c k " b i s s u i n g S Y 4 9 0 0c o m m a n d i m m e d i a t e l y b e f o r e f e t c h i n g t h d a t e . O n c e t h f e t c h h a b e e n c o m p l e t e d r e s t a r t t h c l o c k w i t h S Y 4 8 9 7 .

N O T E : I t h d i s p l a y f l a g a $ 1 3 1 5 h a b e e n s e t t o " d i s p l a y o f f " ( 1 i w i l l b r e s e t t " d i s p l a y o n w h e n t h S Y 4 8 9 7 c o m m a n d i i s s u e d .

r e c o m m e n d e d m e t h o d o f e t c h i n g t h e d a t e f r o m B A S I C i a f o l l o w s :

1 0 d t = " d e c ( ' 1 3 0 0 " ) : s y 4 9 0 0 : f o t 1 1 d t d t c h r $ ( p e e k ( i + j ) ) : n e x t : s y 4 8 9 7

T h i s w i l l r e s u l t i n t h e c u r r e n t d a t e b e i n g a s s i g n e d t v a r i a b l e D T $ .

I t h m o n t h i b e t w e e n J a n u a r y a n S e p t e m b e r t h f i r s t c h a r a c t e ri t h s t r i n g w i l l b C H R $ ( 3 2 ) ( b l a n k ) . I t h s t r i n g i w r i t t e n t t a p e o r d i s k f i l e t h e l e a d i n g b l a n k w i l l b s t r i p p e d w h e n I N P U T # i u s e d t r e a d i b a c k .

$ 1 3 0 9 P E T A S C I I T i m eT h P E T A S C I I f o r m o t h t i m e i s t o r e d s t a r t i n g a $ 1 3 0 9 a n t a k e st h f o r m H H : M M : S S t e r m i n a t e d b C H R $ ( 0 ) c h a r a c t e r . T h t i m ec h a n g e s o n c e p e s e c o n d a n r a n g e s b e t w e e n 0 0 : 0 0 : 0 0 ( m i d n i g h t )a n 2 3 : 5 9 : 5 9 ( o n e s e c o n d b e f o r e m i d n i g h t ) .

A w i t h f e t c h i n g t h d a t e y o s h o u l d s t o p t h e c l o c k i m m e d i a t e l yb e f o r e f e t c h i n g t h t i m e . r e c o m m e n d e d m e t h o d o f e t c h i n g t h t i m e i a f o l l o w s :

1 2 t d " d e c ( " 1 3 0 9 " ) : s y 4 9 0 0 : f o t 1 3 0 t d $ = t d $ c h r $ ( p e e k ( i + j ) ) : n e x t : s y 4 8 9 7

T h i s w i l l r e s u l t i n t h e c u r r e n t t i m e b e i n g a s s i g n e d t v a r i a b l e T D $ .

N O T E : T h t i m e s t r i n g w i l l c o n t a i n t w i m b e d d e d c o l o n s ( : ) . I y o w r i t e t h s t r i n g t t a p e o d i s k f i l e y o u m u s t r e a d i b a c k w i t h t h G E T # s t a t e m e n t .

$ 1 3 1 2 B C D a t eT h B C f o r m o t h e d a t e i s t o r e d s t a r t i n g a $ 1 3 1 2 a n t a k e s t h ef o r m i t h r e e c o n s e c u t i v e b y t e s . I y o u r s o f t w a r e r e q u i r e ss t o r a g e o t h d a t e i n t o f i l e y o m a f i n d t h B C f o r m m o r ee f f i c i e n t a l e s s s t o r a g e s p a c e i r e q u i r e d .

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

1 4 b d = " " : d e c ( " 1 3 1 2 f l ) : s y 4 9 0 0 : f o t 1 5 b d $ = b d $ c h r $ ( p e e k ( i + j ) ) : n e x t : s y 4 8 9 7

T h T r a n s a c t o r 6 M a r c h 1 9 8 8 ; V o l u m e 8 I s s u e O

Page 63: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 63/84

T h i s w i l l r e s u l t i t h B C d a t e b e i n g a s s i g n e d t t h v a r i a b l e B D $ .Y o m a P R I N T # t h i s d a t e t f i l e a n r e a d i b a c k w i t h I N P U T # a t h e r e w i l l b n e m b e d d e d P E T A S C I I v a l u e s t h a t w i l l c a u s e t r o u b l ew i t h I N P U T *

U s i n g B A S I C 7 . i i p o s s i b l e t d e c o d e t h B C d a t e i n t oP E T A S C I I r e p r e s e n t a t i o n s u i t a b l e f o d i s p l a y . r e c o m m e n d e dm e t h o d o d o i n g s o i a f o l l o w s ( t h e B C d a t e i a s s u m e d t b i v a r i a b l e B D $ ) :

2 0 0 m a s c ( m i d $ ( b d $ , 1 ) )2 1 0 d a s c ( m i d $ ( b d $ , 2 ) )2 2 0 y a s c ( m i d $ ( b d $ , 3 ) )2 3 m m i d $ ( h e x $ ( m ) , 3 ) : i f v a l ( m $ ) 1 t h e n

m i d $ ( m $ , 1 , 1 ) c h r $ ( 3 2 )2 4 d m i d $ ( h e x $ ( d ) , 3 ) 2 5 y m i d $ ( h e x $ ( y ) , 3 )2 6 d d $ = m + " - " d + " - ' y

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

$ 1 3 1 8 S i g n a t u r eT h i s l o c a t i o n c o n t a i n s t h e P E T A S C I I s t r i n g " C L K " t e r m i n a t e d w i t hC H R $ ( 0 ) c h a r a c t e r . T h s i g n a t u r e i p r e s e n t o n l y w h e n C l o c k -C a l e n d a r i a c t i v a t e d . A p p l i c a t i o n s s o f t w a r e m a u s t h i s s t r i n g t d e t e r m i n e i t h e c l o c k i r u n n i n g . T h e r e c o m m e n d e d m e t h o d o d o i n g s i a f o l l o w s :

2 7 c s " e l k " c h r $ ( 0 ) : c k " ' s d e c ( " 1 3 1 8 " )2 8 f o t 3 c k c k c h r $ ( p e e k ( s s i ) ) : n e x t2 9 i c k $ O c s $ t h e n C L O C K I N O A C T I V A T E D

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

$ 1 3 2 7 B C T I M ET h B C f o r m o t h t i m e i s t o r e d s t a r t i n g a $ 1 3 2 7 a n t a k e s t h ef o r m i t h r e e c o n s e c u t i v e b y t e s . I y o u r s o f t w a r e r e q u i r e ss t o r a g e o t h t i m e i n t o f i l e y o m a f i n d t h B C f o r m m o r ee f f i c i e n t a l e s s s t o r a g e s p a c e i r e q u i r e d .

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

3 0 b t = " " : d e c ( B 1 3 2 7 B ) : s y 4 9 0 0 : f o t 3 1 b t b t c h r $ ( p e e k ( i + j ) ) : n e x t : s y 4 8 9 7

T h i s w i l l r e s u l t i n t h B C t i m e b e i n g a s s i g n e d t t h e v a r i a b l e B T $ .Y o m a P R I N T # t h i s t i m e v a l u e t f i l e . H o w e v e r , i m u s t b e r e a db a c k w i t h G E T # t a v o i d t r u n c a t e d s t r i n g .

U s i n g B A S I C 7 . i i p o s s i b l e t d e c o d e t h B C t i m e i n t oP E T A S C I I r e p r e s e n t a t i o n s u i t a b l e f o d i s p l a y . r e c o m m e n d e dm e t h o d o d o i n g s i a f o l l o w s ( t h e B C t i m e i a s s u m e d t b i v a r i a b l e B T $ ) :

3 2 0 h a s c ( m i d $ ( b t $ , 1 ) )3 3 a s c ( m i d $ ( b t $ , 2 ) )3 4 0 s a s c ( m i d $ ( b t $ , 3 ) )3 5 h m i d $ ( h e x $ ( h ) , 3 )3 6 m m i d $ ( h e x $ ( m ) , 3 )3 7 0 s $ = m i d $ ( h e x $ ( s ) , 3 )

T h i s w i l l r e s u l t i n t h v a r i a b l e T D c o n t a i n i n g t h P E T A S C I I t i m e ,w i t h l e a d i n g z e r o i t h h o u r i b e f o r e 1 0 : 0 0 A M

T a v o i d s y s t e m c l a s h e s o r o t h e r m a l a d i e s w h e n u s i n g C l o c k -C a l e n d a r w i t h o t h e r s o f t w a r e , y o s h o u l d o b s e r v e t h e f o l l o w i n gp r e c a u t i o n s :

1 D n o t d i s t u r b a n y t h i n g i R A b e t w e e n l o c a t i o n s $ 1 3 1 C a n $ 1 5 D 8 i n c l u s i v e ( e x c e p t t h e a l a r m l o c a t i o n s a $ 1 3 1 E - $ 1 3 2 0 ) .B e c a u s e C l o c k - C a l e n d a r i d r i v e n b i n t e r r u p t s i m a b c o n s i de r e d p a r t o t h C - 1 2 8 o p e r a t i n g s y s t e m . D i s t u r b i n g a n y t h i n g i t h $ 1 3 1 C - $ 1 5 D 8 m e m o r y r a n g e w i l l p r o b a b l y c a u s e t h C - 1 2 8t i m m e d i a t e l y c r a s h . I i i n e c e s s a r y t l o a d d i f f e r e n t p r o g r a mi n t o t h a t s a m e a r e a y o m u s t s t o p t h e c l o c k w i t h S Y 4 9 0 0c o m m a n d b e f o r e a t t e m p t i n g t h l o a d .

2 A v o i d u s i n g t h I N P U T s t a t e m e n t i B A S I C ( o C H R I N i m a c h i n el a n g u a g e ) t o f e t c h k e y b o a r d i n p u t w h e n t h e c u r s o r i o t h e t o pt w r o w s o t h s c r e e n . T h s y s t e m w i l l a c c e p t t h t i m e o r d a t ed i s p l a y a s p a r t o t h i n p u t . I y o m u s t u s t h e t o p t w r o w s f o i n p u t , e i t h e r d e f i n e w i n d o w t h a t d o e s n o i n c l u d e t h c o l u m n si w h i c h t h t i m e a n d a t e d i s p l a y o c c u r s o e l s e s h u t o f t h d i s p l a y a s p r e v i o u s l y d e s c r i b e d .

N O T E : S h u t t i n g o f t h d i s p l a y d o e s n o r e m o v e i f r o m t h e s c r e e n . I s i m p l y t e l l s C l o c k - C a l e n d a r t d i s c o n t i n u e u p d a t i n g o t h d i s p l a y .Y o m u s t e x p l i c i t l y c l e a r t h a t p a r t o t h e s c r e e n .

3 W h e n u s i n g I N P U T o C H R I N o t h 8 c o l u m n s c r e e n i i m a n d a t o r y t h a t t h d i s p l a y b s h u t o f f , r e g a r d l e s s o t h r o w o nw h i c h t h e i n p u t i t b a c c e p t e d . D u t t h m a n n e r i w h i c h t h C - 1 2 8 s c r e e n e d i t o r o p e r a t e s , c l a s h b e t w e e n C H R I N a n C l o c k -C a l e n d a r m a o c c u r i t h I N S e r T / D E L e t e k e i u s e d o i t h s c r e e n i s c r o l l e d w i t h t h c u r s o r k e y s . S u c h c l a s h m a r e s u l t i a s c r a m b l e d s c r e e n d i s p l a y , f r o m w h i c h r e c o v e r y r e q u i r e s u s o t h S T O P / R E S T O R E k e y p r e s s c o m b i n a t i o n .

I i a l s o n o t a d v i s a b l e t u s t h S C N C L R s t a t e m e n t f r o mB A S I C w h e n o p e r a t i n g o t h 8 c o l u m n t e x t s c r e e n . S C N C L Rb y p a s s e s s o f t w a r e t r a p s t h a t h a v e b e e n b u i l t i n t o C l o c k - C a l e n d a rt a v o i d c l a s h e s w i t h t h s c r e e n e d i t o r . I n s t e a d , u s t h C - 6 4m e t h o d o c l e a r i n g t h s c r e e n ( P R I N T C H R $ ( 1 4 7 ) ) . P a r t i a l s c r e e nc l e a r i n g b u s o t h E S C a p e f u n c t i o n s ( E S C P E S a n E S @ i p e r m i s s i b l e .

4 I y o u r p r o g r a m m a k e s u s o f s p l i t - s c r e e n g r a p h i c s y o s h o u l ds t o p t h e c l o c k w i t h S Y 4 9 0 0 c o m m a n d . S p l i t - s c r e e n g r a p h i c sr e q u i r e v e r y p r e c i s e t i m i n g o t h i n t e r r u p t s . T h s m a l l a d d i t i o n a lt i m e r e q u i r e d t e x e c u t e t h C l o c k - C a l e n d a r c o d e i s u f f i c i e n t t od i s t u r b t h a t t i m i n g . A l t h o u g h s u c h d i s t u r b a n c e w i l l n o b f a t a lt t h s y s t e m i m a r e s u l t i a u n a t t r a c t i v e d i s p l a y .

5 I y o a r u s i n g m u s i c p r o g r a m y o u s h o u l d a v o i d s e t t i n g t h a l a r m . T h a l a r m f u n c t i o n , o c o u r s e , u s e s t h S I c h i p a n w i l li n t e r f e r e w i t h a n m u s i c t h a t i b e i n g p e r f o r m e d . A l s o , m a n ym u s i c p r o g r a m s m a k e u s o s y n c h r o n i z e d g r a p h i c s , s u c h g r a p hi c b e i n g t i m e d b i n t e r r u p t s . I s u c h a c a s e , t h c l o c k s h o u l d b s t o p p e d f o t h r e a s o n s d e s c r i b e d a b o v e .

6 I y o a r 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 , a v o i d d i r e c t j u m p si n t o t h s c r e e n e d i t o r R O u n l e s s i n t e r r u p t s h a v e b e e n d i s a b l e d .D i r e c t R O j u m p s w i l l b y p a s s t h e d i t o r t r a p s b u i l t i n t o C l o c k -C a l e n d a r a n m a c a u s e t h 8 c o l u m n d i s p l a y t m a l f u n c t i o nw h i l e i n t e r r u p t s a r e e n a b l e d . T h i s p r e c a u t i o n d o e s n o a p p l y t t h 4 c o l u m n s c r e e n .

T h T r a n s a c t o r 6 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 64: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 64/84

C o n t r o l l i n g T h A l a r m

A m e n t i o n e d a b o v e , C l o c k - C a l e n d a r f e a t u r e s a a u d i b l e a l a r m .T h a l a r m i c o n t r o l l e d b b o t h t h a l a r m t i m e s e t t i n g a n t h a l a r me n a b l e f l a g a t $ 1 3 2 0 . S e t t i n g t h f l a g t a n p o s i t i v e v a l u e ( 0 - 1 2 7 )w i l l e n a b l e t h a l a r m w h i l e s e t t i n g t h f l a g t a n n e g a t i v e v a l u e( 1 2 8 - 2 5 5 ) w i l l d i s a b l e t h a l a r m a n i m m e d i a t e l y s i l e n c e i i i i o p e r a t i n g .

N O T E : E v e n t h o u g h t h a l a r m e n a b l e f l a g h a b e e n s e t t o " a l a r mo n v a l i d a l a r m t i m e m u s t e x i s t i t h a l a r m t i m e l o c a t i o n i t h a l a r m i t f u n c t i o n .

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

I i i n e c e s s a r y t d e t e r m i n e w h a t t h e c u r r e n t a l a r m t i m e i y o m a d e c o d e t h a l a r m s e t t i n g f r o m B A S I C 7 . u s i n g t h f o l l o w i n gs h o r t r o u t i n e :

4 0 d e c ( " 1 3 1 e " ) : h m i d $ ( h e x $ ( p e e k ( i ) ) , 3 )4 1 m m i d $ ( h e x $ ( p e e k ( i + ) ) , 3 ) : a t h + " : " m

T h i s w i l l r e s u l t i n t h d e c o d e d a l a r m t i m e b e i n g a s s i g n e d t v a r i a b l eA T i t h e f o r m a t H H : M M ( s e c o n d s a r e n o t u s e d f o t h a l a r m t i m e ) .I i n o n e c e s s a r y t s t o p t h c l o c k t f e t c h t h a l a r m t i m e a i i u s e d o n l y a r e f e r e n c e b C l o c k - C a l e n d a r .

A d j u s t i n g T h e H a r d w a r e C l o c k F o 5 H O p e r a t i o n

A m e n t i o n e d a b o v e , t h C I h a r d w a r e c l o c k i i n i t i a l i z e d t u s 6 H a a t i m e - k e e p i n g r e f e r e n c e . I y o u r p o w e r l i n e o p e r a t e s a 5 H y o m a m a k e t h n e c e s s a r y a d j u s t m e n t w i t h t h e f o l l o w i n g c o m a n d s e q u e n c e :

d e c ( d d d 0 e d ) : b a n k 1 5 : p o k e i . p e e k ( i ) o 1 2 I i i n e c e s s a r y t r e s e t i f o 6 H p o w e r y o m a u s t h f o l l o w i n g c o m m a n d s e q u e n c e :

d e c ( " d d 0 e 8 ) : b a n k 1 5 : p o k e i , p e e k ® a n 1 2 I t h C I c h i p i s e f o t h w r o n g p o w e r l i n e f r e q u e n c y i w i l l b o b v i o u s b w a t c h i n g t h s p e e d a w h i c h t h d i s p l a y u p d a t e s .

M o r e T h a n J u s t C l o c k

C l o c k - C a l e n d a r t a k e s c a r e o t h b a s i c f u n c t i o n s o t i m e k e e p i n ga n d , a y o u ' l l s e e , d o e s t h j o a m i n i m a l c o s t . H o w e v e r , t h a td o e s n ' t m e a n t h a t t h p r o g r a m c a n ' t b p u t o t h e r u s e s .

I ' v e p u r p o s e l y p l a c e d t h B C t i m e a n d a t e o u t p u t s i s t a b l el o c a t i o n s s t h a t t h e y m a b u s e d b o t h e r s o f t w a r e . I ' v e a l s od e f i n e d s t a b l e e x i t l o c a t i o n ( I R Q A ) f o t h p r o g r a m s t h a tm a c h i n e l a n g u a g e p r o g r a m m e r c a u s C l o c k - C a l e n d a r w i t h an o n - s t a n d a r d I R s y s t e m . T h i s m a k e s i p o s s i b l e t e a s i l y p a t c h i n t ot h p r o g r a m f o o t h e r p u r p o s e s .

I f u t u r e a r t i c l e w c o u l d e x p l o r e s u c h t h i n g s a s c o n t r o l l i n ge x t e r n a l d e v i c e s w i t h C l o c k - C a l e n d a r o p e r h a p s g e t t i n g t h C - 1 2 8t a u t o m a t i c a l l y e x e c u t e a p r o g r a m a a n d e s i r e d t i m e . B e f o r e y o k n o w i t w e ' l l h a v e y o u r c o m p u t e r r u n n i n g t h h o u s e a n d m a k i n gc o f f e e i t h m o r n i n g . N o w , t h a t ' s w h a t c a l l u s e r - f r i e n d l y !

H o C l o c k - C a l e n d a r W o r k s

S i n c e t h i s i m a g a z i n e a r t i c l e a n n o p r o g r a m m i n g t e x t b o o k , I ' l ls p a r e y o t h d i s s e r t a t i o n o h o t h p r o g r a m o p e r a t e s ( i t ' s l o e a s i e r t u s t h e t h i n g t h a n t e x p l a i n w h i w o r k s ) . I y o u ' r ei n t e r e s t e d p l e a s e s t u d y t h e s o u r c e c o d e c o m m e n t s a n f e e l f r e e t oe x p e r i m e n t . A f t e r a l l , t h w o r s t t h i n g y o c a d i c r a s h t h c o m p u t e r . d i i m a n y t i m e s b e f o r e g o C l o c k - C a l e n d a r t w o r k( c r a s h e s i I R Q - d r i v e n r o u t i n e s a r r e a l l y e x c i t i n g ) .

I a f t e r r e a d i n g t h r o u g h t h s o u r c e c o d e , y o s t i l l a r e n ' t s u r e a t h o t h e t h i n g r u n s , p l e a s e c o n t a c t m a n I ' l l s e n d y o d e t a i l e dd e s c r i p t i o n o C l o c k - C a l e n d a r a n h o i o p e r a t e s . m a b c o n t a c t e d v i v o i c e a ( 3 1 2 ) 5 9 5 - 3 3 5 6 b e t w e e n t h h o u r s o 1 9 3 0a n d 2 2 3 0 C e n t r a l T i m e w e e k d a y s o a l d a o m o s t S u n d a y s .

L i s t i n g 1 R u t h i s p r o g r a m t g e n e r a t e t h e c l o c k d i s p l a y p r o g r a mB c l k 4 8 6 4 " o d i s k . S e t e x t f o d e t a i l s .

E M D

1 0 0 r e m g e n e r a t o r f o " c l k 4 8 6 4 "1 1 n d " c l k 4 8 6 4 " : r e n a m e o p r o g r a m1 2 n 7 2 9 : s 4 8 6 4 : c 6 5 2 0 4

F o l i n e s 1 3 t 2 0 0 , u s t h s t a n d a r d g e n e r a t o r p r o g r a m o n p a g eM A C A J M N I L

J F F A M

D N M G J F K

G M D L O L N O D

I I

D F N P D P

1 0 0 0 d a t a 3 2 1 0 1 0 d a t a 0 1 0 2 0 d a t a 3 2 1 0 3 0 d a t a 0 1 0 4 0 d a t a 2 5 5 ,1 0 5 0 d a t a 0 1 0 6 0 d a t a 2 2 4 ,1 0 7 0 d a t a 1 2 0 ,1 0 8 0 d a t a 2 0 1 0 9 0 d a t a 1 7 2 ,1 1 0 0 d a t a 3 1 1 1 0 d a t a 0 1 1 2 0 d a t a 1 6 9 ,1 1 3 0 d a t a 9 6 1 1 4 0 d a t a 2 0 6 ,1 1 5 0 d a t a 2 8 1 1 6 0 d a t a 1 6 0 ,1 1 7 0 d a t a 1 7 4 ,1 1 8 0 d a t a 2 1 1 1 9 0 d a t a 1 4 2 ,1 2 0 0 d a t a 1 0 1 2 1 0 d a t a 1 9 9 ,1 2 2 0 d a t a 1 0 1 2 3 0 d a t a 8 1 2 4 0 d a t a 1 5 3 ,1 2 5 0 d a t a 2 1 1 2 6 0 d a t a 8 1 2 7 0 d a t a 2 1 1 2 8 0 d a t a 2 4 8 ,1 2 9 0 d a t a 1 8 9 ,1 3 0 0 d a t a 1 9 1 3 1 0 d a t a 8 1 3 2 0 d a t a 1 0 1 3 3 0 d a t a 1 0 5 ,1 3 4 0 d a t a 1 9 1 3 5 0 d a t a 2 1 7 ,1 3 6 0 d a t a 1 6 9 ,1 3 7 0 d a t a 1 4 1 ,

3 2 , 4 5 , 3 2 ,3 2 , 3 2 , 5 8 ,

0 2 5 5 , 2 5 5 ,0 , 0 , 0 ,

7 6 , 1 0 5 , 1 9 0 , 1 7 4 , 2 0

2 0 6 , 2 0 8 , 5 2 1 7 4 , 2 8 1 9

3 , 1 4 0 , 2 1 1 3 8 , 2 1 , 1 4 2 ,1 7 4 , 1 9 8 , 2 1 1 0 , 1 4 0 , 1

0 , 1 5 3 , 2 4 1 7 4 , 2 0 3 2 0 8 , 4 , 1 9 2 ,

1 9 . 1 4 0 , 2 9 1 9 , 1 4 2 , 2 0 3 8 3 , 1 7 2 ,

1 4 0 , 1 3 8 , 2 1 3 8 3 1 4 0 ,

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

1 4 0 , 1 1 0 2 2 1 , 8 8 , 1 6 0 ,

2 4 1 9 , 1 3 6 ,1 9 , 1 4 0 , 2 1 6 ,

2 2 1 , 2 4 0 , 8 1 0 8 , 2 8 1 9 2 0 6 , 2 1 6 , 2 1

8 2 2 1 , 2 0 2 ,2 0 0 , 2 0 8 , 2 4 4 ,2 0 1 , 1 8 , 2 0 8 ,

4 1 , 1 2 7 , 2 0 1 ,1 8 , 2 1 6 , 1 4 1 ,4 8 3 8 , 1 6 0 ,3 9 1 9 , 2 0 8 ,1 5 . 1 4 1 , 2 4 1 5 , 2 1 2 , 1 6 2 ,

3 2 , 4 5 ,3 2 , 3 2 ,

2 5 5 , 0 1 0 1 , 2 5 0 ,

7 6 , 4 2 ,3 , 1 7 2 ,

1 9 2 , 1 9 1 7 2 , 2 9

3 , 1 7 4 ,3 8 3

1 7 2 , 1 9 9 ,1 0 , 8 8 ,1 9 , 1 3 6 ,

1 7 2 , 2 1 1 9 , 2 4 0 ,1 9 , 1 2 0 ,

3 , 1 4 0 ,3 9 3

1 6 2 , 1 1 6 ,3 9 3

1 4 2 , 1 9 8 ,1 6 0 , 2 1 1 7 3 , 8

3 , 1 8 5 ,1 6 , 2 4 7 ,2 1 , 9 6 ,

1 6 9 , 0 4 4 , 2 1 6 ,

1 6 2 , 3 4 8 6

1 7 3 , 3 9 1 4 , 1 6 9 ,1 8 , 1 7 6 ,3 9 1 9

1 , 1 8 5 ,2 8 , 1 3 6 ,

2 1 2 , 1 4 1 ,2 5 0 , 1 6 0 ,

3 2 3 5 8 3

7 2 5 5 , 2 5

1 9 2 1

2 0 8 , 4 1 9 , 1 4 2

1 3 7 , 2 11 4 0 , 3

2 1 , 1 4 21 6 0 ,1 6 , 2 5 0

3 , 2 2 48 6 , 1 4 2

1 6 2 , 2 0 62 1

1 4 2 , 1 3 71 6 0 , 2 11 7 4 ,

2 1 , 1 4 01 4 2 ,2 2 1 , 1 4 2 1 2 , 2 2 0 0 , 1 4 02 1 6 , 1 7 31 4 1 , 2 1 6

2 1 4 1 6 0 ,1 5 3 , 3

1 9 4 0 , 2 4 04 , 2 4 8

4 4 3 3 0 1 1 6 , 2 4 51 4 , 2 1 23 3 , 1 4 2

T h T r a n s a c t o r 6 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 65: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 65/84

I G N D P G I

B L C L C

H N K

I F E L P G P J K

K E

I M O D F

A N M D D L L

D D

A N K

I D C L P O F

O F F

M

1 3 8 0 d a t a 2 0 1 3 9 0 d a t a 2 1 2 ,1 4 0 0 d a t a1 4 1 0 d a t a1 4 2 0 d a t a1 4 3 0 d a t a

1 3 6 ,2 1

1 3 2

1 4 4 0 d a t a 2 2 1 ,1 4 5 0 d a t a1 4 6 0 d a t a1 4 7 0 d a t a1 4 8 0 d a t a1 4 9 0 d a t a1 5 0 0 d a t a1 5 1 0 d a t a1 5 2 0 d a t a1 5 3 0 d a t a1 5 4 0 d a t a1 5 5 0 d a t a1 5 6 0 d a t a1 5 7 0 d a t a1 5 8 0 d a t a1 5 9 0 d a t a1 6 0 0 d a t a1 6 1 0 d a t a1 6 2 0 d a t a1 6 3 0 d a t a

1 3 2 0 1 9

1 1 9 4 8

1 4 2 ,2 1 2 0

1 4 2 ,2 1 4 0

1 4 2 ,2 1 2 1

7 1 6

9 1 5 3 ,

1 6 4 0 d a t a 2 4 0 ,1 6 5 0 d a t a1 6 6 0 d a t a1 6 7 0 d a t a1 6 8 0 d a t a1 6 9 0 d a t a1 7 0 0 d a t a1 7 1 0 d a t a

1 6 2 1

1 6 9 ,0

1 6 0 ,1 6 9 ,

8 7 1 7 2 0 d a t a 2 5 5 ,1 7 3 0 d a t a1 7 4 0 d a t a1 7 5 0 d a t a1 7 6 0 d a t a

7 8 2 4

8 2

1 7 7 0 d a t a 2 4 0 .1 7 8 0 d a t a1 7 9 0 d a t a1 8 0 0 d a t a1 8 1 0 d a t a

1 5 2 ,1 4 2 1 3 2

1 8 2 0 d a t a 2 3 8 ,1 8 3 0 d a t a1 8 4 0 d a t a1 8 5 0 d a t a1 8 6 0 d a t a1 8 7 0 d a t a1 8 8 0 d a t a1 8 9 0 d a t a1 9 0 0 d a t a1 9 1 0 d a t a

1 3 8 ,7 2 7 4

1 3 6 ,2 4

1 6 9 ,4 9 4 8

2 1 2 , 1 4 0 , 1 8 1 6 0 , 2 , 1 8 5 ,

1 6 , 2 4 8 , 1 7 3 ,1 6 2 , 4 0 , 7 4 2 3 2 , 1 4 2 , 2 0 1 ,1 7 0 , 2 1 , 1 7 0 ,2 0 0 , 2 1 , 2 0 8 ,1 7 3 , 2 0 1 9

1 9 , 1 6 9 , 1 3 2 , 1 8 3 , 2 1

2 0 8 , 3 3 2 1 7 3 , 1 8 , 1 9 ,2 0 8 , 2 , 1 6 9 ,

1 1 9 , 1 7 3 ,1 4 1 , 3 1 9

1 9 3 2 , 1 4 8 ,7 1 9 , 1 7 3 ,

1 4 1 , 9 1 9 1 9 3 2 1 4 8 ,1 3 1 9 , 1 7 3 ,

1 4 1 , 1 5 , 1 9 ,1 9 , 2 0 8 , 1 0 1 ,

1 5 3 , 3 2 , 2 1 6 ,2 4 7 , 1 7 4 , 2 3

1 9 , 2 2 4 , 0 3 2 4 , 1 8 5 ,

2 9 , 1 2 8 ,2 2 9 , 1 6 9 , 0 1 6 2 , 9 , 1 6 0 ,

0 , 1 6 0 , 1 5 2 ,1 6 0 , 1 9 3 2

7 2 3 2 , 1 0 6 ,8 , 1 6 0 , 1 5 2 ,

2 1 3 6 , 2 1 5 ,1 0 8 , 2 8 1 9

2 1 , 1 6 0 , 0 3 2 2 0 2 , 2 0 5 ,

1 7 3 , 2 2 1 9 9 6 4 , 3 2 ,

9 6 , 1 6 2 , 1 8 7 6 2 0 4 , 2 0 5 ,

1 6 5 , 1 5 4 , 2 0 1 ,1 9 , 2 0 8 , 3

1 2 1 , 2 3 9 , 4 4 2 1 1 9 9 6

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

1 0 5 , 1 , 2 1 6 ,0 , 1 4 1 , 3 4

4 0 , 4 9 , 4 8 ,4 9 4 8 4 9

2 1 2 , 1 3 6 , 1 4 0 , 1 3 9 1 9 , 2 0 8 , 7 2 0 1 9 3 2 , 1 7 0

1 7 6 , 4 7 4 , 1 7 62 1 , 1 7 3 , 1 8 1

2 0 2 , 1 7 3 , 1 9 1 3 0 , 2 2 4 , 1 1 , 2 0 83 2 , 1 8 3 , 2 1 , 1 4 1

2 0 8 , 6 , 1 7 3 , 1 1 4 1 , 1 8 1 9 , 1 6 91 8 3 , 2 1 , 1 4 1 , 1 9

3 2 , 1 4 8 , 2 1 , 2 0 13 2 , 1 4 1 , 0 1 1 9 1 9 3 2 , 1 4 8

1 4 2 , 4 1 9 , 1 7 32 1 , 1 4 1 , 6 1 3 9 1 9 3 2 , 1 4 8

1 4 2 , 1 0 1 9 , 1 7 32 1 , 1 4 1 , 1 2 1 4 1 1 9 3 2 , 1 4 8

1 4 2 , 1 6 1 9 , 1 7 31 7 3 , 2 2 1 9 , 1 6 01 5 3 , 7 2 , 2 1 6 , 1 3 6

1 9 , 1 6 0 , 7 , 1 8 52 4 0 , 2 9 , 1 2 8

0 1 9 , 2 2 4 , 01 5 3 , 7 2 4 , 1 3 61 6 0 , 7 2 3 2 , 1 0 6

1 9 3 2 6 8 2 3 2 , 1 0 6 , 2 1 , 1 6 26 8 2 1 , 1 6 9 , 82 1 , 3 2 , 8 7 , 2 3 2 , 1 0 6 , 2 1 3 1 6 3 7 6 5

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

3 2 2 0 4 , 2 0 5 , 2 3 7 2 3 6 , 2 1 5 , 1 6

3 , 2 0 8 , 8 , 1 7 32 0 6 , 2 1 1 9 , 1 0 4

2 1 1 9 1 6 3 2 , 1 6 0 , 2 1 7

1 0 4 , 9 4 8 9 1 0 4 , 7 4 , 7 4 , 7

2 1 , 1 6 8 , 1 3 8 , 2 41 0 , 2 0 8 , 2 4 9 , 2 4 89 6 3 2 , 1 0 5 , 1 91 0 7 6 0 4 9 , 4 8 , , 4 9 , 4 6 7 , 7 6 , 7 5

L i s t i n g 2 T h i s c r e a t e s t h c l o c k / a l a r m s e p r o g r a m " c l k 5 6 3 2 \

I K N

1 0 0 r e m g e n e r a t o r f o " c l k 5 6 3 2 "1 1 0 n d $ " c l k 5 6 3 2 " : r e n a m e o p r o g r a m1 2 n d = 4 6 8 : s a 5 6 3 2 : e = 4 9 1 8 4

T h T r a n s a c t o r

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

B L H H

I L F P J N I E B

O E

D O F P

A 0

G D J D F I H F N

J M G 0 F

L C O F

M P J I B

M D P K M O M K P

D A H 0

P E K

6

1 0 0 0 d a t a1 0 1 0 d a t a

4 1 1 , 1 4 1 , 2 0 8 , 2 3 , 1 6 5 , 2 4 1 , 7 1 7 3 . 0 . 2 5 5 . 7 2 . 1 6 2 . 1 4 . 1 4 2 .

1 0 2 0 d a t a 2 5 5 , 2 3 2 , 1 4 2 , 2 4 2 1 2 , 1 6 9 , 1 8 3 , 1 4 11 0 3 0 d a t a 6 0 3 3 2 , 9 3 , 2 3 , 1 6 9 , 1 4 7 , 3 1 0 4 0 d a t a 2 1 0 , 2 5 5 , 1 6 2 , 2 , 1 6 0 , 0 3 2 6 1 0 5 0 d a t a1 0 6 0 d a t a1 0 7 0 d a t a1 0 8 0 d a t a1 0 9 0 d a t a1 1 0 0 d a t a

2 3 , 1 7 3 , 2 0 8 , 2 3 1 0 , 1 7 0 , 1 8 9 , 1 1 32 3 , 1 8 8 , 1 1 4 , 2 3 3 2 , 6 4 , 2 3 , 1 6 2

2 5 6 , 1 5 2 , 2 3 3 , 7 , 1 6 8 , 3 2 6 2 3 , 3 2 , 8 0 , 2 3 , 1 3 3 , 2 5 2 , 1 2 0 , 3

1 1 1 , 2 0 5 , 8 8 3 2 , 2 2 8 , 2 5 5 , 2 4 0 , 2 5 17 2 3 6 . 2 1 5 . 1 6 8 . 1 2 0 . 3 2 . 1 7 2

1 1 1 0 d a t a 2 0 5 , 8 8 , 7 6 , 9 6 , 2 2 , 3 2 , 1 5 9 , 2 0 51 1 2 0 d a t a1 1 3 0 d a t a

1 0 4 , 1 6 4 , 2 5 2 , 2 4 0 , 4 , 2 0 1 , 2 0 , 2 4 01 8 5 , 1 9 2 , 4 , 1 4 4 , 6 , 2 0 1 , 1 3 , 2 0 8

1 1 4 0 d a t a 2 1 3 , 2 4 0 , 2 8 2 0 1 , 4 8 1 4 4 , 2 0 7 , 2 0 1 1 5 0 d a t a1 1 6 0 d a t a1 1 7 0 d a t a

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

1 1 8 0 d a t a 2 0 4 , 2 3 , 1 7 3 , 2 0 5 , 2 3 , 3 2 , 4 8 , 2 1 1 9 0 d a t a 2 0 1 , 3 6 , 1 4 4 , 6 3 2 , 8 5 , 2 3 , 7 1 2 0 0 d a t a1 2 1 0 d a t a1 2 2 0 d a t a

3 4 2 2 , 1 4 1 , 2 1 1 , 2 3 , 1 7 4 , 2 0 6 , 2 1 7 3 , 2 0 7 , 2 3 , 3 2 , 4 8 , 2 3 , 2 0 1 , 9 1 7 6 , 2 3 4 , 1 4 1 , 2 1 0 , 2 3 , 1 6 9 , 0 , 1 4 1

1 2 3 0 d a t a 2 0 9 , 2 3 , 1 6 2 , 4 , 1 6 0 , 0 3 2 6 1 2 4 0 d a t a1 2 5 0 d a t a

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

1 2 6 0 d a t a 2 5 5 , 2 0 1 , 7 8 2 4 0 , 7 3 2 0 1 , 8 9 2 0 1 2 7 0 d a t a 2 4 5 , 1 7 3 , 2 0 8 , 2 3 , 2 4 0 , 1 8 , 1 7 4 , 2 1 11 2 8 0 d a t a1 2 9 v 0 d a t a1 3 0 0 d a t a1 3 1 0 d a t a1 3 2 0 d a t a1 3 3 0 d a t a1 3 4 0 d a t a

2 3 , 1 7 2 , 2 1 0 , 2 3 , 1 4 2 , 3 0 1 9 , 1 4 03 1 1 9 1 4 1 , 3 2 , 1 9 , 7 6 , 3 0 , 2

1 7 3 , 2 1 1 , 2 3 , 2 4 0 , 1 5 , 2 0 1 , 1 8 , 1 4 41 1 , 2 4 8 , 5 6 , 2 3 3 , 1 8 , 2 1 6 , 9 , 1 2 8

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

1 3 5 0 d a t a 2 0 8 , 2 4 6 , 1 4 1 , 8 2 2 1 , 8 8 , 1 6 2 , 1 7 31 3 6 0 d a t a1 3 7 0 d a t a1 3 8 0 d a t a1 3 9 0 d a t a1 4 0 0 d a t a

1 6 0 , 0 , 1 4 2 , 6 0 3 , 1 4 0 , 2 4 , 2 1 21 0 4 , 1 4 1 , 0 , 2 5 5 , 1 0 4 , 1 3 3 , 2 4 1 , 9 6

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

1 3 3 , 2 5 0 , 1 3 2 , 2 5 1 , 1 6 0 , 0 , 1 7 7 , 2 5 1 4 1 0 d a t a 2 4 0 , 1 0 3 2 , 2 1 0 , 2 5 5 , 2 0 0 , 2 0 8 , 2 4 61 4 2 0 d a t a 1 6 9 , 0 , 1 3 3 , 2 0 8 , 9 6 , 1 6 9 , 6 , 1 6 21 4 3 0 d a t a 2 5 1 , 1 6 0 , 3 3 , 2 0 8 , 6 , 1 6 9 , 5 0 , 1 6 21 4 4 0 d a t a 2 5 0 , 1 6 0 , 1 7 , 1 4 1 , 1 , 2 1 2 , 1 4 2 , 61 4 5 0 d a t a 2 1 2 , 1 4 0 , 4 , 2 1 2 , 1 3 6 , 1 4 0 , 4 , 2 1 21 4 6 0 d a t a1 4 7 0 d a t a1 4 8 0 d a t a1 4 9 0 d a t a1 5 0 0 d a t a1 5 1 0 d a t a1 5 2 0 d a t a1 5 3 0 d a t a1 5 4 0 d a t a1 5 5 0 d a t a1 5 6 0 d a t a1 5 7 0 d a t a1 5 8 0 d a t a

9 6 , 1 1 7 , 2 3 , 1 4 7 , 2 3 , 1 5 8 , 6 7 7 8 2 , 8 2 , 6 9 , 6 7 , 8 4 , 3 2 , 8 4 , 7 1 1 , 6 9 , 3 2 4 0 , 7 2 , 7 2 5 8 7 1 1 4 1 5 8 , 1 5 9 , . 3 2 , 3 2 3 2 5 2 7 , 8 1 , 0 , 1 5 8 , 6 5 , 7 6 , 6 5 , 8 1 1 3 2 8 4 7 3 , 1 1 , 6 9 , 3 2 , 4 7 2 7 2 , 5 8 , 7 7 7 7 , 4 1 , 5 8 , 1 5 93 2 , 3 2 , 3 2 , 5 8 2 7 , 8 1 , 0 7 3 8 3 , 3 2 , 8 4 , 7 2 , 7 3 , 8 3 , 3 8 4 7 3 , 7 7 , 6 9 , 3 2 , 6 7 , . 7 9 8 8 2 6 9 6 7 8 4 3 2 , 4 0 , 8 9 4 7 8 4 1 , 6 3 , 0 0 , 0 , 0 ,

0 , 0 , 0 ,

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 66: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 66/84

L i s t i n g 3 G e n e r a t o r f o " d t 5 6 3 2 " , t h p r o g r a m t s e t h d a t e . L i s t i n g 4 C B M - f o r m a t a s s e m b l e r s o u r c e c o d e f o " c l k 4 8 6 4 " .

I F J

1 0 0 r e m g e n e r a t o r f o B d t 5 6 3 2 81 1 n d B d t 5 6 3 2 " : r e n a m e o p r o g r a m1 2 0 n d 4 1 4 : s 5 6 3 2 : c 4 3 0 2 7

F o l i n e s 1 3 t 2 0 0 , u s t h s t a n d a r d g e n e r a t o r p r o g r a m o n p a g e 5P L

I H A F

A C C K A C M A J D O B N A B H G

I C M K E

C K F

A G A D O L G G D E C O J

M L F C C K O B M

1 0 0 0 d a t a 1 6 5 ,1 0 1 0 d a t a 1 4 1 0 2 0 d a t a 1 6 9 ,1 0 3 0 d a t a 1 6 9 ,1 0 4 0 d a t a 0 1 0 5 0 d a t a 3 2 1 0 6 0 d a t a 6 3 1 0 7 0 d a t a 3 2 1 0 8 0 d a t a 2 5 1 ,1 0 9 0 d a t a 1 7 2 ,1 1 0 0 d a t a 2 0 5 ,1 1 1 0 d a t a 2 4 0 ,1 1 2 0 d a t a 2 0 8 ,1 1 3 0 d a t a 2 0 1 ,1 1 4 0 d a t a 1 4 9 ,1 1 5 0 d a t a 1 9 2 ,1 1 6 0 d a t a 2 5 5 ,1 1 7 0 d a t a 1 8 5 ,1 1 8 0 d a t a 1 8 5 ,1 1 9 0 d a t a 2 5 2 ,1 2 0 0 d a t a 7 2 1 2 1 0 d a t a 4 1 1 2 2 0 d a t a 4 8 1 2 3 0 d a t a 3 0 1 2 4 0 d a t a 2 4 6 ,1 2 5 0 d a t a 2 3 1 2 6 0 d a t a 1 6 2 ,1 2 7 0 d a t a 1 2 0 ,1 2 8 0 d a t a 2 3 1 2 9 0 d a t a 7 8 1 3 0 0 d a t a 2 1 3 1 0 d a t a 1 6 1 3 2 0 d a t a 3 1 3 3 0 d a t a 1 0 4 ,1 3 4 0 d a t a 7 4 1 3 5 0 d a t a 4 1 3 6 0 d a t a 1 6 2 ,1 3 7 0 d a t a 1 6 2 ,1 3 8 0 d a t a 6 1 3 9 0 d a t a 2 1 2 ,1 4 0 0 d a t a 7 6 1 4 1 0 d a t a 0 1 4 2 0 d a t a 2 0 0 ,1 4 3 0 d a t a 4 9 1 4 4 0 d a t a 8 4 1 4 5 0 d a t a 6 8 1 4 6 0 d a t a 3 2 1 4 7 0 d a t a 5 1 4 8 0 d a t a 3 2 1 4 9 0 d a t a 8 2 1 5 0 0 d a t a 4 7 1 5 1 0 d a t a 0

2 4 1 , 7 2 1 4 2 , 0 1 8 3 , 1 4 1 ,1 4 7 , 3 2

3 2 , 6 3 ,6 7 , 2 3 ,2 3 , 3 2 ,

1 1 1 , 2 0 5 ,7 2 3 6

2 0 5 , 8 8 1 0 4 , 1 6 4 ,1 9 5 , 1 9 2 ,2 1 3 , 2 4 0 ,

5 8 , 1 7 6 ,2 3 2 3 0 ,

3 2 0 8 ,7 6 , 5 5 ,

1 4 9 , 2 3 1 4 9 , 2 3 1 5 7 , 1 5 5 ,1 7 3 , 1 5 7 ,

7 4 , 1 7 6 ,1 4 2 , 8 4

2 3 , 7 6 ,3 2 1 2

2 4 0 , 2 3 6 ,4 , 1 6 0 ,

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

9 6 , 1 6 9 ,2 4 0 , 2 5 5 ,1 7 7 , 2 5 0 ,2 0 8 , 2 4 6 ,

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

0 , 0 ,

1 7 3 , 0 2 5 5 , 2 3 2 ,

6 0 3 2 1 0 , 2 5 5 ,

2 3 , 1 6 2 ,1 6 2 , 2

5 8 , 2 3 ,8 8 , 3 2 ,

2 1 5 , 1 6 7 6 , 8 1 ,

2 5 2 , 2 4 0 ,6 , 1 4 4 ,

3 2 , 2 0 1 ,2 0 3 , 3 2 2 5 2 , 1 9 2 ,1 8 7 , 1 6 9 ,

2 2 , 1 6 2 ,4 1 1 5 1 0 , 1 0 ,2 3 , 1 3 6 ,2 3 , 3 2 ,

5 7 4 2 3 , 1 0 4 ,2 9 , 2 2 ,2 3 , 1 7 0 ,

2 2 1 , 8 3 0 3 2

3 2 , 6 7 ,2 3 3 2 2 0 1 , 8 9

2 3 , 1 5 7 ,1 7 3 , 1 6 0 ,2 1 2 , 1 0 4 ,

9 6 , 7 2 ,4 1 1 5

2 0 8 , 2 4 9 ,3 3 2 0 8 ,1 7 , 1 4 1 ,

4 , 2 1 2 ,0 , 1 3 3 ,

1 3 4 , 2 5 0 ,2 4 0 , 2 4 1 ,

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

0 , 0 ,

2 5 5 , 7 2 , 1 6 21 4 2 , 2 4 , 2 1 2

3 2 , 3 8 , 2 1 6 2 , 2 , 1 6 0

9 5 , 1 6 0 , 2 1 6 0 , 1 4 3 1 3 3 , 2 5 2 , 1 2 02 2 8 , 2 5 5 , 2 4

8 , 1 2 0 , 3 2 2 3 2 , 1 5 9

4 , 2 0 1 , 2 6 , 2 0 1 , 1

4 8 , 1 4 4 , 2 0 72 1 0 , 2 5 5 , 1 5 3

1 , 2 4 0 ,2 9 3 2 , 2 1 0

2 , 1 6 0 ,1 3 3 , 2 5 2 , 1 3 6

1 0 1 0 2 0 2 , 1 6 , 2 3 2

1 2 2 3 , 1 6 21 7 6 , 2 , 1 6 22 0 8 , 6 3 2 0 1 , 1 9 , 1 7 62 0 2 , 1 7 3 , 1 5 6

2 3 , 1 7 6 , 2 3 16 3 2 3 , 1 6 22 3 , 3 2 , 3 2 2 8 , 2 5 5 , 2 0

2 0 8 , 2 4 5 , 1 6 21 8 1 9 , 2 0 2

0 , 1 4 2 , 6 1 4 1 , 0 , 2 5 5

7 4 , 7 4 , 7 2 4 , 2 0 2 , 4 9 6 , 1 6 9 , 6

6 , 1 6 9 , 5 1 , 2 1 2 , 1 4 2

1 3 6 , 1 4 0 ,2 0 8 , 9 6 2 1 3 2 , 2 5 1 , 1 6 0

3 2 , 2 1 0 , 2 5 55 0 , 4 9 , 5 4 9 5 0 , 1 5 83 9 8 3 3

1 5 9 , 3 2 8 1 7 3

2 7 7 2 3 2 6 7 3 2 , 4 0 ,

0 0

3

8 7 8

p u t " @ 0 : c l o c k - c a l . s r co p n o

c l o c k c a l e n d a r d i s p l a y . . .; c - 1 2 8 m o d e , 4 0 o 8 0 c o l u m n s

w i t h a u d i b l e a l a r m f u n c t i o nw r i t t e n 1 1 - 1 6 - 8 5 w . j . b r i e rr e v i s e d 6 - 0 5 - 8 7c o p y r i g h t 1 9 8 6t h i s p r o g r a m i n o t b e . . .s o l d , i i p e r m i s s i b l e . . .t c o p y i b u c r e d i t m u s t . . .b g i v e n i t h d o c u m e n t a t i o n

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

< p r o g r a m a s s i g n m e n t s > ; s y s t e m v e c t o r s p o i n t e r s . .

d f l t om o d ec i n vi b s o u ts y s t e mr p t f l gb a s r s tt o d 2

. p a g

$ 9 $ d $ 0 3 1 4$ 0 3 2 6$ 0 a 0 0$ 0 a 2 2$ 4 0 0 3$ d d O 8

; s c r e e n e d i t o r f u n c t i o n s . . .w v d c mw v d c r

$ c d c a$ c d c c

; k e r n a l f u n c t i o n s . . .c h r o u ti r c r t i

$ e f 7 9$ f a 6 5$ f f 3 3

; 4 c o v i s c r e e n r a m . . .v c r a mv l r a m

$ 0 4 0 0$ d 8 0 0

; s i d c h i p r e g i s t e r s ( v o i c e 3 ) f r e l o 3f r e h i 3v c r e g 3s u r e l 3s i g v o l

$ d 4 0 e$ d 4 0 f$ d 4 1 2$ d 4 1 4$ d 4 1 8

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

b a s i c r e s e t v e c t o rk e y b ' d r e p e a t f l a gb a s i c w a r m r e s e t

; t i m e o f d a c l o c k #

; w r i t e t o 8 5 6 3 r a ; w r i t e t 8 5 6 3 r e g i s t e r

; o u t p u t b y t e; n o r m a l i r ; i r q h a n d l e r e x i t

; s t a r t o d i s p l a y r a • s t a r t o c o l o r r a

f r e q u e n c y C t r l ( l o )f r e q u e n c y C t r l ( h i ); c o n t r o l r e g i s t e r; s u s t a i n / r e l e a s e; s i d v o l u m e

; 8 c o 8 5 6 3 v d a s s i g n m e n t s . . .s c r a m i 7 ; s c r e e n r a ( t i m e )s c r a m 2 1 5 ; s c r e e n r a ( d a t e )a t r a m i 2 1 2 0 ; a t t r i b u t e r a ( t i m e )a t r a m 2 2 2 0 0 a t t r i b u t e r a ( d a t e )

u p r e g 1

♦ = $ 1 3 0 0. p a g

; u p d a t e r e g i s t e r

; 4 8 6 4

u s e r - a c c e s s i b l e m e m o r y . . .

t d t at o d at d t cd f l gc f l gr f l gk e

. b y f - - ' , . b y t 1 : ' , . b y t 2 5 5 , 2 5 5 , 2 5 5. b y t O. b y t. b y t O. b y t 0 , 0 , 0 , 0

; e x i t v e c t o r . . .i r q a . w o r i r

; a l a r m r e g i s t e r s . . .a l t c . b y t 2 5 5 , 2 5 5

; a s c n d a t e; a s c i i t i m e; b c d d a t e; n d i s p l a y; d i s p l a y c o l o r; r e v e r s e v i d e o

; t i m e ( h : m )

T h T r a n s a c t o r 6 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 67: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 67/84

Page 68: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 68/84

I d # > t o d aj s d t o dI d # > s c r a m 2I d # < s c r a m 2j s s e t r a mI d # < t d t aI d # > t d t aj s d t o d

; s e t 8 0 c o l u m n a t t r i b u t e s . . .I d # > a t r a m 1I d # < a t r a m 1j s s e t r a mj s a t r s tI d # > a t r a m 2I d # < a t r a m 2j s s e t r a mj s a t r s tb i m o d eb p d c c 2 3j m c r t i

d c c 2 3 j m ( i r q a )

; d i s p l a y t i m e o d a t ed t o d s t d t o d 0 2

s t d t o d 0 2I d #

d t o d O l . b y t $ b 9d t o d 0 2 * + b e a t r s t 3

j s w v d c mi n b n d t o d O l

; s e t u d i s p l a y a t t r i b u t e sa t r s t I d # a t r s t i I d c f l g

I d r f l gb e a t r s t 2o r # % 0 1 0 0 0 0 0 0

a t r s t 2 j s w v d c md e b n a t r s t i

a t r s t 3 r t

; s e t u v d c r a m a d d r e s ss e t r a m I d # u p r e g

j s w v d c ri n t y j m w v d c r

j c h r o u t i n t e r c e p t t r a pc r d y p h

b i m o d eb p c r d y O II d d f l t oc m p # 3b n c r d y O II d d f l gb n c r d y O Id e d f l g

c r d y O I p l . b y t 3 2

k n / M i t \ A / / " \ r r ^ h r ^ i i U S O U l a . W O I U l l U U Lb i d f l gb p c r d y O 2i n c d f l g

c r d y O 2 r t

; c o n v e r t b e t o p e t a s c i ib e d a s e j s b e d b i n

p h t x o r # 4 t a p l o r # 4 r t

T h T r a n s a c t o r

; d i s p l a y; a d d r e s s f o r . . .; d a t e d i s p l a y

p e t a s c i i d a t e

; d i s p l a y

; a d d r e s s f o r . . .; t i m e a t t r i b u t e

; s e t u a t t r i b u t e s; a d d r e s s f o r . . .; d a t e a t t r i b u t e

; s e t u a t t r i b u t e s

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

; c o n t i n u e i r

; s o u r c e a d d r e s s• n f f c o t. U l l o t J l; l d a l l h h . y o p - c o d e; s o u r c e a d d r e s s; e n d o s t r i n g; o u t p u t t o 8 5 6 3

; l o o p

; c o u n t e r; g e t c o l o r

; n r e v e r s e d i s p l a yr e v e r s e

; o u t p u t t 8 5 6 3

; l o o p

; u p d a t e r e g i s t e r; w r i t e

; s w a p h b y t e

; s a v e p r i n t i n g c h a r .

; i 4 c o l u m n s; o u t p u t d e v i c e

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

b l o c k d i s p l a yr e c o v e r c h a r a c t e r

; j s r o p - c o d e. n o r m a

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

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

b e d i g i t t b i n a r y d i g i t sb e d b i n p h

a n d # 1 5t a p i I s I s I s I s r t

b e d i g i t t b i n a r y d i g i tD c d o f j s b e d b i n

t a t x c l

b e d o f i d e b m i d v 0 1

f i n i s h e da d c # 1 0b n b e d o f

i n c r e m e n t d a t e v a l u ed s e

a d # e l d v 0 1 r t

a l t e r n a t e b a s i c r e s e ta l r s t j s r s t a r t

I d # s t r p t f l g. b y t $ 4 c

a l r s t i *

c a l e n d a r l o o k u p t a b l es l u t . b y t $ 3 1

. b y t $ 2 8. b y t $ 3 1. b y t $ 3 0. b y t $ 3 1. b y t $ 3 0. b y t $ 3 1. b y t $ 3 1. b y t $ 3 0. b y t $ 3 1. b y t $ 3 0. b y t $ 3 1

p r o g r a m s t o r a g ek e y s t r . b y t ' c l k ' , 0f i g * +

= = = = = = = = = = = = = = = = =e n

; s a v e b e v a l u e; m a s k t e n s n y b b l e; u n i t s i . r e g i s t e r; f e t c h b e v a l u e; s h i f t t e n s n y b b l e

; b c d t b i n a r y; t e n s v a l u e

u n i t s

c o u n t e r

; d e c i m a l m o d e

b i n a r y m o d e

r e s t a r t c l o c k

r e p e a t o f ; j m p l l h h o p - c o d e

r e s e t j u m p

; j a n; f e b; m a r; a p r; m a y; j u n

; a u g; s e p; o c t; n o v; d e c

; d i s p l a y l o c k o u t

= = = = = = = = = = = = =

L i s t i n g 5 A s s e m b l e r s o u r c e c o d e f o " c l k 5 6 3 2 "

p u t " @ 0 : e l o c k s e t . s r co p n o

c l o c k a l a r m s e t u pw r i t t e n 1 2 - 0 2 - 8 5 w . j . b r i e rr e v i s e d 1 - 1 8 - 8 7c o p y r i g h t ( c 1 9 8 5a l r i g h t s r e s e r v e d

u s w i t h c l o c k - c a l e n d a r 1 2

s e t i m e o d a y : s y 5 6 3 2 , 0s e a l a r m t i m e : s y 5 6 3 2 , 1

e n t e r t i m e i 2 h o u r f o r m a t

< p r o g r a m a s s i g n m e n t s > 6

; s y s t e m v e c t o r s p o i n t e r s . . .

n d m o d ec o l o rk e y c h k

c u r o nc u r o f ic u r o f 2

s i g v o lt o d 2m m

c h r o u tg e t i np l o t

$ d $ d $ f $ 0 3 3 c$ c d 6 f$ c d 9 f$ c d a c

$ d 4 1 8$ d d O 8$ f f O O

$ f f d 2$ f f e 4S f f f O

; m i s c e l l a n e o u s p o i n t e r s . .p t c t

$ f $ f

; c l o c k - c a l e n d a r l o c a t i o n sa l t ca f l g

$ 1 3 1 e$ 1 3 2 0

; v i d e o c o n s t a n t s . . .w h c d e e s r i g h tc l y e c y

1 2 2 2 1 4 1 5 1 5

= $ 1 6 0 0

; # # # # # # # # # #

k e y b o a r d q u e u e; 4 0 / 8 0 c o l u m n m o d e

n e x t a t t r i b u t e; k e y d e c o d e v e c t o r

; f l a s h c u r s o r; k i l l c u r s o r ( 4 c o l ); k i l l c u r s o r ( 8 0 c o l )

; v o l u m e c o n t r o l; t i m e o f d a c l o c k # ; m e m o r y c o n f i g u r a t i o n

; o u t p u t b y t e; g e t b y t ep o s i t i o n c u r s o r

; z e r o p a g e p o i n t e rc o u n t e r

; a l a r m r e g i s t e r; a l a r m e n a b l e f l a g

; w h i t e t e x t; c a r r i a g e r e t u r n. d e l e t e. e s c a p e c h a r a c t e r; c u r s o r r i g h t; c l e a r s c r e e n; y e l l o w t e x t; c y a n t e x t

; 5 6 3 2

# # ; c - 1 2 8 t i m e / a l a r m s e t u p; ; # # # # # # # # # # # # # # # # #

i n i t i a l s e t u p . . .s t i m a n #

s t s f l gI d c o l o rp h I d m m p h I d # 1 s t m m i n s t s i g v o lI d # 1 8 3s t k e y c h kj s c h i m eI d # c l rj s c h r o u t

; d i s p l a y i n p u t p r o m p t . . .s t i r n O I

• f p f p h

I d # I d # j s p l o t aI d s f l gd o t a I d p t a b . xI d p t a b 1 , j s p r n tI d # s e t y s b c # 7t a j s p l o t aj s c l r qs t c t

. I C / I U I I U o < ^ i i i i p u i .s t i m O 2 s e

j s c u r o nM a r c h 1 9 8 8

; m a s k g a r b a g e & . . .; s e t e n t r y m o d e f l a g; c u r r e n t a t t r i b u t e; s a v ec o n f i g u r a t i o n

; s a v e o s t a c k

; e n a b l e k e r n a l

; m a x i m u m v o l u m e

b p a s s k e y s; s i g n a l u s e r

; c l e a r s c r e e n

; r o w; c o l u m np o s i t i o n c u r s o r; e n t r y m o d e■ H o i i h l p, U U U U I U; b e c o m e s p r o m p t o f f s e tp r o m p t a d d r e s s

; o u t p u t; r o w

; g e n e r a t e c o l u m n v a l u e

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

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

V o l u m e 8 I s s u e O

Page 69: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 69/84

c l

j s g e t i nb e s t i m O 3p h b i m o d eb p s t i m O 4s e j s c u r o f 2c l j m s t i m O 5i ^ r u r o f iI ^ ^ ^ T J ^ V ^ ^ J I \ J

s t o r e i n p u t . . .p l I d c t b e s t i m O 6c m # d e lb e s t i m O lc p y # 4b c s t i m O Tc m # c b n s t i m O 2b e s t i m O 8

c m p # ' Ob c s t i m O 2c m # ' b c s t i m O 2j s c h r o u ts t a b u f . yi n c t c p # b n s t i m O 2I d # r i g h tj s c h r o u ti m ^ t i m O P

t i m e i n t o b e d . .I d b u I d b u f + 1j s a s c b e dc m # $ 2 4b c s t i m i Oj s b u z z e rj m s t i m O ls t t o d c + 2I d b u f + 2I d b u f + 3j s a s c b e dc m # $ 6 0b c s t i m O 9s t t o d c + 1I d # s t t o d c

t i m e e n t r y . . .I d # I d # j s p l o t aI d # < t i m p 3I d # > t i m p 3j s p r n tj s c h i m ej s c l r qj s g e t i nc m p # ' nb e s t i m 1 5c m # ' b n s t i m 1 1I d s f l gb e s t i m 1 2

; i n t e r r u p t s o

; f e t c h k e y p r e s s; n o i n p u t; s a v e k e y p r e s s

; 4 c o l u m n s

; k i l l 8 c o c u r s o r

" k i l l 4 p n p n r ^ n rv r N . l l t - T \ J \ s \ J l U U I O U I

r e t r i e v e k e y p r e s s; f e t c h c o u n t

; i n p u t d e l e t e d

; m o r e i n p u t n e e d e d■ n o t ^ r p t t i r n ^f i n i s h e d

; o u t o f r a n g e

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

; l o o p

; j u m p o v e r c o l o n; l o o p

; f e t c h h o u r s ( t e n s ); f e t c h h o u r s ( u n i t s ); c o n v e r t

i l l e g a l v a l u e; r e e n t e r; s a v e; f e t c h m i n u t e s ( t e n s ); f e t c h m i n u t e s ( u n i t s ); c o n v e r t

; i l l e g a l m i n u t e v a l u e; s a v e

; z e r o s e c o n d s

; ' c o r r e c t ? '

; f e t c h k e y p r e s s

; a b o r t

; l o o p

; s e t t i n g t o

a l a r m t i m e e n a b l e f l a g . . .I d t o d cI d t o d cs t a l t cs t a l t c + s t a f l gj m s t i m 1 5

t i m e o d a y . . I d t o d cb e s t i m 1 3c m # $ 1 2

T h T r a n s a c t o r

; e n t e r e d h o u r s; e n t e r e d m i n u t e s; s e t a l a r m r e g i s t e r

; s e t a l a r m f l a g; e x i t

; h o u r s■ t m i r l n i t pi l 1 1 1 I L J I I l l w

b c s t i m 1 3 ; i s a m

; c o n v e r t 2 4 h o u r e n t r y t 1 h o u r . . s e s e s b # $ 1 2e l o r # 1 2 8s t t o d c

; s e t c l o c k r e g i s t e r s . . .c p o c

s t i m 1 3 I d t o d 2a n # 1 2 7s t t o d 2I d # I d #

s t i m 1 4 I d t o d c . xs t t o d 2 , yd e d e b n s t i m 1 4e t t n H Po l I U U ^c l

r e s t o r e s y s t e m e x i t . . .s t i m 1 5 I d # 1 7 3

I d # s t k e y c h ks t s i g v o lp l a -s t m m p l s t c o l o rr t

; c o n v e r t a s c i i t b e a s c b e d a n d # 1

s t c t t x a s a s a s a s o r c t r t

p o s i t i o n c u r s o rp l o t a c l

j m p l o t

; p r i n t t s c r e e np r n t s t p t

s t p t + I d #

p r n t O I I d ( p t r ) , yb e c l r q O Ij s c h r o u ti n b n p r n t O I

; c l e a r k e y b o a r d q u e u ec l r q I d #

s t n d c l r q O I r t

b u z z e rb u z z e r I d #

I d # 2 5 1I d # 3 b n s i g n a l

; c h i m ec h i m e I d # 5

I d # 2 5 0I d # 1

; s i g n a l u s e r

; d e c i m a l m o d e; c h a n g e t 1 2 h o u r t i m e

b i n a r y m o d e; s e t p b i ; s a v e h o u r s

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

; t o d c o f f s e t; t o d 2 o f f s e t; f e t c h t i m e & . . .; s t o r e i c i # 2 . . .; h a r d w a r e r e g i s t e r s

; l o o p■ c t a r t p l o p k, o L c t l U I U U I S

e n a b l e k e y s; s o u n d o f

; r e s t o r e c o n f i g u r a t i o n

; r e s t o r e a t t r i b u t e

; u n i t s t b i n a r ys t o r e

; s w a p t e n s; s h i f t t e n s t o . . .; h i g h n y b b l e

; c o m b i n e n y b b l e s

; s a v e t e x t p o i n t e r

o f f s e t; f e t c h; e x i t; p r i n t

; l o o p

6

s i g n a l s t a 5 4 2 7 3s t 5 4 2 7 8s t 5 4 2 7 6d e s t 5 4 2 7 6r t

i n p u t p r o m p t l o o k - u p t a b l ep t a b . w o r t i m p i , t i m p 2

; i n p u t p r o m p t st i m p i . b y t y e l

. b y t ' c o r r e c t t i m e ( h h : m m ) : '. b y t c y n , ' [ 3 s p c s ] : \ e s c , ' q \ 0

t i m p 2 . b y t y e l. b y t ' a l a r m t i m e ( h h : m m ) : '

b y t c y n , ' [ 3 s p c s ] : ' , e s c / q ' , 0t i m p 3 . b y t w h t

. b y t ' i s t h i s t i m e c o r 1. b y f r e c t ( y / n ) ? ' , 0

p r o g r a m s t o r a g eb u ; i n p u t b u f f e rs f l g ; e n t r y m o d et o d c ; b c d t i m e ( s : m : h )

= = = = = = = = = = = = = = = = = = = = = = = = = = = = =e n

L i s t i n g 6 S o u r c e c o d e f o d a t e - s e t p r o g r a m " d t 5 6 3 2 "

p u t " @ O : d a t e s e t . s r co p n o

* c a l e n d a r d a t e s e t u pw r i t t e n 1 - 2 9 - 8 5 w . j . b r i e rr e v i s e d 1 - 1 8 - 8 7c o p y r i g h t ( c 1 9 8 5a l r i g h t s r e s e r v e d

u s w i t h c l o c k - c a l e n d a r 1 2 s e t d a t e : s y 5 6 3 2e n t e r d a t e a s m m - d d - y y

p r o g r a m a s s i g n m e n t s

s y s t e m v e c t o r s p o i n t e r s . . .n d = $ d 0 k e y b o a r d q u e u er r ) o r | p 1 I H 7 " A C \ I R C \ p n l i i m m n r l pl U U c * P , t U / O U U U I U I 1 I I 1 1 l U U cc o l o r $ f n e x t a t t r i b u t ek e y c h k $ 0 3 3 c ; k e y d e c o d e v e c t o rc u r o n $ c d 6 f ; f l a s h c u r s o rs u r o f l $ c d 9 f ; k i l l c u r s o r ( 4 c o l )s u r o f 2 $ c d a c ; k i l l c u r s o r ( 8 c o l )s i g v o l $ d 4 1 8 ; v o l u m e c o n t r o ln m $ f f O O ; m e m o r y m a n a g e m e n tD h r o u t $ f f d 2 ; o u t p u t a b y t eg e t i n $ f f e 4 p e t a b y t ep l o t $ f f f O p o s i t i o n c u r s o r

m i s c e l l a n e o u s p o i n t e r s . . .3 t $ f ; z e r o p a g e p o i n t e rz t $ f ; c o u n t e r

c l o c k - c a l e n d a r l o c a t i o n . . .r l t r > < k ' \ r Z ' \ O ' h r v H H a t o i r > l n r » U -U l v p l O l £ , U U U U d l c 1 1 U l U U r S

v i d e o c o n s t a n t s . . ./ v h t ; w h i t e t e x t: = 1 ; c a r r i a g e r e t u r nd e 2 ; d e l e t e3 s 2 ; e s c a p e c h a r a c t e ri g h t 2 ; c u r s o r r k - i h ta n

s i 1 4 ; c l e a r s c r e e n/ e 1 5 ; y e l l o w t e x t: y 1 5 ; c y a n t e x t

$ 1 6 0 0 ; 5 6 3 2

# # # # # # # # # # # # # # # # #M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 70: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 70/84

; ; c - 1 2 8 c a l e n d a r d a t e s e t u p; ; # # # # # # # # # # # # # # # # #; i n i t i a l s e t u p . . .d a t e I d c o l o r

p h I d m m p h I d # 1 s t m m i n s t s i g v o lI r l a # 1 f t * 3l U c t I O s t k e y c h kj s c h i m eI d # c l rj s c h r o u t

; d i s p l a y i n p u t p r o m p t . . .d a t e O I I d #

I d # j s p l o t aI d # < d a t e p 1I d # > d a t e p 1j s p r n tI d # I d # 1 j s p l o t aj s c l r qs t c t

; f e t c h u s e r i n p u t . . .d a t e O 2 s e

j s c u r o nc l

d a t e O 3 j s g e t i nb e d a t e O 3p h b i m o d eb p d a t e O 4s e j s c u o c l j m d a t e O 5

d a t e O 4 j s c u r o f i

; i l t e r s t o r e i n p u t . . .d a t e O 5 p l

I d c t b e d a t e O 6c m # d e lb e d a t e O I

d a t e O 6 c p # b c d a t e O Jc m # c b n d a t e O 2b e d a t e O 9

d a t e O 7 c m p # ' Ob c d a t e O 2c m # ' b c d a t e O 2j s c h r o u ts t a b u f . yi n c t c p #

• b e q d a t e O 8c p y # 3h n r \ a \ o C \ 0U l l c U d l c U £

d a t e O 8 I d a # r i g h tj s c h r o u tj m d a t e O 2

; e n c o d e d a t e i n t o b e d . . .d a t e O 9 I d #

I d # d a t e l O I d a b u f . y

a n d # 1 5s t c t d e I d a b u f . ya s a s a s

T h T r a n s a c t o r

; c u r r e n t a t t r i b u t e; s a v e; c o n f i g u r a t i o n; s a v e o s t a c k

; e n a b l e k e r n a l

; m a x i m u m v o l u m e

b y p a s s k e y s; s i g n a l u s e r

; c l e a r s c r e e n

; r o w; c o l u m np o s i t i o n c u r s o r; ' t o d a y ' s d a t e '

; d i s p l a y p r o m p tp o s i t i o n c u r s o r . . ; t a c c e p t . . .; u s e r i n p u t; c l e a r k e y b ' d q u e u e; c l e a r i n p u t c o u n t e r

i n t e r r u p t s o f ; f l a s h c u r s o ri n t e r r u p t s o ; f e t c h k e y p r e s s; n o i n p u t; s a v e k e y p r e s s

; 4 c o l u m n s

; k i l l 8 c o c u r s o r

; k i l l 4 c o c u r s o r

r e t r i e v e k e y p r e s s; f e t c h c h a r a c t e r c o u n t

; d e l e t e d

; m o r e i n p u t n e e d e d; n o t < r e t u m >; e n d o f i n p u t

; o u t o f r a n g e

; o u t o f r a n g e; e c h o c h a r a c t e r; s t o r e

; l o o p

; j u m p o v e r h y p h e n; l o o p

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

; f e t c h t e n s; s h i f t l n y b b l e . .; t h i g h

a s o r c t s t d b u f . xd e d e b p d a t e l O

; t e s t f o l e a p y e a r e n t r y . . .p h I d d b u f + 2j s b e b i nI d # $ 2 9I s b c d a t e 1 1

b c d a t e 1 1I d # $ 3 0

d a t e 1 1 s t x c l u t

; c o m b i n e w / u n i t s; s a v e b e d i g i t

; l o o p

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

; b u m p t e s t v a l u e; t e s t v a l u e

; c h e c k f o v a l i d i n p u t m o n t h . . .p l b n d a t e 1 3

d a t e 1 2 j s b u z z e rj m d a t e O I

d a t e 1 3 c m # $ 1 3b c d a t e 1 2

; c h e c k f o v a l i d i n p u t d a y .j s b e b i nt a d e I d d b u f + 1b e d a t e 1 2c m c l u t . xb c d a t e 1

; c o n f i r m e n t r y . .I d # I d # j s p l o t aI d # < d a t e p 2I d # > d a t e p 2j s p r n tj s c h i m ej s c l r q

d a t e 1 4 j s g e t i nc m p # ' nb e d a t e 1 6c m # ' b n d a t e 1 4

; i n p u t m o n t h; n o t z e r o m o n t h; e r r o r; r e e n t e r

; t o o h i g h

; c h a n g e t b i n a r y

; m a k e t a b l e o f f s e t. e n t r y d a ; z e r o f o d a ; t a b l e; t o o h i g h f o m o n t h

; ' i s t h i s c o r r e c t ? '

; f e t c h k e y p r e s s

; a b o r t

; l o o p

t r a n s f e r d a t e t c a l e n d a r s t o r a g e . . .I d #

d a t e 1 5 I d d b u f . xs t a t d t c . xd e b p d a t e 1 5

r e s t o r e s y s t e m e x i t . . .d a t e 1 6 I d # 1 7 3

I d # s t k e y c h ks t y s i g v o lp l s t m m p l s t c o l o rr t

; o f f s e t

; s t o r e i c a l e n d a r

; l o o p

e n a b l e k e y s; s h u t o f s i

; r e s t o r e c o n f i g u r a t i o n

r e s t o r e a t t r i b u t e

; c h a n g e b e d i g i t t b i n a r y d i g i tb e b i n p h

I s I s i s I s t a p l a n d # 1 5c l

b e b i n d e b m b c b i n 2a d # 1 b n b e b i n

b c b i n 2 r t 6

; s a v e b e d i g i t; s h i f t t e n s n y b b l e . . .; t l p o s i t i o n

; b e c o m e s t e n s c o u n t e r; f e t c h b e d i g i t; m a s k t e n s n y b b l e

; s t e p t e n s c o u n t e rf i n i s h e d; a d d 1 t o u n i t s; l o o p

b u z z e r t o n eb u z z e r I d #

I d # 2 5 1I d # 3 b n s i g n a l

; c h i m e t o n ec h i m e I d # 5

I d # 2 5 0I d # 1

; s i g n a l u s e rs i g n a l s t a 5 4 2 7 3

s t 5 4 2 7 8s t 5 4 2 7 6d e s t 5 4 2 7 6r t

; c l e a r k e y b o a r d q u e u ec l r q I d #

s t n d c l r q O I r t

p o s i t i o n c u r s o rp l o t a c l c

j m p l o t

p r i n t t s c r e e np r n t s t p t

s t p t + I d #

p r n t O I I d ( p t r ) . yb e c l r q O Ij s c h r o u ti n b n p r n t O I

; c a l e n d a r l o o k u p t a b l ec l u t . b y t $ 3 2

. b y t $ 2 9. b y t $ 3 2. b y t $ 3 1. b y t $ 3 2. b y t $ 3 1. b y t $ 3 2. b y t $ 3 2. b y t $ 3 1. b y t $ 3 2. b y t $ 3 1. b y t $ 3 2

; u s e r p r o m p t s

f r e q u e n c y; d u r a t i o n; s a w t o o t h

; t r i a n g l e

; g a t e t o n e o

; s t r i n g a d d r e s s

; o f f s e t; f e t c h

; l o o p

; j a n; f e b + 1; m a r + 1; a p r + 1; m a y; j u n + 1; j u l; a u g + ; s e p + ; o c t + 1; n o v; d e c

d a t e p i . b y t y e l , ' t o d a y " s d a t e : '. b y t c y n , ' [ 3 s p c s ] - [ 2 s p e s ] - '. b y t e s c . ' q ' . O

d a t e p 2 . b y t w h t . ' i s t h i s d a t e '. b y t ' c o r r e c t ( y / n ) ? ' , 0

p r o g r a m s t o r a g eb u d b u f

. e n d

; i n p u t b u f f e r; d a t e e n c o d i n g b u f f e r

M a r c h 1 9 8 8 : V o l u m e 8 I s s u e 0

Page 71: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 71/84

Page 72: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 72/84

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

O n c e y o h a v e c o m p i l e r , y o u ' r e u p a n d r u n n i n g - y o u w i l l r e q u i r e n o t h e r s o f t w a r e t w r i t e p r o g r a m s . H o w e v e r , t h e r e a r e n u m b e r o u t i l i t i e s s u s e f u l t t h A m i g a p r o g r a m m e r a t b d e e m e d e s s e n t i a l .A t h t o o t h l i s t , a f a a N i c k i c o n c e r n e d , i c o m m a n d s h e l l ,s u c h a s t h e P c s b M a t t D i l l o n , o r t h e S h e l l p r o g r a m p r o d u c e d b M e t a c o m c o . T h e s e p r o v i d e c o m m a n d l i n e h i s t o r y , e d i t i n g a n a l i a s e s t m i n i m i z e t h a m o u n t o r e t y p i n g n e c e s s a r y . N e x t o t h l i s t o r e c o mm e n d e d s u p p o r t s o f t w a r e i r e c o v e r a b l e R A d i s k , s u c h a s t h e N V O :s u p p l i e d w i t h t h C o m s p e c R A b o a r d , o r t h e P p r o g r a m R R D , b P e r r y K i v o l o w i t z . T h e s e a r s i m i l a r t A m i g a D O S R A M : d e v i c e b u tr e t a i n t h e i r c o n t e n t s d u r i n g a w a r m r e b o o t w h i c h s a v e s y o h a v i n g t r e s t o c k R A a f t e r c r a s h d u r i n g p r o g r a m d e v e l o p m e n t . A l s o r e c o mm e n d e d i g o o d t e x t e d i t o r . N i c k u s e r U E d i t , f i n e p r o g r a m m a b l es h a r e w a r e e d i t o r b R i c k S t i l e s .

N i c k a l s o r e c o m m e n d s P o w e r W i n d o w s , p u b l i s h e d b I n o v a t r o n i c s .T h i s p r o d u c t l e t s y o i n t e r a c t i v e l y s e u t h w i n d o w s , m e n u s , s c r e e n s ,g a d g e t s a n d r e q u e s t e r s y o w a n t t u s i y o u r p r o g r a m . I t h e na u t o m a t i c a l l y g e n e r a t e s t h e C , M o d u l a o A s s e m b l e r s o u r c e c o d e f o t h e s e I n t u i t i o n s t r u c t u r e s . I c a i m p o r t i m a g e s y o h a v e s t o r e d a " b r u s h e s " i D e l u x e P a i n t , a n c o n v e r t t h e m t I m a g e s t r u c t u r e s f o u s i m e n u s a n g a d g e t s . D o i n g t h i s s o r t o f t h i n g b h a n d c a b e n o r m o u s l y t i m e c o n s u m i n g , a c a t e l l y o u , h a v i n g s p e n t a e n t i r ee v e n i n g d r a w i n g f o u r s i m p l e g a d g e t s o g r a p h p a p e r a n c o n v e r t i n gt h e m i n t o h e d a t a . " I P o w e r W i n d o w s h a b e e n o u r i g h t a t t h s t a r t , "s a y s N i c k , " t h e r e m i g h t b l o m o r e A m i g a s o f t w a r e a v a i l a b l e n o w ! '

O t h e r u s e f u l u t i l i t i e s m e n t i o n e d b S u l l i v a n i n c l u d e M e t a d i g m ' s M e t a -s c o p e w i n d o w i n g d e b u g g e r , M a n x ' s S L s o u r c e l e v e l d e b u g g e r ( s e eb e l o w ) , G i m p e l L i n t , a s o u r c e - c o d e s y n t a x c h e c k e r b G i m p e l S o f tw a r e , D e l u x e P a i n t I b E l e c t r o n i c A r t s a n B l i t z f o n t s , t e x td i s p l a y s p e e d u p p r o g r a m b H a y e s H a u g e n .

C h r i s Z a m a r a , Y A T E ( Y e t A n o t h e r T r a n s a c t o r E d i t o r ) , a n S u l l i v a n ' sp r o g r a m m i n g p a r t n e r , h a s o m e a d v i c e f o n e A m i g a p r o g r a m m e r st r y i n g t m a k e s e n s e o t h m a c h i n e : " D o n ' t r e a d t h R K ( R O MK e r n e l M a n u a l ) g r a p h i c s d o c u m e n t a t i o n f i r s t ! I t h i n k i w a w r i t t e nb e f o r e t h e I n t u i t i o n m a n u a l a n g o e s i n t o l o o d e t a i l t h a t i c o n f u s i n gt s o m e o n e j u s t s t a r t i n g . S t a r t w i t h t h I n t u i t i o n M a n u a l . A l o n g a y o k n o w w h e r e t f i n d t h e R a s t P o r t p o i n t e r f o y o u r s c r e e n o w i n d o w o w h a t e v e r , y o u ' r e r e a d y t o s t a r t d r a w i n g . "

Z a m a r a h a h a s o m e f o r m a l t r a i n i n g i h i g h l e v e l l a n g u a g e s b e f o r e h e n t e r e d t h e 8 - b i t w o r l d b u w a n e t C H i f i r s t a t t e m p t t r e a d t h I n t u i t i o n M a n u a l l e f t h i q u i t e c o n f u s e d . H o w e v e r , a f t e r r e a d i n g t h K e r n i g h a n a n R i t c h i e t e x t a n s p e n d i n g m a n y h o u r s p o r i n g o v e r t h L a t t i c e c o m p i l e r m a n u a l , h g a v e i a n o t h e r t r y . " O n c e g o c o m f o r ta b l e w i t h s t r u c t u r e s a n p o i n t e r s , r e r e a d t h e I n t u i t i o n M a n u a l . T h e ne v e r y t h i n g f e l l i n t o p l a c e . "

L a r r y P h i l l i p s i o n o t h S y s o p s o t h A m i g a F o r u m o C o m p u S e r v e .B d a m i l d - m a n n e r e d m a i n f r a m e t e c h n i c i a n , a n i g h t h c o m m u n e sw i t h a l m a n n e r o C o m m o d o r e c u l t i s t s . L a r r y d o e s n o s h a r e T r a n s a ct o r ' s l a n g u a g e b i a s , b e i n g i n s t e a d a d e v o t e e o M o d u l a - 2 , t h l a g u a g e c r e a t e d b N i k l a u s W i r t h a s u c c e s s o r t o h i s e a r l i e r P a s c a l .L a r r y ' s a d v i c e t 6 4 / 1 2 8 p r o g r a m m e r s : " F o r t h o s e w h a r f a m i l i a rw i t h C O M A L , a l w a y s r e c o m m e n d M o d u l a - 2 , a n n o t h a t h a v eB e n c h m a r k ( t h e c o m m e r c i a l M o d u l a - 2 c o m p i l e r w r i t t e n b L e o nF r e n k e l ) i t ' s t h o n r e c o m m e n d s p e c i f i c a l l y . S o m e b o o k s f o M o d u l a -

w o u l d r e c o m m e n d : M o d u l a - 2 , S e a f a r e r ' s G u i d e a n S h i p y a r dM a n u a l , b E d w a r d J o y c e ; a n d M o d u l a - 2 P r i m e r , b S t a n K e l l y - B o o t l e

( W a i t e G r o u p b o o k ) . T h e s e a r a i m e d a b e g i n n e r s , a n a r t u t o r i a l i n a t u r e . O n l i t t l e m o r e a d v a n c e d i M o d u l a - 2 , S o f t w a r e D e v e l o pm e n t A p p r o a c h , b y G a r y F o r d a n R i c h a r d W i e n e r . T h i s o n i v e r yg o o d , a n r e a l l y g e t s i n t o p r o g r a m c o n s t r u c t i o n , e s p e c i a l l y i l a r g e rp r o j e c t s w h e r e m o r e t h a n o n e p r o g r a m m e r i i n v o l v e d .

" A f i c i o n a d o s o B a s i c h a v e t h e c h o i c e o g o i n g t A m i g a B a s i c , w i t h i t v e r y C O M A L - l i k e s t r u c t u r e s a n h o p e l e s s u s e r i n t e r f a c e ; o g o i n g t a n o t h e r l a n g u a g e . O t h e r s a v a i l a b l e a r F o r t h , A P L , F o r t r a n , C , I c o n ,A R e x x , L I S P , P a s c a l , D r a c o , P i l o t , L O G O , a n p r o b a b l y a f e I ' v ef o r g o t t e n a b o u t . O t h a b o v e , P o s h a r e w a r e v e r s i o n s a r e a v a i l a b l ef o F o r t h , C , I c o n , L I S P ( X L i s p ) , D r a c o , P i l o t , a n L O G O .

" F o r t h e a s s e m b l e r t y p e s , a l c a s a i s g o o d l u c k w a d i n g t h r o u g h t h A m i g a d o c u m e n t a t i o n a n h a v i n g t l e a r n t o t r a n s l a t e t c i v i l i z e dp r o g r a m . T h e r e i b o o k c a l l e d A m i g a A s s e m b l e r L a n g u a g e P r o g r a mm i n g , b J a k e C o m m a n d e r . T h i s i n o t h e g r e a t e s t a s s e m b l e r b o o k I ' v es e e n , b u t w i l l g e t h e m s t a r t e d a n h e l p t h e m t u n d e r s t a n d t h A m i g aw a y s o d o i n g t h i n g s . "

A s s e m b l y l a n g u a g e o t h A m i g a i r a t h e r d i f f e r e n t p r o p o s i t i o n ,c o n c u r s J i B u t t e r f i e l d . " 6 8 0 0 0 m a c h i n e l a n g u a g e i t h s a m e i n a t u r e ( a 6 5 0 2 M L b u i t ' s i m u c h m o r e c o m p l e x e n v i r p n m e n t . "T h a t s t a t e m e n t l i e s a t h e h e a r t o t h e d i f f e r e n c e b e t w e e n s i n g l e u s e rc o m p u t e r s l i k e t h 6 4 / 1 2 8 a n d t h m u l t i - u s e r , m u l t i t a s k i n g O o t h A m i g a .

T h o s e w h w i s h t p r o g r a m o t h A m i g a c a n n o t a s s u m e t h e y h a v e t h m a c h i n e t t h e m s e l v e s . T h A m i g a ' s O p e r m i t s a m a n y p r o g r a m s a c a f i i n t o m e m o r y a o n c e t r u s i m u l t a n e o u s l y . T h o s e p r o g r a m sm u s t , t h e r e f o r e , b e h a v e a g o o d A m i g a c i t i z e n s r e q u e s t i n g r e s o u r c e ss u c h a m e m o r y a n I / d e v i c e s r a t h e r t h a n s i m p l y c o m m a n d e e r i n gt h e m ; s h a r i n g d e v i c e s w i t h o t h e r p r o c e s s e s ; a n r e l e a s i n g r e s o u r c e sw h e n f i n i s h e d w i t h t h e m . A h a v e w r i t t e n i p r e v i o u s c o l u m n s , i t ' sr a t h e r l i k e d e a l i n g w i t h a p e r v a s i v e , t h o u g h e f f i c i e n t , b u r e a u c r a c y .

T h e A m i g a p r o g r a m m e r i a c t i v e l y d i s c o u r a g e d f r o m d e l v i n g i n t oA m i g a K e r n e l l i b r a r i e s d i r e c t l y , f o r g o o d r e a s o n : C B i c o n s t a n t l yi m p r o v i n g t h O S T h e y w i l l g u a r a n t e e o n l y o n e u n c h a n g i n g a d d r e s sb e t w e e n r e v i s i o n s : $ 0 0 0 0 0 0 0 4 , o t h e r w i s e k n o w n a A b s E x e c B a s e .T h i s c o n t a i n s t h e a d d r e s s o E x e c B a s e , t h p o r t a l t t h E x e c l i b r a r y .A l l r o u t i n e s i E x e c , i n c l u d i n g O p e n L i b r a r y ( ) , w h i c h i u s e d t o p e nt h o t h e r l i b r a r i e s , a r a d d r e s s e d a o f f s e t s f r o m E x e c B a s e . T h a d d r e s so a n r o u t i n e , o a n l i b r a r y , e v e n o E x e c B a s e i t s e l f , m a c h a n g e a s o m e f u t u r e d a t e . F o e x a m p l e , D a l e L u c k , a r c h i t e c t o m u c h o t h A m i g a ' s g r a p h i c s l i b r a r i e s , h a s u g g e s t e d t h a t a b o u t 5 0 o f K i c k s t a r t ' sc u r r e n t c o d e w i l l b r e m o v e d f r o m R O i 1 . a n p u t o n t o t h eW o r k b e n c h d i s k . T h i s w i l l m a k e r o o m i R O f o n e g r a p h i c sr o u t i n e s . D a l e d i d n ' t s a w h a t t h e s e r o u t i n e s w i l l b f o r , b u t h i n k i l i k e l y t h e y w i l l p r o v i d e s u p p o r t f o X - W i n d o w s . ( F o r a e x p l a n a t i o n o X W i n d o w s , s e t h l a s t e d i t i o n o f A D . )

T h n e e d t c o e x i s t w i t h o t h e r p r o g r a m s a n t h n e c e s s i t y o a c c e s s i n gs y s t e m r o u t i n e s i n d i r e c t l y r e q u i r e s f u n d a m e n t a l c h a n g e i a t t i t u d e o t h p a r t o s o m e o n e u s e d t p r o g r a m m i n g s i n g l e u s e r m a c h i n e .R a t h e r t h a n r o l l i n g u o n e ' s s l e e v e s a n d i g g i n g i n o n m u s t l e a r n t k e e p a l i n t e r a c t i o n w i t h t h s y s t e m a a r m ' s l e n g t h . I m e a n s p l a y i n g b t h r u l e s , r a t h e r t h a n i n v e n t i n g o n e ' s o w n . T h r e w a r d i a e n o r m o u sg a i n i p o w e r . A f t e r a l l , y o u h a v e 2 5 6 K o o p t i m i z e d c o d e i K i c k s t a r tt o t a p , a o p p o s e d t t h 1 6 o B A S I C a n K e r n a l R O f o u n d i t h C 6 4 .I y o d d e c i d e t p u r s u e a s s e m b l y l a n g u a g e o t h A m i g a , B u t t e r f i e l dh i g h l y r e c o m m e n d s K i c k s t a r t ' s G u i d e t t h A m i g a . K i c k s t a r t i a

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 73: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 73/84

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

f o r m - r a t h e r l i k e a A m i g a v e r s i o n o T r a n s a c t o r ' s T h C o m p l e t eI n n e r S p a c e A n t h o l o g y . B u t t e r f i e l d n o t e s t h a t c o p i e s a r e

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

o w i l l a l s o n e e d a n a s s e m b l e r , o c o u r s e . C h a r l e s G i b b s ' s A 6 8 k i a s s e m b l e r t h a t i c o m p a t i b l e w i t h t h a s s e m b l e r i n c l u d e f i l e s f o u n d

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

a s s e m b l e r s f r o m M e t a c o m c o , H i S o f t , L a t t i c e a n M a n x , t n a m e

s h a l l f i n i s h u t h i s e d i t i o n o A w i t h t h p r o m i s e d r e p o r t o t h s h o w h e l d i N e Y o r k , O c t o b e r 1 0 - 1 2 . w a u n a b l e t

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

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

A l p r i c e s a r e i U d o l l a r s .

b B y t e w e r e o f f e r i n g s e l f - p o w e r e d R A e x p a n s i o n b o a r d f o t h $ 2 9 9 . 9 5 u n p o p u l a t e d , $ 6 9 9 . 9 5 f u l l y p o p u l a t e d w i t h M o

M e m o r y c h e c k i n g s o f t w a r e i i n c l u d e d . . . D i s c o v e r y S o f t w a r ea t i o n a l a n n o u n c e d C - S h e l l f o t h A m i g a c a l l e d A m n i x t h a t

o v e r 4 r e s i d e n t c o m m a n d s , c o m m a n d l i n e h i s t o r y a n a n d e n v i r o n m e n t v a r i a b l e s f o $ 4 9 . 9 5 . T h e y a l s o a n n o u n c e d

a n D X - 1 1 , A m i g a e m u l a t i o n s o t h e H e w l e t t - P a c k a r d H P - 1 6 Cc a l c u l a t o r a n t h H P - 1 1 C s c i e n t i f i c c a l c u l a t o r r e s p e c

B o t h f u l l y m u l t i t a s k i n g p r o g r a m s a r a v a i l a b l e f o $ 4 9 . 9 5 . . .

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

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

I t ' s y o u r s f o $ 9 f r o m T h O t h e r G u y s . . . O t h e r m u s i cd e m o e d a A m i E x p o i n c l u d e d T h S o u n d Q u e s t , R o l a n d

s y n t h e s i z e r e d i t o r / l i b r a r i a n p a c k a g e b S o u n d Q u e s t I n c . o a n R o g e r P o w e l l ' s l o n g - a w a i t e d T e x t u r e p o r t t t h A m i g a .

I n c . h a a v e r y s t r o n g p r e s e n c e a t h s h o w . O p a r t i c u l a rw a t h S a t e l l i t e D i s k P r o c e s s o r , a i n t e r f a c e f o t h A 1 0 0 0

n A 2 0 0 0 t h a t w i l l s u p p o r t u t 5 S C S I d e v i c e s a n t w S T - 5 0 6A S D G c l a i m s t h c a r d u s e s i t o n b o a r d 6 8 0 0 0 C P U , 5 1 K

D M a n M i y i U t p r o v i d e o v e r " 4 0 0 K p e s e c o n d a v e r a g et h r o u g h - p u t " . A l s o a n n o u n c e d w e r e f u r t h e r d e t a i l s o t h 2 0 0 0 -

e x p a n s i o n b o f o t h A 1 0 0 0 . T h i s u n i t p r o v i d e s t w Z o r r o( f o r c a r d s d e s i g n e d t t h o r i g i n a l Z o r r o s p e c ) , f i v e Z o r r o I s l o t s ( f o r

t h o s e g r e a t A 2 0 0 0 c a r d s ) , t h r e e I B M P C / A T s l o t s ( f o r t h B r i d g e C a r dn o t h e r P C / A T c a r d s ) , o n c o p r o c e s s o r s l o t ( f o r t h 6 8 0 2 0 / 6 8 8 8 1 ) ,w 3 . i n c h d r i v e b a y s , o n 5 . 2 5 i n c h d r i v e b a a n 2 0 w a t t p o w e r

T h o n l y t h i n g i d o e s n ' t p r o v i d e , a $ 7 9 9 , i t h A 2 0 0 0 ' s v i d e o

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

. M o R A a n b a t t e r y - b a c k e d c l o c k / c a l e n d a r . T h u n p o p u l a t e ds e l l s f o r $ 2 7 9 . T h e r e h a v e b e e n r e p o r t s o s e v e r e d a m a g e t t h

o s o m e o t h o s e w h h a v e i n s t a l l e d t h i s b o a r d s c a v e a tI s h o u l d b n o t e d t h a t S p i r i t T e c h n o l o g y " g u a r a n t e e s I n b o a r d

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

M a n x ' s J i G o o d n o w w a s h o w i n g t h n e A z t e c S o u r c e L e v e lD e b u g g e r . T h i s p r o d u c t w i l l a n s w e r t h p r a y e r s o m a n y , m n o l e a s t . I p r o v i d e s f a c i l i t y c a l l e d " b a c k t r a c i n g " , w h i c h a l l o w s t h e u s e rt d i s p l a y a l a c t i v e f u n c t i o n n a m e s a n d t h e v a l u e s o p a s s e d p a r a m et e r s . I n a d d i t i o n , a c t i v e f r a m e c o n t e x t s w i t c h i n g m a k e s i p o s s i b l e t e x a m i n e t h v a r i a b l e s t h a t a r v i s i b l e f r o m a n a c t i v e f u n c t i o n , a n r e u s a b l e c o m m a n d m a c r o s c a b u s e d t c u s t o m i z e t h d e b u g g i n ge n v i r o n m e n t . T h w i n d o w i n g c a p a b i l i t i e s o S D l e t h u s e r d i s p l a ys o u r c e a n c o m m a n d o u t p u t s e p a r a t e l y , w i t h t h i r d w i n d o w f o e n t e r i n g c o m m a n d s . A l l o f t h e s e g o o d i e s a n m o r e a r a v a i l a b l e f o $ 7 5 . M a n x a l s o a n n o u n c e d v e r s i o n 3 . o f t h e i r c o m p i l e r a n d e c l a r e dt h a t f u t u r e r e l e a s e w o u l d i n c l u d e a A N S I s t a n d a r d c o m p i l e r .

S p e n c e r O r g a n i z a t i o n , I n c . s h o w e d A P L . 6 8 0 0 0 f o t h A m i g a . A c c o r di n t t h c o m p a n y , t h A P I n t e r p r e t e r s u p p o r t s A P m u l t i t a s k i n g( w h a t e v e r t h a t i s ) , i f u l l y ' I n t u i t i o n a l i z e d ' ( m e x p r e s s i o n ) , i p r o v i d e dw i t h a f u l l i n t e r f a c e t A m i g a g r a p h i c s f u n c t i o n s a n h a b u i l t i A P L /A S C I I t e r m i n a l e m u l a t o r . A l t h i s a n m o r e , f o l k s , f o o n l y $ 9 9 . . .

M e r i d i a n S o f t w a r e I n c . , p u b l i s h e r s o Z i n g ! , w e r e s e l l i n g T h D e m o ns t r a t o r . I y o r e m e m b e r m d e s c r i p t i o n o t h P p r o g r a m J o u r n a l

c o u p l e o i s s u e s a g o , t h i s p r o g r a m w i l l r i n g b e l l . I w i l l r e c o r d o n e ' si n t e r a c t i o n w i t h t h e A m i g a a n p l a y i b a c k u p o n d e m a n d . O n c a a p p a r e n t l y a d t e x t w i n d o w s a n s p e e c h t c r e a t e e l a b o r a t e d e m o s o t u t o r i a l s . I n a d d i t i o n , o n c a c o n t r o l t h s p e e d o t h p l a y b a c k . T h p r i c e : $ 3 9 . 9 5 . . . G a l i l e o s o u n d s m u c h l i k e a A m i g a v e r s i o n o t h e x c e l l e n t S k T r a v e l l e r p r o g r a m f o t h C 6 4 . I c a n b e u s e d t v i e wt h s k y f r o m a n p o i n t o e a r t h f o a n d a t e t h i s c e n t u r y a n d i s p l a y st h c o n s t e l l a t i o n s i n i n e d i f f e r e n t l e v e l s o f b r i g h t n e s s . T h p r o g r a mw a d e v e l o p e d b y M i k e S m i t h w i c k , a a s t r o n o m e r a n c o m p u t e rg r a p h i c s a r t i s t c u r r e n t l y w o r k i n g f o N A S A ' s A m e s R e s e a r c h C e n t e r .Y o c a s e t h s t a r s o y o u r A m i g a f o $ 6 9 . 9 5 . . .

T h a t ' s a l l , f o l k s !

a s o r r y t s a t h a t t h i s w i l l b t h l a s t e d i t i o n o A m i g a D i s p a t c h e sw r i t t e n b y m e . D u t n u m b e r o r e c e n t c h a n g e s i m p e r s o n a l l i f e ,n l o n g e r h a v e t h t i m e f o t h m a n y h o u r s o r e s e a r c h t h i s c o l u m nr e q u i r e s . R a t h e r , i w i l l b s p e n t o n m o r e i m p o r t a n t m a t t e r s m w i f eC a t e a n m y o u n g s o A l e x .

w i l l b c o n t r i b u t i n g t h e o c c a s i o n a l a r t i c l e t o t h T r a n s a c t o r f o r t h eA m i g a : f i r s t o t h l i s t i t h A m i g a 2 0 0 0 r e v i e w h a v e p r o m i s e d f o s l o n g . I w i l l i n c l u d e l o o k a t h B 2 0 0 0 , o t h e r w i s e k n o w n a s t h e W e s tC h e s t e r 2 0 0 0 . 1 h a v e y e t f i n i s h p u t t i n g i t h r o u g h i t p a c e s , b u c a t e l l y o t h i s : i t ' s s i g n i f i c a n t i m p r o v e m e n t o t h W e s t G e r m a n 2 0 0 0 .

w i l l b p l a c i n g t h e A k e y b o a r d i n t o t h c a p a b l e h a n d s o D o C u r t i sf r o m D e n v e r , C O H i f i r s t c o l u m n w i l l a p p e a r i t h p r e m i e r e i s s u e o T A I t h m e a n t i m e , l e m k n o w w h a t y o t h i n k : o l i f e , l o v e o r t h e6 8 0 3 0 . 1 h a v e d r a w n g r e a t d e a l o p l e a s u r e f r o m t h e l e c t r o n i c a n p a p e r l e t t e r s h a v e r e c e i v e d w h i l e w r i t i n g A D h o p e y o u w i l l c o n t i n u et i n c l u d e m i y o u r A m i g a a d v e n t u r e s . c a n b e r e a c h e d a T h T r a n s a c t o r o e l e c t r o n i c a l l y v i a :

C I S : 7 1 4 2 6 , 1 6 4 6P e o p l e L i n k : A M T A GB I X : d i s p a t c h e r

G E n i e : t . g r a n t h a mB l o o m B e a c o n B B S : T i G r a n t h a m( 4 1 6 2 9 7 - 5 6 0 7 )

h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 74: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 74/84

C h a n g e T h M o u s eP o i n t e r i A m i g a B a s i c

A n t h o n y B r y a n tW i n n i p e g , M a n i t o b a

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

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

( o r s p r i t e d e s i g n ) q u i c k l y a n i n t e r a c t i v e l y . W i t h A m i g a B a s i c ' s L I B R A R Ys t a t e m e n t , y o c a u s s y s t e m f u n c t i o n s b e s i d e s t h o s e a v a i l a b l e d r e c t l y w i t h B a s i c c o m m a n d s . I n t u i t i o n ' s S e t P o i n t e r ( ) a n C l e a r P o i n t e r ( )f u n c t i o n s w i l l b e u s e d i t h i s p r o g r a m t s w i t c h t n e p o i n t e r a n b a c k t t h d e f a u l t a g a i n .

U s i n g L i b r a r i e s i A m i g a B a s i c

T h a r r o w p o i n t e r i t h d e f a u l t p o i n t e r u s e d b y I n t u i t i o n s t c h a n g e i ( " i t " i h a r d w a r e i s p r i t e 0 ) w h a v e t " g e t i n t o " I n t u i t i o n . W c a c a l lI n t u i t i o n f u n c t i o n s , a s w c a c a l l f u n c t i o n s i o t h e r s y s t e m l i b r a r i e s , b u s i n g t h L I B R A R Y c o m m a n d . T h e L I B R A R Y c o m m a n d , g i v e n t h n a m e o l i b r a r y ( i n t h i s c a s e " i n t u i t i o n . l i b r a r y " ) , w i l l m a k e t h f u n c t i o n s o t h a t l i b r a r y a v a i l a b l e f r o m A m i g a B a s i c . T h c a t c h , h o e v e r , i t h a t f o L I B R A R Y t w o r k , i n e e d s t h " . b m a p " f i l e a s s o c i a t e dw i t h t h l i b r a r y b e i n g u s e d , w h i c h g i v e s B a s i c i n f o r m a t i o n a b o u t t h f u n c t i o n s i t h l i b r a r y , l i k e t h e i r a d d r e s s e s i m e m o r y a n w h a tp a r a m e t e r s t h e y a c c e p t .

S i n c e t h e i n f o r m a t i o n c o n t a i n e d i " . b m a p " f i l e i s s p e c i f i c t p a r t i c u l a r v e r s i o n o t h o p e r a t i n g s y s t e m , t h f i l e s h o u l d b e c u s t o m -m a d e f o t h s y s t e m y o u ' r e u s i n g . T h p r o g r a m " C o n v e r t F D " i t h " B a s i c D e m o s " d r a w e r o t h A m i g a B a s i c d i s k ( v e r s i o n 1 . 2 ) w i l l m a k e" . b m a p " f i l e f r o m " i d " f i l e , w h i c h c o n t a i n s m o r e g e n e r a l i n f o r m a t i o na b o u t f u n c t i o n s w i t h i n l i b r a r y . T h " i d " f i l e s f o a l l i b r a r i e s c a n b ef o u n d i t h " f d l . 2 " d i r e c t o r y o t h A m i g a B a s i c d i s k . Y o c a c r e a t et h e " i n t u i t i o n . b m a p " f i l e t h a t y o u ' l l n e e d w i t h t h c o m m a n d :

C o n v e r t F D : f d 1 . 2 / i n t u i t i o n J i b i d

Y o u ' l l a l s o n e e d t h . b m a p f i l e f o t h e x e c l i b r a r y , s r u C o n v e r t F Do t h f i l e " e x e c j i b . f d " i t h f d . d i r e c t o r y a w e l l . Y o s h o u l d k e e pt h e s e f i l e s a r o u n d f o f u t u r e p r o g r a m s ; g o o d i d e a i t m a k e " l i b s "d i r e c t o r y o y o u r A m i g a B a s i c d i s k a n p u a l y o u r . b m a p f i l e s t h e r e .Y o c a t h e n u s t h e m w i t h t h L I B R A R Y s t a t e m e n t b s p e c i f y i n g t h ef u l l p a t h n a m e o t h f i l e s , l i k e :

L I B R A R Y B : l i b s / i n t u l t i o n . l i b r a r y BL I B R A R Y B : l i b s / e x e c . l i b r a r y "e t c .

( A s s u m i n g t h a t y o u r c u r r e n t d i r e c t o r y w h e n y o r u t h e B a s i c p r o g r a mi s o m e w h e r e o n t h s a m e d i s k . )

O n c e t h L I B R A R Y c o m m a n d h a b e e n u s e d t l i n k y o w i t h t h s y s t e m l i b r a r y o f y o u r c h o i c e , y o u c a n c a l l t h r o u t i n e s b y n a m e ,p a s s i n g t h e m p a r a m e t e r s j u s t a i p r o g r a m . R o u t i n e s t h a t r e t u r nv a l u e s m u s t b d e c l a r e d w i t h :

D E C L A R E F U N C T I O N F u n c t i o n N a m e L I B R A R Y

u s i n g ' & a t h e n o t h e f u n c t i o n n a m e i i r e t u r n s l o n g w o r d ( a m o s t s y s t e m f u n c t i o n s d o ) .

Y o u ' v e p r o b a b l y s c a n n e d t h e s e v e r a l d e m o p r o g r a m s t h a t u s t h L I B R A R Y s t a t e m e n t t s e h o i w o r k s , a n y o m a h a v e l o o k e dt h r o u g h t h f d . f i l e s t f a m i l i a r i z e y o u r s e l f w i t h t h n a m e s o a l t h o s es y s t e m f u n c t i o n s t h a t y o a r s e a g e r t t r y . B u y o r e a l l y n e e d t h m a n u a l s - I n t u i t i o n a n R O K e r n a l t m a k e s e n s e o t h l i b r a r i e s .

I n t u i t i o n : T h M a n u a l

C h a p t e r o t h I n t u i t i o n m a n u a l e x p l a i n s t h e f u n c t i o n s u s e d t c r e a t ec u s t o m p o i n t e r i w i n d o w :

S e t P o i n t e r ( W i n d o w , P o i n t e r , h e i g h t , w i d t h , x o f f s e t , y o f f s e t )

C h a n g e s t h s p r i t e d e f i n i t i o n i n t h g i v e n w i n d o w , a n

C l e a r P o i n t e r ( W i n d o w )

R e s t o r e s t h e d e f a u l t p o i n t e r i t h g i v e n w i n d o w .

T h p r o g r a m t h a t f o l l o w s i s i m p l e t r a n s l a t i o n t A m i g a B a s i c . I t ' sb a s i c a l l y m a t t e r o p a s s i n g S e t P o i n t e r ( ) t h e r i g h t p a r a m e t e r s , t h e nc a l l i n g C l e a r P o i n t e r ( ) t s e t h e p o i n t e r b a c k t n o r m a l a g a i n . W g e t h p o i n t e r t t h W i n d o w w i t h t h W I N D O W ( 7 ) f u n c t i o n , a n t h l e f t ,w i d t h , a n o f f s e t s f o t h e p o i n t e r a r e j u s t p a r t o t h s p r i t e d e f i n i t i o n i t h D A T A s t a t e m e n t s .

P a s s i n g S e t P o i n t e r ( ) t h e p o i n t e r t t h s p r i t e d e f i n i t i o n d a t a i t s e l f i b i t r i c k i e r . P e r h a p s t h e a s i e s t m e t h o d w o u l d b t s t o r e t h s p r i t ed e f i n i t i o n i a i n t e g e r a r r a y a n p a s s S e t P o i n t e r p o i n t e r t t h a r r a yv i B a s i c ' s V A R P T R f u n c t i o n . T h t r o u b l e w i t h t h i s a p p r o a c h i t h a ts p r i t e d e f i n i t i o n s , l i k e a n d a t a t h a t n e e d s t b a c c e s s e d b t h g r a p h i c s o s o u n d h a r d w a r e , . m u s t b i " c h i p " R A M . A u n e x p a n d e dA m i g a h a c h i p r a o n l y , s o u s i n g a a r r a y w o u l d w o r k f i n e , b u t h p r o g r a m w o u l d s t o p w o r k i n g i e x t r a R A w a a d d e d t t h s y s t e m . T d t h j o b p r o p e r l y , m e m o r y i a l l o c a t e d w i t h t h A l l o c M e m ( ) f u n c t i o ni t h E x e c l i b r a r y w c a t e l l A l l o c M e m ( ) t g i v e u c h i p R A M . T h s p r i t e d e f i n i t i o n i s t o r e d i t h c h i p r a w i t h a P O K E W ( P O K E W o r d )s t a t e m e n t i F O R . . . N E X T l o o p .

B e f o r e t h p r o g r a m e n d s , t h e m e m o r y t h a t w a a l l o c a t e d i r e l e a s e db a c k t t h s y s t e m w i t h F r e e M e m ( ) . I t h i s i n o t d o n e , t h e m e m o r ya l l o c a t e d w i l l b l o s t u n t i l t h n e x t s y s t e m r e - b o o t .

T u s t h A l l o c M e m a n F r e e M e m f u n c t i o n s , L I B R A R Y c o m m a n df o " e x e c . l i b r a r y " m u s t b u s e d . A l s o , s i n c e A l l o c M e m r e t u r n sl o n g w o r d r e s u l t , i m u s t b e e x p l i c i t l y d e c l a r e d w i t h D E C L A R E F U N CT I O N .

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

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 75: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 75/84

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

C h a n g e t h R E S T O R E c o m m a n d t t r a n o t h e f o u r p o i n t e r s d e f i n e d i t h D A T As t a t e m e n t s , o r t r c h a n g i n g t h d a t a t m a k e p o i n t e r s o y o u r o w n . T m a k e y o u r o w p o i n t e r s , y o u ' l l n e e d t k n o w b i a b o u t h o s p r i t e d e f i n i t i o n s w o r k .

C r e a t i n g S p r i t e D e f i n i t i o n D a t a

T h d a t a t h a t c o n s t i t u t e t h s p r i t e d e f i n i t i o n a r m a d e u o t w o w o r d s p e r s c r e e n l i n e f o rp o s i t i o n a n c o l o u r i n f o r m a t i o n . ( T h e f i r s t a n l a s t t w o w o r d s i t h d e f i n i t i o n d n o a c t u a l l y d e s c r i b e t h e s p r i t e , a n s h o u l d b z e r o i a l d e f i n i t i o n s t h s y s t e m w i l l u s t h e s ew o r d s f o i t o w n e e d s . )

B o t h w o r d s t o g e t h e r d e s c r i b e t h e c o l o u r o e a c h p i x e l o s i n g l e h o r i z o n t a l l i n e o t h s p r i t e . w o r d i 1 b i t s , t h m a x i m u m w i d t h o s p r i t e . T h f i r s t w o r d c o n t a i n s t h e L S ( l e a s t s i g n i f i c a n t b i t ) d a t a a n t h s e c o n d w o r d h a t h M S ( m o s t s i g n i f i c a n t b i t ) d a t a ; t h t w b i t s s p e c i f y o n o t h r e e p o s s i b l e c o l o u r s , o r t r a n s p a r e n c y :

m s l s C o l o u r 0 i t r a n s p a r e n t ( b l u e )C o l o u r i m e i n t e n s i t y ( r e d h a r d w a r e c o l o u r r e g . 1 7 C o l o u r i l o i n t e n s i t y ( b l a c k - h a r d w a r e c o l o u r r e g . 1 8 C o l o u r i h i g h i n t e n s i t y ( r e d - h a r d w a r e c o l o u r r e g . 1 9

f e w e x a m p l e s o c u s t o m p o i n t e r s a r e g i v e n i t h p r o g r a m t s h o w h o t h e c o l o u r s w o r k( t h e d a t a i i h e x a d e c i m a l ) . X P o i n t e r i d i r e c t c o p y f r o m t h e x a m p l e g i v e n i i t h I n t u i t i o n m a n u a l ; X P l a i n i o n e - c o l o u r v e r s i o n .

' * C h a n g e m o u s e S h a p e v i I n t u i t i o n C u s t o m P o i n t e r *

D E C L A R E F U N C T I O N A l l o c M e m & L I B R A R YL I B R A R Y " i n t u i t i o n . l i b r a r y "L I B R A R Y " e x e c . l i b r a r y "

c h i p % = ' t t e l l A l l o c M e m ( ) w w a n t c h i p r a

R E S T O R E X P o i n t e r ' w h i c h p o i n t e r w w a n t

R E A D p H e i g h t % , p W i d t h % , p X O f f s e W b , p Y O f f s e t %p S i z e & ( p H e i g h t ° / o 3 ' o b y t e s r e q u i r e d f o s p r i t e d e f i n i t i o nm e m & A l l o c M e m & ( p S i z e & , c h i p ° / o ) ' a l l o c a t e s o m e c h i p r a

' * c o p y s p r i t e d a t a i n t o c h i p r a * F O i m e m & T O ( m e m & p S i z e & ) S T E P

R E A D x o / oP O K E W i & , x %

N E X T i &

' ♦ s w i t c h t o u n e p o i n t e r * *C A L L S e t P o i n t e r O / V I N D O W f Z J . m e m & . p H e i g h t o / o . p W i d t h o / o . p X O f f s e t o / o . p Y O f f s e t o / o )P R I N T " S e t P o i n t e r "P R I N T " ( C l i c k l e f t m o u s e b u t t o n t C l e a r P o i n t e r ) "

' * w a i t u n t i l u s e r c l i c k s l e f t m o u s e b u t t o n * W H I L E M O U S E ( 0 ) 0 - 1W E N D' * s w i t c h b a c k t n o r m a l p o i n t e r * *C A L L C l e a r P o i n t e r ( W I N D O W ( 7 ) )P R I N T " C l e a r P o i n t e r 8

' * f r e e m e m o r y a n c l o s e l i b r a r i e s *

C A L L F r e e M e m ( m e m & , p S i z e & )L I B R A R Y C L O S EE N

s a m p l e c u s t o m p o i n t e r d a t a f o l l o w sX P o i n t e r : ' t h r e e - c o l o u r p o i n t e rD A T A 9 , 9 , - 5 , - 4D A T A & H 0 0 0 0 , & H 0 0 0 0D A T A & H C 1 8 0 , & H 4 1 0 0D A T A & H 6 3 8 0 , & H A 2 8 0D A T A & H 3 7 0 0 , & H 5 5 0 0D A T A & H 1 6 0 0 , & H 2 2 0 0D A T A & H 0 0 0 0 , & H 0 0 0 0D A T A & H 1 6 0 0 , & H 2 2 0 0D A T A & H 2 3 0 0 , & H 5 5 0 0D A T A & H 4 1 8 0 , & H A 2 8 0D A T A & H 8 0 8 0 , & H 4 1 0 0D A T A & H 0 0 0 0 , & H 0 0 0 0X P l a i n : ' o n e - c o l o u r ( c o l o u r 0 o n l y )D A T A 9 , 9 , - 5 , - 4D A T A & H 0 0 0 0 , & H 0 0 0 0D A T A & H 8 0 8 0 , & H 0 0 0 0D A T A & H 4 1 0 0 , & H 0 0 0 0D A T A & H 2 2 0 0 , & H 0 0 0 0D A T A & H 1 4 0 0 , & H 0 0 0 0D A T A & H 0 0 0 0 , & H 0 0 0 0D A T A & H 1 4 0 0 , & H 0 0 0 0D A T A & H 2 2 0 0 , & H 0 0 0 0D A T A & H 4 1 0 0 , & H 0 0 0 0D A T A & H 8 0 8 0 , & H 0 0 0 0D A T A & H 0 0 0 0 , & H 0 0 0 0S P o i n t e r : ' t h r e e - c o l o u r s e p a r a t e dD A T A 9 9 , - 5 , - 4D A T A & H 0 0 0 0 , & H 0 0 0 0D A T A & H 0 F C 3 , & H 0 0 0 0D A T A & H 3 F F 3 , & H 0 0 0 0D A T A & H 3 0 C 3 , & H 0 0 0 0D A T A & H 0 0 0 0 , & H 3 C 0 3D A T A & H 0 0 0 0 , & H 3 F C 3D A T A & H 0 0 0 0 , & H 0 3 C 3D A T A & H C 0 3 3 , & H C 0 3 3D A T A & H F F C 0 , & H F F C OD A T A & H 3 F 0 3 , & H 3 F 0 3D A T A & H 0 0 0 0 , & H 0 0 0 0B P o i n t e r : ' t w o - c o l o u r b o ( c o l o u r 0 a n 1 1 D A T A 1 3 , 1 6 , - 8 , - 6D A T A & H 0 0 0 0 , & H 0 0 0 0D A T A & H F F F E , & H F F F ED A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H F F F E , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H C 1 0 6 , & H C 0 0 6D A T A & H F F F E , & H F F F ED A T A & H 0 0 0 0 , & H 0 0 0 0

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 76: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 76/84

F A C T S B E H I N D T H F L A S H E ST h A m i g a S t a r t u p M e s s a g e s

B B e t t y C l a y , A r l i n g t o n , T e x a s

I i n o u n u s u a l f o c o m p u t e r t t r t c o m m u n i c a t e w i t h i t o w n e r B u i s o m e t h i n g i w r o n g w i t h y o u r A m i g a , y o m i g h t s e e :d u r i n g t h s t a r t - u p r o u t i n e s . R e m e m b e r t h f l a s h i n g o t h l i g h t s o t h 4 0 4 0 a n d 8 0 5 0 d i s k d r i v e s ? O m 8 0 5 0 d r i v e , t w f l a s h e s o f t h g r e e nL E D s i n d i c a t e t h a t t h i n g s a r f i n e . M o r e t h a n t w i n d i c a t e a p r o b l e m ,a n i t h e r e w e r e s u c h t h i n g a s l o c a l C o m m o d o r e r e p a i r m a n , h w o u l d b e h e l p e d i h k n e w h o w m a n y t i m e s m d r i v e w a f l a s h i n g t h l i g h t s .

A n o t h e r w a t h e a r l i e r C o m m o d o r e s c o m m u n i c a t e d w i t h u s w a b p r i n t i n g t h n u m b e r o b y t e s f r e e o t h s c r e e n a s t a r t u p . I t h n u m b e r w a w r o n g , w k n e w t h a t s o m e o t h R A h a f a i l e d t oa c c e p t d a t a d u r i n g t h s t a r t u p r o u t i n e , s i n c e t h e c o m p u t e r w o u l da s s u m e t h a t t h e n o B A S I C w a a t h l a s t l o c a t i o n i w h i c h i c o u l dw r i t e a n r e a d b a c k d a t a . I m e m o r y c h i p b e c a m e b a d , t h e n u m b e r o b y t e s f r e e w o u l d b e t h s a m e a t h n u m b e r t w h i c h t h p r o c e s s o r h a s u c c e s s f u l l y w r i t t e n a n r e a d b a c k i t s t a r t u p d a t a .

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

T H A M I G A S T A R T - U P R O U T I N EW h e n y o t u r n o y o u r A m i g a , i h a r a t h e r l o n g a n c o m p l i c a t e d s e o r o u t i n e s t h r o u g h w h i c h i m u s t g b e f o r e i c a a l l o w y o t i n t e r r u p ti t A t h e s t a r t u p p r o c e s s g o e s a l o n g , A m i g a i t r y i n g t l e y o k n o ww h e t h e r a l i w e l l . T h e r e h a b e e n a s m a l l p r o b l e m w i t h t h i s , h o w e v e r

C o m m o d o r e f o r g o t t t e l l u w h a t t h s i g n a l s m e a n !

H e r e i l i s t o t h s t a r t - u p r o u t i n e a c t i v i t i e s :

1 C l e a r a l o t h c h i p s o o l d a t a .2 D i s a b l e D M a n i n t e r r u p t s d u r i n g t h t e s t .3 C l e a r t h e s c r e e n .4 C h e c k t h H a r d w a r e ( m a k e s u r e t h 6 8 0 0 0 i w o r k i n g )5 C h a n g e t h s c r e e n c o l o r t s h o w w h e t h e r t h i s t e s t w a p a s s e d6 D c h e c k s u m t e s t o a l t h R O M S7 C h a n g e s c r e e n c o l o r t s h o w i R O M S p a s s e d t h t e s t8 B e g i n t h s y s t e m s t a r t u p9 C h e c k t h R A a $ C 0 0 0 0 , a n m o v e S Y S B A S E t h e r e

1 0 T e s t a l o t h e c h i p R A 1 1 C h a n g e t h s c r e e n c o l o r t s h o w i t h R A p a s s e d t h t e s t1 2 C h e c k t s e i s o f t w a r e i c o m i n g i O 1 3 C h a n g e t h s c r e e n c o l o r t s h o w i t h s o f t w a r e t e s t i p a s s e d .1 4 S e u t h c h i p r a t r e c e i v e d a t a .1 5 L i n k t h l i b r a r i e s .1 6 C h e c k f o a d d i t i o n a l m e m o r y a n l i n k i i i f o u n d1 7 T u r n t h D M a n I n t e r r u p t s b a c k o n 1 8 S t a r t d e f a u l t t a s k .1 9 C h e c k t s e i t h c o m p u t e r i u s i n g a 6 8 0 1 0 , 6 8 0 2 0 , a n d / o r

6 8 8 8 1 .2 0 C h e c k t s e i t h e r e i a E x c e p t i o n ( p r o c e s s o r e r r o r )2 1 I s o d s y s t e m r e s e t .

A N T H M E S S A G E S A R I T E C H N I C O L O R !A t h i s r o u t i n e i t a k i n g p l a c e , t h A m i g a i s e n d i n g y o u m e s s a g e s w i t ht h s c r e e n c o l o r s . I a l i w e l l , w u s u a l l y s e t h i s s e q u e n c e :

D a r k g r a y T h i n i t i a l h a r d w a r e t e s t e d O K T h 6 8 0 0 0 i r u n n i n g a n t h r e g i s t e r s a r r e a d a b l e

L i g h t g r a y T h s o f t w a r e i c o m i n g i a n s e e m s O W h i t e T h i n i t i a l i z a t i o n t e s t s w e r e a l p a s s e d

R e I t h e r e i a e r r o r i R O G r e e n I t h e r e i a e r r o r i t h C h i p R A B l u e I a e r r o r w a f o u n d i t h c u s t o m c h i p sY e l l o w I t h 6 8 0 0 0 f o u n d a e r r o r b e f o r e t h e e r r o r t r a p p i n g s o f t

w a r e ( t h e g u r u ) w a u p a n d r u n n i n g

T h m o s t l i k e l y o t h e s e e r r o r s s e e m s t b t h e r r o r i C h i p R A M . O n l yt h i s w e e k , s a a A M I G A 5 0 f l a s h b r i l l i a n t g r e e n s c r e e n w h e n a e x p a n s i o n R A b o a r d w a p u i h a s t i l y , a n d i d n o t s e t t l e i n c o r r e c t l y .

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

K E Y B O A R D M E S S A G E ST h A m i g a k e y b o a r d i n o t a s d u l l a o b j e c t a h a o r i g i n a l l y t h o u g h t ,e i t h e r . I c o n t a i n s a p r o c e s s o r o i t o w R o c k w e l l / N C R / M O ST e c h n o l o g y 6 5 0 0 / 1 . I a l s o h a 2 o R O M , 6 b y t e s o R A M , a n f o u rI / p o r t s o e i g h t b i t s e a c h . T h e r e i b u i l t - i n c r y s t a l o s c i l l a t o r r u n n i n ga 3 M h z , a l s o . A l b u t h v e r y e a r l i e s t o f k e y b o a r d s a l s o h a v e" w a t c h d o g t i m e r " w h i c h w i l l r e s e t t h k e y b o a r d ' s p r o c e s s o r i i s t o p ss c a n n i n g t h k e y b o a r d f o m o r e t h a n 5 m i l l i s e c o n d s .

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

T h k e y b o a r d s e l f - t e s t c o n s i s t s o f o u r s t e p s . F i r s t i d o e s c h e c k s u m o a l o t h R O M s . T h e n i c h e c k s t h 6 b y t e s o R A M , a n t h e n t h e t i m e ri t e s t e d . T h e n t h k e y b o a r d m u s t a c h i e v e p r o p e r s y n c h r o n i z a t i o n w i t ht h c o m p u t e r . I d o e s t h i s b s l o w l y c l o c k i n g o u b i t s u n t i l i r e c e i v e sh a n d s h a k e p u l s e f r o m t h c o m p u t e r . O n c e t h i s p u l s e i r e c e i v e d , t h ek e y b o a r d m u s t i n f o r m t h c o m p u t e r o t h r e s u l t s o f i t s e l f - t e s t . S h o u l dt h s e l f - t e s t f a i l , t h c o d e f o f a i l u r e c a n b e s e n t t t h c o m p u t e r w i t h o u tw a i t i n g f o t h h a n d s h a k e p u l s e .

I C A S E O F F A I L U R E

A f t e r i n f o r m i n g t h c o m p u t e r t h a t t h s e l f - t e s t h a f a i l e d , t h k e y b o a r dw i l l t h e n t r y t o n o t i f y t h u s e r t h a t i i i n t r o u b l e . T h i s i d o n e b b l i n k i n g t h C A P S - L O C K l i g h t . H e r e i t h c o d e :

O n b l i n k T h k e y b o a r d R O c h e c k f a i l e dT w b l i n k s T h k e y b o a r d R A c h e c k f a i l e dT h r e e b l i n k s T h w a t c h d o g t i m e r t e s t f a i l e dF o u r b l i n k s s h o r t e x i s t s b e t w e e n t w r o l i n e s o o n o t h s e v e n

s p e c i a l c o n t r o l k e y s

T h l a s t c h e c k h a n o b e e n i m p l e m e n t e d a t h t i m e m R O K e r n a lM a n u a l w a p r i n t e d , b u w a i t h p l a n s . I w o u l d b e u n u s u a l f o t h u s e r t h a v e t y p e d a n y t h i n g d u r i n g t h i s s e l f - c h e c k t i m e , b u i a n k e y sh a v e b e e n d e p r e s s e d , t h e c o d e s f o t h o s e k e y s w o u l d t h e n b s e n t t t h c o m p u t e r , a " t e r m i n a t e k e s t r e a m " c o d e w o u l d b s e n t , a n t h e nt h C A P S L O C K L E s h u t o f f , i n d i c a t i n g t h e n o t h k e y b o a r ds t a r t u p s e q u e n c e .

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

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 77: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 77/84

N e w s B R S u b m i t t i n g N E W S B R P r e s s R e l e a s e sI y o h a v e p r e s s r e l e a s e y o u w o u l d l i k e t s u b m i t f o t h N E W S B R c o l u m n ,m a k e s u r e t h a t t h e c o m p u t e r o r d e v i c e f o w h i c h t h p r o d u c t i i n t e n d e d i p r o m i n e n t l y n o t e d . W r e c e i v e h u n d r e d s o p r e s s r e l e a s e s f o e a c h i s s u e , a n o n e sw h o s e i n t e n d e d r e a d e r s h i p i n o c l e a r m u s t u n f o r t u n a t e l y g s t r a i g h t t t h t r a s hb i n . I s h o u l d a l s o b e m e n t i o n e d h e r e t h a t w o n l y p r i n t p r o d u c t r e l e a s e s w h i c h a r i s o m e w a a p p l i c a b l e t C o m m o d o r e e q u i p m e n t . N e w s o e v e n t s s u c h a c o m p u t e r s h o w s s h o u l d b r e c e i v e d a t l e a s t m o n t h s i a d v a n c e .

T r a n s a c t o r N e w sN e E d i t o r i a l A s s i s t a n t M e n d s O u r W a y sT h e r e ' s j u s t b e e n a i m p o r t a n t a d d i t i o n t t h s t a f f a T h T r a n s a c t o r , a n t h a tm e a n s g o o d n e w s f o a u t h o r s a n d a n y o n e e l s e s e n d i n g m a i l t o u e d i t o r i a ld e p a r t m e n t . M o y a D r u m m o n d o u h e e d i t o r i a l a s s i s t a n t i o t h j o n o w , a n s h e ' s c o r r e c t i n g s o m e o o u b a h a b i t s , m o s t l y i t h e a r e a o r e s p o n d i n g t o m a i l . I y o s e n t u a a r t i c l e r e c e n t l y , c h a n c e s a r y o u ' v e e i t h e r h e a r d f r o m M o y a o w i l lb h e a r i n g f r o m h e r s o o n , j u s t t l e y o k n o w w r e c e i v e d i t Y o w i l l a l s o f i n d o u t h f a t e o f t h e a r t i c l e o n c e w d e c i d e , w h i c h m e a n s y o u ' l l k n o w i w p l a n t u s i b e f o r e y o s e i i p r i n t c o r r e c t i n g a n o t h e r n a s t y h a b i t t h a t w e ' r e h a p p y t l o s e .M o y a i d o i n g w o n d e r s f o o r g a n i z a t i o n a r o u n d h e r e , a n i y o u h a v e q u e s t i o n sa b o u t a n y t h i n g y o u ' v e s e n t t t h e d i t o r i a l d e p a r t m e n t , c h a n c e s a r s h e ' l l b a b l e t h e l p y o o u t . Q u e s t i o n s a b o u t a d v e r t i s i n g i t h T r a n s a c t o r s h o u l d a l s o b d i r e c t e dt M o y a ( l i k e e v e r y o n e a t h T . M o y a w e a r s m a n y . h a t s ) . W t h a n k y o f o b e a r i n gw i t h u s i t h p a s t , a n i y o u ' v e t r i e d t o c o m m u n i c a t e w i t h u o s o m e t h i n g b u g i v e n u p p l e a s e g i v e u s a n o t h e r c h a n c e !A v o i d D u t y a n d F e d e r a l T a x e s o n Q u i c k B r o w n B o x e sW e ' v e r e c e n t l y m a d e a r r a n g e m e n t s t s u p p l y Q u i c k B r o w n B o x b a t t e r y b a c k e dR A c a r t r i d g e s v i T r a n s a c t o r m a i l o r d e r . I n C a n a d a t h p r i c e s a r i d e n t i c a l t t h U p r i c e p l u s t h e x c h a n g e - n d u t y o r 1 2 F S T ! O n t a r i o r e s i d e n t s m u s t s t i l l a d

p r o v i n c i a l s a l e s t a x t h o u g h .T h Q u i c k B r o w n B o x i a p r o v e n p r o d u c t t h a t w e ' r e r a t h e r p l e a s e d t m a k ea v a i l a b l e . F o m o r e d e t a i l s s e t h e M a i l O r d e r s e c t i o n o N e w s B R K . F o m o r ei n f o r m a t i o n t h a n t h a t , c a l l B r o w n B o x e s I n c . a t ( 6 1 7 ) 2 7 5 - 0 0 9 0 .C o m b i n a t i o n M a g a z i n e S u b s c r i p t i o n sI c a s e y o h a v e n ' t h e a r d , t h e p r e m i e r e i s s u e o T r a n s a c t o r f o t h A m i g a w i l l b r e l e a s e d t h i s J a n u a r y . S u b s c r i p t i o n p r i c e s a r e i d e n t i c a l t o t h T r a n s a c t o r C l a s s i c ( a si t ' s b e c o m e k n o w n a r o u n d t h o f f i c e ) . D e p e n d i n g o w h e n t h i s i s s u e h i t s t h t r e e t s , y o m a s t i l l h a v e t i m e t s u b s c r i b e a H A L F t h e r e g u l a r p r i c e . O f f e r e n d s

1 s t , 1 9 8 8 . ( S o r r y , b u H e r m a n i n s i s t s ) .D i s k s u b s c r i p t i o n s f o t h A m i g a m a g a z i n e w i l l b r e g u l a r p r i c e a f t e r J a n u a r y 1 s t , o o . W e ' d l i k e t p o i n t o u t , h o w e v e r , t h a t t h e r e a r e s t i l l c o u p l e o w a y s t s a v e . i t h c o m b i n a t i o n s u b s c r i p t i o n s t T r a n s a c t o r C l a s s i c a n t h 5 V 4 B d i s k s w o f f e r h o i c e o f f r e e m e r c h a n d i s e , b u n p r i c e b r e a k . W i t h c o m b i n a t i o n s u b s c r i p t i o n s t / A a n d t h T / D i s k , w o f f e r p r i c e r e d u c t i o n o t h t o t a l , b u n m e r c h a n d i s e e l e c t i o n . Y o c a a l s o g e t a c o m b i n a t i o n b r e a k o s u b s c r i p t i o n t b o t h a g a z i n e s . W e ' r e n o o f f e r i n g " c r o s s - c o m b i n a t i o n " p r i c e b r e a k s t h a t w o u l d m a k e h i n g s t o c o m p l i c a t e d ( e . g . T / w i t h C l a s s i c D i s k s , o C l a s s i c w i t h T / D i s k s ) . u t , i y o o r d e r s u b s c r i p t i o n s t b o t h m a g s A N b o t h d i s k s , y o n o o n l y g e r e a k o t h t o t a l , b u y o u ' r e a l s o e n t i t l e d t F R E E T - S h i r t o a n o t h e r i t e m o h l i s t a t h t o p . C h e c k o u t t h e o r d e r c a r d a c e n t e r .y o u ' r e a l r e a d y s u b s c r i b i n g t T r a n s a c t o r C l a s s i c , w e ' r e a l l o w i n g t h a d d i t i o n o T s u b s c r i p t i o n i t e m s f o t h d i f f e r e n c e i n p r i c e . S i y o u ' r e i t h U . S . a n y o u ' r e

C l a s s i c , t h c o m b o p r i c e w o u l d b e $ 2 7 . 0 0 , m i n u s $ 1 5 . 0 0 , e q u a l s $ 1 2 . 0 0o a d d i n g a s u t T r a n s a c t o r f o t h A m i g a . S a m e a p p l i e s t o a l c o m b o s f o " B o t h

T / A " ( s e e c a r d ) .S w i t c h

t h T r a n s a c t o r f o t h A m i g a c o m i n g t h i s J a n u a r y , m a n y o o u r e a d e r s w i l lt s w i t c h t t h n e w m a g f o t h h i g h e r c o n c e n t r a t i o n o A m i g a m a t e r i a l . T

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

e d o n ' t o m i t y o u r n a m e a t h i s g i v e s u c r o s s - r e f e r e n c e t e n s u r e w c h a n g eh c o r r e c t s u b s c r i b e r r e c o r d .

O r i g i n a l l y w p l a n n e d t i m p o s e a F e b r u a r y d e a d l i n e f o s w i t c h i n g s u b s c r i p t i o n s .T h e n w c o n s i d e r e d t h s i t u a t i o n w h e r e r e a d e r m i g h t n o g e a A m i g a u n t i lM a r c h a n d i s a l l o w i n g t h e t r a n s f e r w o u l d b u n f a i r . O f f i c i a l l y , t h e r e f o r e , t h s u b s c r i p t i o n s w i t c h i n g o p t i o n w i l l n e v e r b d i s c o n t i n u e d .P r o b l e m s K e e p L i f e I n t e r e s t i n gT h e r e ' s f i r s t t i m e f o e v e r y t h i n g a n l a s t i s s u e w a o u f i r s t t b s h i p p e d i p o l yb a g s . O n r e a s o n f o t h b a g s w a t p r o t e c t t h m a g a z i n e a g a i n s t t h h a z a r d s o d o o r - t o - d o o r d e l i v e r y . A n o t h e r w a t k e e p t h m a i l i n g l a b e l o f [ h c o v e r . T h f i r s tr e a s o n p a n n e d o u t r a t h e r w e l l , b u t t h e s e c o n d d i d n ' t . O o o p s . P l e a s e a c c e p t o u a p o l o g i e s t h l a b e l s w i l l b g l u e d t t h o u t s i d e o t h b a g f r o m n o o n W h e n w l o o k e d i n t o t h p o l y b a i d e a , w j u s t a s s u m e d w w o u l d b e p r i n t i n g t h l a b e l s o p a p e r , a w h a a l w a y s d o n e . T h e n w m a d e m i d - s t r e a m m o d i f i c a t i o na n d e c i d e d t o p r i n t t h l a b e l s o s t i c k y - b a c k s t m a k e i e a s i e r t c o m p l e t e o u rb u s i n e s s r e p l y c a r d f o t h i n g s l i k e o r d e r s a n r e n e w a l s . P l e a s e d o n ' t t h r o w t h i sa w a y w h e n y o g e y o u r c o p y . E v e n i y o h a v e n i n t e n t i o n o f s e n d i n g u s t h o r d e r f o r m i t h i s i s s u e , t h r e p l y c a r d m a k e s t i d y s p o t f o t h l a b e l . I m e a n s y o u rm a g a z i n e w i l l c a r r y y o u r I i c a s e y o l e n d i o u t , a n i y o s h o u l d m o v e , y o u rc h a n g e o a d d r e s s n o t i c e i a l r e a d y h a l f c o m p l e t e d j u s t a d y o u r n e a d d r e s s a n p o i i t h m a i l . I t ' s a l s o g o o d p l a c e t k e e p a r e c o r d o y o u r s u b s c r i p t i o nn u m b e r a n e x p i r y d a t e , a l o w h i c h w i l l b l o s t i f i t m a k e s i t t h t r a s h b i n .E a r l y R e n e w a l N o t i c e sW a l s o h a r e p o r t t h a t s u b s c r i b e r s ' f i r s t c o p y a r r i v e d c o n t a i n i n g a r e n e w a ln o t i c e . S f a t h e r e ' s o n l y b e e n o n e c a s e r e p o r t e d s i c o u l d h a v e b e e n f l u k e .H o w e v e r , i i e v e r h a p p e n s a g a i n , e v e n t h o u g h i w o n ' t ( f i n g e r s c r o s s e d ) , a l w a y sc h e c k t h e t o p r i g h t c o r n e r o t h e m a i l i n g l a b e l f o t h o f f i c i a l e x p i r y i s s u e . T h d a t ap r i n t e d t h e r e i e x t r a c t e d d i r e c t l y f r o m t w o f i e l d s i o u d a t a b a s e . T h e s a m e t w f i e l d s a r u s e d b y o u " e x p i r y a l g o r i t h m " t d e t e r m i n e w h e n s u b s c r i p t i o n g e t sd i s c o n t i n u e d . s e p a r a t e p r o g r a m d e t e r m i n e s w h s h o u l d b s e n t r e n e w a l n o t i c e .B u i t h i s c a s e , n e i t h e r w a r e s p o n s i b l e i f a c t , o u p o l y b a g g i n g s e r v i c e h a a s k e d t h a t w p l a c e t h e b l a m e o h i m , b u w d o n ' t l i k e d o i n g t h a t .T w S e p a r a t e S u b s M a N o I n c l u d e d W i t h D i s k .O u l a s t i s s u e d e t a i l e d t w i n c r e d i b l e o f f e r s r e g a r d i n g t h n e T r a n s a c t o r f o t h A m i g a . A f t e r t h e s e n t e n c e t h a t l i s t e d t h p r i c e s f o d i s k s u b s c r i p t i o n t h e r e w a s e n t e n c e t h a t r e a d , " Y o u ' l l g e d i s k w i t h e v e r y m a g a z i n e c o n t a i n i n g a l t h p r o g r a m s . . . " . T h i s h a s b e e n m i s i n t e r p r e t e d b s o m e a m e a n i n g t h p r i c e o fd i s k s u b s c r i p t i o n i n c l u d e s m a g a z i n e s u b s c r i p t i o n . W t h o u g h t w m a d e i c l e a rt h a t m a g a z i n e a n d i s k s u b s c r i p t i o n s c a r r i e d s e p a r a t e p r i c e s , b u a p p a r e n t l y n o t .W e ' v e b e e n s e l l i n g d i s k a n m a s u b s s e p a r a t e l y f o s l o n g t h a t w d i d n ' ta n t i c i p a t e t h p o t e n t i a l f o a s s u m i n g o n e w o u l d b e i n c l u d e d w i t h t h o t h e r . O u a p o l o g i e s . P e r h a p s t h a t s e n t e n c e s h o u l d h a v e r e a d , " M a g a z i n e s u b s c r i b e r s w h a l s o b e c o m e d i s k s u b s c r i b e r s w i l l r e c e i v e d i s k o t h A m i g a p r o g r a m s p u b l i s h e di t h c o r r e s p o n d i n g m a g a z i n e , a n w e ' l l p r o b a b l y a d e x t r a p r o g r a m s t o o . " .H a l f P r i c e F o O n Y e a r O n l yS e v e r a l o t h e s u b s c r i p t i o n c a r d s w r e c e i v e d d u r i n g o u r h a l f p r i c e o f f e r o n T / Aa r r i v e d w i t h t w o a n d t h r e e y e a r o r d e r s . H o w e v e r , t h o f f e r w a n e v e r m e a n t t c o v e r m u l t i p l e y e a r s u b s c r i p t i o n s . S o m e o o u c o l l e a g u e s i n s i s t w e ' v e g o n e m a m a k i n g t h o f f e r f o r e v e n o n e y e a r ! W w i l l a p p l y a l y o u r c a s h t s u b s c r i p t i o nm a g a z i n e s , b u t h o s e w h o r d e r e d t w y e a r s a h a l f p r i c e w i l l r e c e i v e I V 2 , a n t h o s e w h o r d e r e d t h r e e y e a r s w i l l g e t w o . A n d , w a l s o a p o l o g i z e f o o v e r l o o k i n gt h i s p o s s i b l e a s s u m p t i o n .O f f i c e A c c e s sS i n c e t h e a n n o u n c e m e n t o T r a n s a c t o r f o t h A m i g a , o u p h o n e s a r c h i m i n g o f t h p r e s s u r e s e n s o r s ! T k e e p o u p r o d u c t i o n a n s e r v i c e o p e r a t i o n s f u n c t i o n a l ,w e ' v e d e c i d e d t l i m i t c a l l s t o M o n d a y s , W e d n e s d a y s a n F r i d a y s . S i y o u h a v e a no r d e r o r s u b s c r i p t i o n p r o b l e m , p l e a s e t r y t o h a v e i o o n o t h e s e d a y s . O n c e w h a v e s o m e w r i n k l e s i r o n e d o u a n t h i n g s r e t u r n t n i c e , t a m e c h a o s a r o u n d t h o f f i c e , w h o p e t l i f t o u o f f i c e a c c e s s l i m i t a t i o n .T h 2 0 / 2 0 D e a l. . i s s t i l l i e f f e c t o r d e r 2 s u b s c r i p t i o n s t t h m a o d i s k ( e i t h e r C l a s s i c O T A ) 2 b a c k i s s u e s , 2 d i s k s , e t c . , a n g e 2 0 d i s c o u n t . ( O f f e r a p p l i e s t r e g u l a rp r i c e s a n c a n n o t b e c o m b i n e d w i t h o t h e r s p e c i a l s )

N L o n g e r A v a i l a b l eO u 1 5 4 1 U p g r a d e R O K i t , w h i c h e l i m i n a t e s t h S A V E ® b u p l u s f e o t h e r s , i n o d i s c o n t i n u e d . I y o w o u l d s t i l l l i k e t o b t a i n s e t , c o m p l e t e i n s t r u c t i o n s a r i a

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 78: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 78/84

Page 79: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 79/84

T h A m i g a D i s k , $ 1 2 . 9 5 U S $ 1 4 . 9 5 C d n .F i n a l l y , t h f i r s t T r a n s a c t o r A m i g a d i s k i a v a i l a b l e . I c o n t a i n s a l o t h A m i g ap r o g r a m s p r e s e n t e d i t h m a g a z i n e , o c o u r s e , i n c l u d i n g s o u r c e c o d e a n d o c u m e n t a t i o n . Y o w i l l f i n d t h p o p u l a r " P o p C o l o u r s " p r o g r a m , t h p r o g r a mm e r ' s c o m p a n i o n " S t r u c t u r e B r o w s e r " , t h e G u r u - k i l l i n g " T r a p S n a p p e r " , u s e r -f r i e n d l y " P o p T o F r o n t " , a n o t h e r s . I a d d i t i o n , w h a v e i n c l u d e d p u b l i c d o m a i np r o g r a m s a g a i n , w i t h d o c u m e n t a t i o n t h a t w t h i n k T r a n s a c t o r r e a d e r s w i l l f i n du s e f u l . A m o n g t h e s e a r e t h e i n d i s p e n s a b l e A R C ; C s h , a p o w e r f u l C L I - r e p l a c e m e n tD O s h e l l ; B L i n k , l i n k e r t h a t i m u c h f a s t e r a n h a m o r e f e a t u r e s t h a n t h s t a n d a r d A L i n k ; F o x y a n d L y n x , a 6 5 0 2 c r o s s a s s e m b l e r a n l i n k e r t h a t m a k e s i t d e b u t o t h A m i g a D i s k ; a n d a n e x c e l l e n t s h a r e w a r e t e x t e d i t o r c a l l e d U E d i t . I a d d i t i o n , w h a v e i n c l u d e d o u o w e x p r e s s i o n - e v a l u a t o r c a l c u l a t o r t h a t u s e sv a r i a b l e s a n d w o r k s i a n n u m b e r b a s e . A l p r o g r a m s c o n t a i n s o u r c e c o d e a n d o c u m e n t a t i o n ; a l c a b r u n f r o m t h C L I , a n s o m e f r o m W o r k b e n c h . T h e r e ' ss o m e t h i n g f o e v e r y o n e o t h e T r a n s a c t o r A m i g a d i s k .

T r a n s a c t o r T - S h i r t s , $ 1 3 . 9 5 U S , $ 1 5 . 9 5 C d n .J u m b o T - S h i r t , $ 1 7 . 9 5 U S $ 1 9 . 9 5 C d n .

A m e n t i o n e d e a r l i e r , t h e y c o m e i S m a l l , M e d i u m , L a r g e , E x t r a L a r g e , a n J u m b o . T h J u m b o m a k e s g o o d n i g h t - s h i r t / b e a c h - t o p i t ' s B I G . I ' f o o t t a l l ,a n w e i g h i n a t a s l i m 1 5 p o u n d s t h S m a l l f i t s m t i g h t , b u t h a t ' s h o l i k et h e m . I y o d o n ' t , w s u g g e s t y o o r d e r t h e m s i z e o v e r w h a t y o u u s u a l l y b u y .O n o t h f r e e g i f t c h o i c e s w o f f e r w h e n y o o r d e r c o m b i n a t i o n m a g a z i n e A N d i s k s u b s c r i p t i o n i T r a n s a c t o r T - S h i r t i n t h s i z e a n c o l o u r o y o u r c h o i c e ( s o r r y , u m b o e x c l u d e d ) . T h s h i r t s c o m e i r e o l i g h t b l u e w i t h 3 - c o l o u r s c r e e n o t h

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

I n n e r S p a c e A n t h o l o g y $ 1 4 . 9 5 U S $ 1 7 . 9 5 C d n .T h i s i o u e v e r p o p u l a r C o m p l e t e C o m m o d o r e I n n e r S p a c e A n t h o l o g y . E v e n a f t e rt w y e a r s , w s t i l l g e i n q u i r i e s a b o u t i t c o n t e n t s . B r i e f l y , T h A n t h o l o g y i r e f e r e n c e b o o k i h a n " r e a d i n g " m a t e r i a l ( i e . " p a r a g r a p h s " ) . I 1 2 c o m p a c tp a g e s , t h e r e a r e m e m o r y m a p s f o C B c o m p u t e r s , 3 D i s k D r i v e s , a n m a p s o C O M A L ; s u m m a r i e s o B A S I C c o m m a n d s , A s s e m b l e r a n M L c o m m a n d s , a n W o r d p r o c e s s o r a n S p r e a d s h e e t c o m m a n d s . M a c h i n e L a n g u a g e c o d e s a n m o d e sa r s u m m a r i z e d , a w e l l a s e n t r y p o i n t s t R O r o u t i n e s . T h e r e a r s e c t i o n s o M u s i c , G r a p h i c s , N e t w o r k a n d B B p h o n e n u m b e r s , C o m p u t e r C l u b s , H a r d w a r e ,u n i t - t o - u n i t c o n v e r s i o n s , p l u s m u c h m o r e . . . a b o u t 2 . 5 m i l l i o n c h a r a c t e r s t o t a l !

T h T r a n s a c t o r B o o k o B i t s a n P i e c e s # 1 , $ 1 4 . 9 5 U S $ 1 7 . 9 5 C d n .N o c o u n t i n g t h T a b l e o C o n t e n t s , t h e I n d e x , a n t i t l e p a g e s , i t ' s 2 4 p a g e s o B i t sa n P i e c e s f r o m i s s u e s o T r a n s a c t o r , V o l u m e s 4 t h r o u g h 6 E v e n i y o h a v e a l t h o s e i s s u e s , i m a k e s h a n d y r e f e r e n c e n m o r e f l i p p i n g t h r o u g h m a g a z i n e s f o t h a t o n b i t h a t y o j u s t k n o w i s o m e w h e r e . . . A l s o , e a c h i t e m i f o r w a r d / r e v e r s er e f e r e n c e d . O c c a s i o n a l l y t h i t e m s i t h B i t s c o l u m n a p p e a r e d a u p d a t e s t r e v i o u s b i t s . B i t s t h a t w e r e s i m i l a r i n n a t u r e a r e a l s o c r o s s - r e f e r e n c e d . A n t h i n d e x m a k e s i e v e n e a s i e r t f i n d t h o s e q u i c k f a c t s t h a t e l i m i n a t e l o o w h e e l r i n v e n t i n g .

T h B i t s a n P i e c e s D i s k , $ 8 . 9 5 U S , 9 . 9 5 C d n .B i t s B o o k A N D i s k , $ 1 9 . 9 5 U S , 2 4 . 9 5 C d n .

T h i s d i s k c o n t a i n s a l o t h p r o g r a m s f r o m t h T r a n s a c t o r b o o k o B i t s a n P i e c e s( t h e " b i t s b o o k " ) , w h i c h i t u r n c o m e f r o m t h " B i t s a n P i e c e s " s e c t i o n o f p a s ti s s u e s o f t h m a g a z i n e . T h " b i t s d i s k " c a s a v e y o l o o f t y p i n g , a n i c o n j u n c t i o n w i t h t h b i t s b o o k a n i t c o m p r e h e n s i v e i n d e x c a y i e l d q u i c ks o l u t i o n t m a n y p r o g r a m m i n g p r o b l e m .

T h G - L I N K I n t e r f a c e , $ 5 9 . 9 5 U S , 6 9 . 9 5 C d n .h G l i n k i C o m m o d o r e 6 t I E E E i n t e r f a c e . I a l l o w s t h e 6 t u s I E E E

p e r i p h e r a l s s u c h a s t h e 4 0 4 0 , 8 0 5 0 , 9 0 9 0 , 9 0 6 0 , 2 0 3 1 , a n d S F D - 1 0 0 1 d i s k d r i v e s ,o a n y I E E E p r i n t e r , m o d e m , o e v e n s o m e H e w l e t t - P a c k a r d a n T e k t r o n i c se q u i p m e n t l i k e o s c i l l o s c o p e s a n s p e c t r u m a n a l y z e r s . T h b e a u t y o t h G l i n k i i t " t r a n s p a r e n c y " t t h C 6 o p e r a t i n g s y s t e m . S o m e I E E E i n t e r f a c e s f o t h 6 4 a d dB A S I C 4 . c o m m a n d s a n o t h e r t h i n g s t t h s y s t e m t h a t s o m e t i m e s i n t e r f e r e w i t hu t i l i t i e s y o m i g h t l i k e t i n s t a l l . T h G l i n k a d d s n o t h i n g ! I f a c t i t ' s s o t r a n s p a r e n tt h a t s w i t c h i u s e d t t o g g l e b e t w e e n s e r i a l a n d I E E E m o d e s , n o l i n k e d - i nc o m m a n d l i k e s o m e o t h o t h e r s . S w i t c h i n g f r o m o n b u t t h o t h e r i a l s op o s s i b l e w i t h a s m a l l s o f t w a r e r o u t i n e a s d e s c r i b e d i t h d o c u m e n t a t i o n .

o T r a n s a c t o r D i s k # 1 9 , m o d i f i e d v e r s i o n o J i B u t t e r f i e l d ' s " C O P Y - A L L " w i l lo e v e r y d i s k . I a l l o w s f i l e c o p y i n g f r o m s e r i a l t o I E E E d r i v e s , o v i c e v e r s a .

T h M i c r o S l e u t h : C 6 4 / 1 5 4 1 T e s t C a r t r i d g e , $ 9 9 . 9 5 U S $ 1 2 9 . 9 5 C d n .W n e v e r e x p e c t e d t h i s c a r t r i d g e , d e s i g n e d b B r i a n S t e e l e ( s e r v i c e t e c h n i c i a n f o s e v e r a l s c h o o l s i s o u t h e r n O n t a r i o ) , w o u l d t u r n o u t t b s p o p u l a r . T h M i c r oS l e u t h w i l l t e s t t h R A o C 6 e v e n i t h m a c h i n e i t o s i c k t r u a p r o g r a m !T h c a r t r i d g e t a k e s c o m p l e t e c o n t r o l o t h m a c h i n e . I t e s t s a l R A i o n m o d e ,a l R O i a n o t h e r m o d e , a n d p u t s u m e n u w i t h t h e f o l l o w i n g c h o i c e s :

1 C h e c k d r i v e s p e e d2 C h e c k d r i v e a l i g n m e n t3 1 5 4 1 S e r i a l t e s t4 C 6 s e r i a l t e s t

5 ) J o y s t i c k p o r t t e s t6 J o y s t i c k p o r t t e s t7 C a s s e t t e p o r t t e s t8 U s e r p o r t t e s t

s e c o n d b o a r d ( i n c l u d e d ) p l u g s o n t o t h U s e r P o r t ; i c o n t a i n s L E D s t h a t l e y o z e r o i o t h f a u l t y c h i p . C o m p l e t e w i t h m a n u a l .

T r a n s a c t o r D i s k s , T r a n s a c t o r B a c k I s s u e s , a n M i c r o f i c h eA l T r a n s a c t o r s s i n c e V o l u m e I s s u e 0 1 a r e n o a v a i l a b l e o m i c r o f i c h e .A c c o r d i n g t C o m p u t r e x , o u f i c h e m a n u f a c t u r e r , t h e s t r i p s a r e t h e " p o p u l a r 9 p a g e s i z e " , s t h e y s h o u l d b c o m p a t i b l e w i t h e v e r y f i c h e r e a d e r . S o m e i s s u e s a r O N L Y a v a i l a b l e o m i c r o f i c h e t h e s e a r m a r k e d " M o n l y " . T h o t h e r i s s u e s a r a v a i l a b l e i b o t h p a p e r a n f i c h e . D o n ' t c h e c k b o t h b o x e s f o t h e s e u n l e s s y o w a n t b o t h t h p a p e r v e r s i o n A N t h e m i c r o f i c h e s l i c e f o r t h s a m e i s s u e .T o k e e p t h i n g s s i m p l e , t h e p r i c e o f T r a n s a c t o r M i c r o f i c h e i t h s a m e a m a g a z i n e s ,b o t h f o s i n g l e c o p i e s a n s u b s c r i p t i o n s , w i t h o n e x c e p t i o n : a c o m p l e t e s e t o f 2 ( V o l u m e s 4 , 5 , 6 , a n 7 ) w i l l c o s t j u s t $ 4 9 . 9 5 U S $ 5 9 . 9 5 C d n .T h i s l i s t a l s o s h o w s t h " t h e m e s " o e a c h i s s u e . T h e m e i s s u e s d i d n ' t s t a r t u n t i lV o l u m e 5 I s s u e 0 1 T r a n s a c t o r D i s k # 1 c o n t a i n s a l p r o g r a m s f r o m V o l u m e 4 a n D i s k # c o n t a i n s a l p r o g r a m s f r o m V o l u m e 5 I s s u e s 1 - 3 . A f t e r w a r d s t h e r e i s e p a r a t e d i s k f o e a c h i s s u e . D i s k f r o m T h L a n g u a g e s I s s u e c o n t a i n s C O M A L0 . 1 4 , s o f t - l o a d e d , s l i g h t l y s c a l e d - d o w n v e r s i o n o t h C O M A L 2 . c a r t r i d g e . A n V o l u m e 6 I s s u e 0 l i s t s t h d i r e c t o r i e s f o T r a n s a c t o r D i s k s t 9

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

I n d u s t r y N e w sP a r e n t s L e g a l l y R e s p o n s i b l e f o T e e n a g e P i r a t e s ?N e Y o r k - C a n p a r e n t s b h e l d l e g a l l y r e s p o n s i b l e f o a c t s o f s o f t w a r e p i r a c y b y t h e i r t e e n a g e c h i l d r e n ? J o n a t h a n D W a l l a c e , a c o m p u t e r l a w y e r r e p r e s e n t i n g t h ep l a i n t i f f i W e a v e r v D o e , a c a s e p e n d i n g i n f e d e r a l c o u r t i N e Y o r k , b e l i e v e st h e y c a n .W e a v e r , t h p l a i n t i f f , o w n s t h c o p y r i g h t o " C a r d s " , c o m m e r c i a l l y d i s t r i b u t e dc a r d - p l a y i n g s i m u l a t i o n f o t h A t a r i S T . T h t e e n a g e d e f e n d a n t a l l e g e d l y o p e r a t e d

p i r a t e b u l l e t i n b o a r d s y s t e m f r o m w h i c h u s e r s c o u l d d o w n l o a d " C a r d s " a n o t h e r

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 80: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 80/84

c o p y r i g h t e d p r o g r a m s . A l t h o u g h s o f t w a r e c o m p a n i e s h a v e s u e d s o f t w a r e p i r a t e sb e f o r e , t h i s i t h f i r s t c a s e o w h i c h W a l l a c e i a w a r e i w h i c h t h p i r a t e ' s p a r e n t sh a v e a l s o b e e n s u e d . W a l l a c e b e l i e v e s t h c a s e r a i s e s q u e s t i o n o f i r s t i m p r e s s i o nu n d e r t h c o p y r i g h t l a w . " O u r a r g u m e n t i t h a t p a r e n t w h s u p p l i e s t h c o m p u t e re q u i p m e n t a n d t e l e p h o n e l i n e w h i c h i u s e d t o p e r a t e p i r a t e b u l l e t i n b o a r d , a n w h t h e n t o l e r a t e s t h t r a d i n g o p i r a t e d s o f t w a r e , c o n t r i b u t e s t t h c o p y r i g h ti n f r i n g e m e n t " , W a l l a c e s a i d . " S i n c e t e e n a g e r s u s u a l l y h a v e n o a s s e t s w i t h w h i c h t p a a j u d g m e n t , h o l d i n g t h e p a r e n t s r e s p o n s i b l e w i l l g i v e s t r o n g i n c e n t i v e t f a m i l i e s n o t c o n d o n e t h i s t y p e o b e h a v i o u r . "F o f u r t h e r i n f o r m a t i o n c o n t a c t : J o n a t h a n D . W a l l a c e , M e a t t o , R u s s o , B u r k eW a l l a c e , 7 4 3 r A v e n u e , N e Y o r k , N Y 1 0 0 1 7 , t e l e p h o n e ( 2 1 2 ) 7 5 9 - 0 5 2 3T h 6 E m u l a t o r f o A m i g aL a s t i s s u e t h p h o n e n u m b e r f o R e a d y S o f t w a i n c o r r e c t a s p u b l i s h e d . F o m o r ei n f o r m a t i o n a b o u t t h 6 E m u l a t o r c o n t a c t : R e a d y S o f t I n c . , P . O . B o 1 2 2 2 ,L e w i s t o n , N Y , 1 4 0 9 2 , ( 4 1 6 ) 7 3 1 - 4 1 7 5 . P l e a s e n o t e , t h p h o n e n u m b e r i f o R e a d y S o f t ' s h e a d q u a r t e r s i R i c h m o n d H i l l , O n t a r i o . O u a p o l o g i e s f o a n i n c o n v e n i e n c e .

T H A C C O U N T A N T v 2 . 0 f o C 1 2 8T H E A C C O U N T A N T i 4 - p a r t , m e n u - d r i v e n a c c o u n t i n g p r o g r a m . A c c o u n t sP a y a b l e a n R e c e i v a b l e , P a y r o l l a n G e n e r a l L e d g e r a r o n s i n g l e d i s k . A l t h o u g hn l o n g e r a b l e t r u o t h 1 5 4 1 d i s k d r i v e , i h a v e r s i o n s r e a d y t r u o t h 1 5 7 1 a n t h n e 1 5 8 1 d i s k d r i v e s .N e f e a t u r e s i n c l u d e a D i s k F i l e t h a t w i l l " r e b u i l d " m o s t c o r r u p t e d f i l e s ; r e w r i t t e nP a y r o l l s e c t i o n f o 1 0 e m p l o y e e s ; i n d i v i d u a l i z e d S t a t e W i t h h o l d i n g T a R a t e s ; a n

t h i r d p e r c e n t a g e r e d u c t i o n . C o m p l e t e d e t a i l s o a l d e d u c t i o n s a r m a i n t a i n e d o m o n t h l y , q u a r t e r l y a n a n n u a l b a s i s . T h p r o g r a m p r o d u c e s o v e r 2 C P s t y l er e p o r t s o e v e r y a s p e c t o b u s i n e s s .T H E A C C O U N T A N T w i l l b t h e f o r e r u n n e r o n e a c c o u n t i n g s y s t e m f r o m K F f o t h A m i g a 5 0 a n 2 0 0 0 , s c h e d u l e d f o r e l e a s e J a n u a r y 1 s t .K F S o f t w a r e I n c . , P . O . B O 1 0 7 , 1 3 0 1 S e m i n o l e B l v d . S u i t e 1 1 7 , L a r g o . F 3 4 6 4 9 -0 1 0 7 , U S A .

N e U t i l i t y P r o g r a m F o t h 1 5 8 1 D i s k D r i v eF r e e S p i r i t S o f t w a r e I n c . h a r e l e a s e d S u p e r 8 U t i l i t i e s f u l l - f e a t u r e d u t i l i t i e ss y s t e m f o t h C o m m o d o r e 1 5 8 1 D i s k D r i v e a n C o m m o d o r e 1 2 c o m p u t e r . A 8 c o l u m n m o n i t o r i r e q u i r e d .F e a t u r e s i n c l u d e :

C o p y w h o l e d i s k s f r o m 1 5 4 1 o 1 5 7 1 f o r m a t t 1 5 8 1 p a r t i t i o n sC o p y 1 5 4 1 o 1 5 7 1 f i l e s t 1 5 8 1 d i s k s

• C o p y 1 5 8 1 f i l e s t 1 5 7 1 . d i s k sB a c k u p 1 5 8 1 d i s k s o r f i l e s w i t h o n o t w 1 5 8 1 s1 5 8 1 d i s k e d i t o r w i t h s i m u l t a n e o u s d i s p l a y i h e o A S C I I

• 1 5 8 1 d r i v e m e m o r y m o n i t o r a n R A w r i t e rP e r f o r m m a n y C P / M u t i l i t y f u n c t i o n sP e r f o r m n u m e r o u s D O f u n c t i o n s : r e n a m e d i s k , r e n a m e f i l e , s c r a t c h o

u n s c r a t c h f i l e s , l o c k o r u n l o c k f i l e s , c r e a t e a u t o - b o o t e t c .T h p r o g r a m i s u p p l i e d o b o t h S a n 3 d i s k e t t e s f o e i t h e r 1 5 7 1 o 1 5 8 1d r i v e s , w h i c h c a n b e u t i l i z e d a d e v i c e n u m b e r s o 9 S u p e r 8 U t i l i t i e s i a v a i l a b l e f r o m F r e e S p i r i t f o r $ 3 9 . 9 5 . S h i p p i n g H a n d l i n g a r f r e e . T h p r o g r a m d i s k s a r e n o t c o p y - p r o t e c t e d . M o r e i n f o r m a t i o n f r o m J o H u b b a r d , F r e e S p i r i t S o f t w a r e I n c . , 5 3 S E d g e w o o d , L G r a n g e , I 6 0 5 2 5 , U S A ,t e l e p h o n e ( 3 1 2 ) 3 5 2 - 7 3 2 3 .

S u r v e y - M a s t e r f o C 6 C 1 2 8m a r k e t s u r v e y f a c i l i t y f o t h C - 6 4 / C - 1 2 8 u s e r . T h i s p r o g r a m e s t a b l i s h e s s u r v e y

p a r a m e t e r s a n a n a l y s e s t h e r e s u l t s . I a l l o w s f o d i f f e r e n t s a m p l e s i z e s a n d e t e r m i n e s w h a t e f f e c t t h e y w i l l h a v e o t h c o n f i d e n c e o n m a p l a c e i t h f i n a ld a t a ( t h e c o n f i d e n c e i n t e r v a l ) .S U R V E Y - M A S T E R u s e s t h e s a m p l e s i z e a n s u r v e y d a t a t g e n e r a t e s c r e e n a n p r i n t e d r e p o r t s . I t h e d a t a c o n s i s t s o f n u m b e r s , t h r e p o r t i n c l u d e s t h a v e r a g e ,s t a n d a r d d e v i a t i o n a n s t a n d a r d e r r o r o t h m e a n a n c o n f i d e n c e i n t e r v a l . I t h d a t a c o n s i s t s o y e s / n o o o p t i o n / b r a n d p r e f e r e n c e s , t h r e p o r t s i n c l u d e s t a n d a r de r r o r o t h e p e r c e n t a n c o n f i d e n c e i n t e r v a l .

T h p r o g r a m a u t o m a t i c a l l y c o r r e c t s f o l a r g e a n s m a l l s a m p l e s ; i t r e p o r t s r e c a pa l t h a n a l y s i s c r i t e r i a ( c o n f i d e n c e l e v e l , s a m p l e s i z e , p o p u l a t i o n s i z e ) ; b u i l t - i n T T a b l e s a r e f e a t u r e d a l l o w i n g c o r r e c t i o n t r e s u l t s o b t a i n e d f r o m r e l a t i v e l y s m a l ls a m p l e s a c o n f i d e n c e l e v e l s o f 7 0 , 8 0 , 9 0 , 9 5 , o 9 p e r c e n t . I i c o m p a t i b l e w i t ht h C - 6 4 / C - 1 2 8 s i n g l e o r d u a l 1 5 4 1 d i s k d r i v e s a n 1 5 2 5 - e m u l a t i n g p r i n t e r .A v a i l a b l e a $ 2 9 . 9 5 f r o m S t r a t e g i c M a r k e t i n g R e s o u r c e s I n c . , P . O . B O 2 1 8 3 ,E l l i s v i l l e , M 6 3 0 1 1 , t e l e p h o n e ( 3 1 4 ) 2 5 6 - 7 8 1 4 .

S a t c o m m 6 n e s a t e l l i t e t r a c k i n g p r o g r a m f o t h m a n y l i c e n s e d a m a t e u r r a d i o o p e r a t o r s

w h u s t h C - 6 4 o C - 1 2 8 f o c o m m u n i c a t i n g i R T T Y , A S C I I a n C m o d e s .F e a t u r e s : a m a s t e r m e n u a l l o w s q u i c k a c t i v i t y s e l e c t i o n ( 1 2 o p t i o n s ) ; i n f o r m a t i o n o u t 1 d i f f e r e n t s a t e l l i t e s c a b s t o r e d ; q u i c k l y c o n f i r m s W 1 A W R e f e r e n c eO r b i t s ; s i n g l e e n t r y o t h e t i m e b r a c k e t d u r i n g w h i c h t h u s e r i a v a i l a b l e w i l la l l o w p r i n t e d r e p o r t o u t 3 d a y s o a c c e s s t i m e s ( d u r i n g t h s p e c i f i e d t i m eb r a c k e t ) f o a n s a t e l l i t e ; t h s a m e o n e - t i m e e n t r y c a a l s o p r o d u c e a r e p o r t f o a n g i v e n d a o t h a c c e s s t i m e s f o u t t h r e e d i f f e r e n t s a t e l l i t e s o i n t e r e s t .A d d e d f e a t u r e s i n c l u d e a e a s i l y c h a n g e d s a t e l l i t e m e n u ( t o g e t h e r w i t h a s s o c i a t e df r e q u e n c y a n K e p l e r i a n e l e m e n t d a t a ) ; c h o i c e o s c r e e n p l u s p r i n t e d r e p o r t , o s c r e e n a l o n e ; e a s i l y a l t e r e d u s e r d e f a u l t s ( s t a r t t i m e , t i m e i n c r e m e n t , e t c . ) ; a n a b i l i t y t o o v e r r i d e d e f a u l t s b s i m p l y m a k i n g a e n t r y .W h i l e t h C o m m o d o r e i p e r f o r m i n g r e a l - t i m e t a s k s S A T C O M M - 6 4 ' s p r e - p r i n t e dr e p o r t s i n c l u d e s a t e l l i t e a z i m u t h a n e l e v a t i o n , a l t i t u d e , l o n g i t u d e a n l a t i t u d e , l o c a lt i m e , U T d a y , g e o g r a p h i c a r e a s t h a t a r w i t h i n t h s a t e l l i t e ' s c o m m u n i c a t i o nr a n g e , D o p p l e r s h i f t , m i n i m u m a n m a x i m u m c o m m u n i c a t i o n d i s t a n c e , o p e r a t i n gf r e q u e n c i e s , o r b i t n u m b e r a n p h a s e .F o C - 6 4 / C - 1 2 8 u s e r s w h a r n o a m a t e u r r a d i o o p e r a t o r s , t h p r o g r a m m a b u s e d t t r a c k t h e c u r r e n t g r o u p o f e a s i l y v i s i b l e s a t e l l i t e s i n c l u d i n g S a l y u t - 7 , M I a n C o s m o s 1 8 7 0 , N O A A a n M e t e o r . T h p r o g r a m i c o m p a t i b l e w i t h t h 1 5 4 1d i s k d r i v e a n a n 1 5 2 5 e m u l a t i n g p r i n t e r .A v a i l a b l e f r o m S t r a t e g i c M a r k e t i n g R e s o u r c e s I n c . , P . O . B O 2 1 8 3 , E l l i s v i l l e , M 6 3 0 1 1 , t e l e p h o n e ( 3 1 4 ) 2 5 6 - 7 8 1 4 .

P r e c i s e l y a n Q u a r t e r b a c k f o t h A m i g aF r o m C e n t r a l C o a s t S o f t w a r e n e w o r d p r o c e s s o r c a l l e d P R E C I S E L Y a n f a s th a r d d i s k t f l o p p y b a c k - u p u t i l i t y c a l l e d Q U A R T E R B A C K f o C o m m o d o r e A m i g au s e r s .

P R E C I S E L Y d e l i v e r s f a s t p r i n t e r s p e e d a n d s c r e e n u p d a t e s a n f e a t u r e s n o t e c h n i c a l u s e r i n t e r f a c e , e a s e o u s a n i n e x p e n s i v e p r i c e . I a c c e p t s d o c u m e n t s i t h f o r m a t s o P a p e r C l i p , S p e e d S c r i p t a n P o c k e t W r i t e r . I w i l l c o n v e n i e n t l y p r i n ts e l e c t e d s c r e e n a r e a s s u c h a a a d d r e s s f o u s e w i t h a e n v e l o p e ; s u p p o r t sm u l t i t a s k i n g , m u l t i p l e w i n d o w s , k e y b o a r d m a c r o s , o n l i n e h e l p , o o p s k e t u n d om i s t a k e s , c o l u m n c u a n p a s t e , a n m a n y o t h e r f e a t u r e s .I s e l l s f o $ 7 9 . 9 5 p l u s $ 3 . 0 0 s h i p p i n g c h a r g e .Q U A R T E R B A C K t r a n s f e r s 2 0 M B t f l o p p y i n f o r t y - f i v e m i n u t e s ; s u p p o r t s f u l l /s u b d i r e c t o r y / i n c r e m e n t a l b a c k u p a n d r e s t o r e , w i t h a u t o m a t i c f o r m a t t i n g o d i s ke t t e s , a u t o m a t i c c a t a l o g o f f i l e s , a n a u t o m a t i c d i s k e t t e s e q u e n c e n u m b e r i n g a n dc h e c k i n g . I p r o v i d e s g r a c e f u l e r r o r r e c o v e r y , r u n s w i t h W o r k b e n c h o C L I , i m u l t i t a s k i n g , w o r k s w i t h a l A m i g a D O S c o m p a t i b l e h a r d d i s k d r i v e s , a n i s n ' t c o p yp r o t e c t e d .A v a i l a b l e f o $ 6 9 . 9 5 p l u s $ 3 . 0 0 f o s h i p p i n g .F o m o r e i n f o r m a t i o n o P R E C I S E L Y o Q U A R T E R B A C K c o n t a c t C e n t r a l C o a s tS o f t w a r e , 2 6 8 B o w i e D r i v e , L o O s o s , C 9 3 4 0 2 , t e l e p h o n e ( 8 0 5 ) 5 2 8 - 4 9 0 6 .

L e g a l C a r e F o Y o u r S o f t w a r eN o l o P r e s s h a b r o u g h t o u c o m p l e t e l y r e v i s e d a n u p d a t e d 3 r e d i t i o n o L e g a lC a r e f o Y o u r S o f t w a r e . I t h l a s t f i v e y e a r s n u m b e r o i m p o r t a n t l e g a ld e v e l o p m e n t s h a s o c c u r r e d i n c l u d i n g :• t h e " l o o k a n f e e l " o f t h s c r e e n f o r m a t o s o f t w a r e p r o g r a m i n o p r o t e c t e d b t h e c o p y r i g h t l a • t h e o v e r a l l s t r u c t u r e a n l o g i c o p r o g r a m c o d e i n o c o n s i d e r e d p r o t e c t e d b c o p y r i g h t

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

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 81: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 81/84

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

D a n i e l R e m e r a n S t e p h e n E l i a s i n c o r p o r a t e t h e s e a n h u n d r e d s o o t h e ra l l e r b u t s i g n i f i c a n t c h a n g e s ; a d d r e s s t h e l e g a l c o n c e r n s o b o t h s o f t w a r e

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

f r o m N o l o P r e s s , 9 5 P a r k e r S t r e e t , B e r k e l e y , C 9 4 7 1 0 , t e l e p h o n e ( 4 1 5 )

I n t e r f a c e f o r C 6 C 1 2 8D I 6 4 i a a l l - C a n a d i a n i n t e l l i g e n t M I D I i n t e r f a c e w i t h i n n o v a t i o n s s u c h a

6 a u t o - b o o t b a n k - s w i t c h e d E P R O M c o n t a i n i n g :a e x t e n s i v e s u p p l e m e n t t B A S I C f o e a s y , c u s t o m M I D I p r o g r a m m i n g

r e a l - t i m e 4 - t r a c k s e q u e n c e rM I D I - d a t a m o n i t o r f o h e x / b i n a r y / d e c i m a l r e a l - t i m e d a t a d i s p l a y

a i n t e r f a c e / c a b l e a u t o - t e s t p r o g r a ml p r o g r a m s a r e a u t o m a t i c a l l y a v a i l a b l e o p o w e r - u p a n c a n b e s w i t c h e d o u t u o t h e r m a n u f a c t u r e r s ' s o f t w a r e . T h p a c k a g e i n c l u d e s : M I D I i n t e r f a c e w i t h

i n s t a l l e d ; t w o M I D I c a b l e s ; f u l l d o c u m e n t a t i o n o d i s k ; a n d M I D I B A S I Ce x a m p l e s . T h i s p r o d u c t i a i m e d a m u s i c i a n s , h o m e h o b b y i s t s , s t u d e n t s ,

t e c h n i c i a n s , a n s m a l l r e c o r d i n g s t u d i o s , a n f o t e a c h i n g a n f i r s t - t i m e

f o $ 1 9 9 . 9 5 f r o m A D P S , c / P h i l H o n s i n g e r , 8 F o x h u n t R o a d , W a t e r l o o ,o , C a n a d a , N 2 2 Z 6 , t e l e p h o n e ( 5 1 9 ) 8 8 6 - 6 3 6 1 .

e C o m m o d o r e 1 2 S o f t w a r e f r o m A b a c u so n o t h l a r g e s t p u b l i s h e r s o b o o k s a n d s o f t w a r e f o C o m m o d o r e h o m e

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

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

t e r m i n a l p r o g r a m s , S p e e d T e r m s u p p o r t s X m o d e m a n P u n t e r f i l e t r a n s f e rl s , V T 5 2 a n V T 1 0 0 t e r m i n a l e m u l a t i o n w i t h c u r s o r k e y s , l a r g e 4 5

b u f f e r a n u s e r - d e f i n a b l e f u n c t i o n k e y s . S u g g e s t e d r e t a i l p r i c e i $ 5 9 . 9 5

i a n e n h a n c e d v e r s i o n o A b a c u s ' t e c h n i c a l a n a l y s i s s y s t e m f o s t o c kc h a r t i n g . U s i n g T A S - 1 2 8 , t h e i n v e s t o r c a a u t o m a t i c a l l y d o w n l o a d i n d i c a

f r o m D J N / R S o W a r n e r a n d t h e n b u i l d v a r i e t y o c h a r t s o t h s p l i t s c r e e n :a v e r a g e s , o s c i l l a t o r s , v o l u m e i n d i c a t o r s , c o m p a r i s o n c h a r t s , t r a d i n g

l e a s t s q u a r e s a n o t h e r s . I i n c o r p o r a t e s m a n y n e p o w e r f u l f e a t u r e s , s u c hm a c r o c a p a b i l i t i e s , a u t o m a t i c a n u n a t t e n d e d l o g o n a n f a s t d r a w c h a r t s u s i n gt w i n d o w s . S u g g e s t e d , r e t a i l p r i c e i $ 5 9 . 9 5 ( U S ) .

i t h u p g r a d e d C - 1 2 8 v e r s i o n o P e r s o n a l P o r t f o l i o M a n a g e r f o t r a c k i n gh p e r f o r m a n c e o s t o c k s , b o n d s o o p t i o n s . P P M - 1 2 8 i a v e r y e a s y t u s

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

m a g a z i n e s . S u g g e s t e d r e t a i l p r i c e i $ 5 9 . 9 5 ( U S ) .o m o r e i n f o r m a t i o n , c o n t a c t : S c o t t S l a u g h t e r o J a L l o y d , A b a c u s S o f t w a r e ,

K a l a m a z o o S . K , P . B o 7 2 1 1 , G r a n d R a p i d s , M 4 9 5 1 0 ( 6 1 6 ) 2 4 1 - 5 5 1 0 ,7 0 9 1 0 1 .

e A m i g a S o f t w a r e a n B o o k s f r o m A b a c u sa n n o u n c e s f o u r p r o d u c t i v i t y s o f t w a r e p a c k a g e s f o t h A m i g a :

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

3 u s e r - d e f i n a b l e f u n c t i o n k e y s a n f l e x i b l e p r i n t e r d r i v e r i n s t a l l a t i o n . I i w i t h f a s t e n t r y o f t e x t i n m i n d . S u g g e s t e d r e t a i l p r i c e i $ 7 9 . 9 5 .

e x t i p r o f e s s i o n a l q u a l i t y w o r d p r o c e s s o r . I n a d d i t i o n t t h s t a n d a r df o u n d i o t h e r w o r d p r o c e s s o r s , B e c k e r T e x t f e a t u r e s f a s t W Y S I W Y G

u t 9 9 c h a r a c t e r s p e l i n e , m u l t i p l e - c o l u m n p r i n t i n g , r e a l t i m e o n l i n er y f o t y p e - a l o n g s p e l l c h e c k i n g , a u t o m a t i c h y p h e n a t i o n , d e c i m a l t a

n u m e r i c c a l c u l a t i o n s w i t h i n t e x t , a u t o m a t i c i n d e x g e n e r a t i o n a n m o r e .r e t a i l p r i c e i $ 1 5 0 ( U S ) .

D a t a R e t r i e v e i A b a c u s ' d a t a m a n a g e m e n t p a c k a g e t h a t h a b e e n f u l l y r e w r i t t e nf o t h A m i g a . S o m e o i t f e a t u r e s : s t o r e a n d i s p l a y d a t a f i e l d s i n d i f f e r e n t t y p es t y l e s a n s i z e s ; c r e a t e a n d w o r k w i t h s u b s e t s o f i l e ; e a s i l y c h a n g e f i l e d e f i n i t i o na n f o r m a t ; s u p p o r t s R A d i s k f o h i g h s p e e d o p e r a t i o n . D a t a R e t r i e v e a l s o h a f a s ts e a r c h a n s o r t i n g c a p a b i l i t i e s , c a n h a n d l e r e c o r d s u t 6 4 , 0 0 0 c h a r a c t e r s , a l l o w sn u m e r i c v a l u e s w i t h u t 1 s i g n i f i c a n t d i g i t s , a c c e s s e s u t f i l e s s i m u l t a n e o u s l y ,i n d e x e s u t 8 d i f f e r e n t f i e l d s a n h a c o m p l e t e , b u i l t - i n r e p o r t i n g c a p a b i l i t i e s .S u g g e s t e d r e t a i l p r i c e i $ 7 9 . 9 5 ( U S ) .A s s e m P r o i m a c h i n e l a n g u a g e d e v e l o p m e n t p a c k a g e , a n i n c l u d e s a i n t eg r a t e d e d i t o r , a h i g h s p e e d m a c r o a s s e m b l e r w i t h 3 2 - b i t a r i t h m e t i c , l a r g e o p e r a t i n gs y s t e m l i b r a r y , u n i q u e d e b u g g e r w i t h 6 8 0 2 0 s i n g l e - s t e p e m u l a t i o n , d i s a s s e m b l e ra n r e a s s e m b l e r . R u n s f r o m t h W o r k b e n c h o r t h e C U S u g g e s t e d r e t a i l p r i c e i $ 9 9 . 9 5 ( U S ) .A b a c u s a l s o a n n o u n c e s f o u r n e B o o k s f o t h A m i g a l i n e :A m i g a B A S I C I n s i d e O u i s t e p - b y - s t e p g u i d e t p r o g r a m m i n g i A m i g a B A S I C . A l c o m m a n d s w i t h s y n t a x a n p a r a m e t e r s a r f u l l y d e s c r i b e d .T o p i c s i n c l u d e g r a p h i c s , s o u n d , f i l e m a n a g e m e n t , m o r e . W o r k i n g p r o g r a m s a r a l s oi n c l u d e d : v i d e o t i t l i n g f o O B J E C T a n i m a t i o n , b a a n p i e c h a r t s , w i n d o w s a n p u l l - d o w n m e n u s , u s i n g t h m o u s e c o m m a n d s , s e q u e n t i a l a n r a n d o m f i l eh a n d l i n g , s p e e c h p r o g r a m m i n g a n d s o u n d s y n t h e s i s . 5 5 p a g e s . S u g g e s t e d r e t a i lp r i c e i $ 2 4 . 9 5 ( U S ) .A m i g a T r i c k s a n T i p s i c o l l e c t i o n o f s h o r t p r o g r a m s f o a l A m i g a u s e r s .T e c h n i q u e s i n c l u d e u s i n g A m i g a B A S I C , a c c e s s i n g I n t u i t i o n , m a k i n g t h m o s t o t h C L I , D O a n t h e d i s k d r i v e , a d v a n c e d g r a p h i c s p r o g r a m m i n g u s i n g w i n d o w s a n m e n u s , m o r e . 2 7 p a g e s . P r i c e : $ 1 9 . 9 5 ( U S ) .A m i g a f o B e g i n n e r s i n t r o d u c e s t h e n e A m i g a o w n e r t o I n t u i t i o n , t h m o u s e ,C L a n A m i g a B A S I C . T h u s e r w i l l l e a r n h o t u s t h C L f o p e r f o r m i n g m a n yh o u s e k e e p i n g c h o r e s a n w i l l t a k e t h f i r s t s t e p s i B A S I C p r o g r a m m i n g . P r i c e :$ 1 6 . 9 5 ( U S ) .A m i g a M a c h i n e L a n g u a g e d e s c r i b e s t h 6 8 0 0 0 p r o c e s s o r , a d d r e s s m o d e s a n i n s t r u c t i o n s e t . I d e t a i l s t h p o w e r f u l A m i g a l i b r a r i e s f o u s i n g A m i g a D O S ,I n t u i t i o n , a n s p e e c h a n d s o u n d c a p a b i l i t i e s f r o m m a c h i n e l a n g u a g e . 2 2 p a g e s .P r i c e : $ 1 9 . 9 5 ( U S ) .C o n t a c t J u l i e C a r l e o R o L u a A b a c u s ( a d d r e s s i a b o v e i t e m ) .

P o w e r W i n d o w s : R e l e a s e 2 . I n o v a t r o n i c s I n c . o D a l l a s p r e s e n t s r e l e a s e 2 . o P o w e r W i n d o w s , a n i m p r o v e dv e r s i o n o t h e s t a b l i s h e d C o m m o d o r e A m i g a p r o g r a m m e r s ' t o o l . I a l l o w s t h i n t e r a c t i v e d e s i g n o f f u n c t i o n a l w i n d o w s , g a d g e t s , m e n u s a n e n t i r e c u s t o ms c r e e n s i n c l u d i n g p a l e t t e c o n t r o l , u s i n g t h m o u s e a n f e s i m p l e k e y s t r o k e s .P o w e r W i n d o w s a u t o m a t i c a l l y g e n e r a t e s t h e s o u r c e c o d e n e e d e d t i n t e g r a t e t h e s ec o n s t r u c t s i n t o o r i g i n a l p r o g r a m s . T h i s p a c k a g e n o g e n e r a t e s T D M o d u l a - 2s o u r c e c o d e a s w e l l a s M a n x a n L a t t i c e a n d 6 8 0 0 0 a s s e m b l y l a n g u a g e .A v a i l a b l e f o $ 8 9 . 9 5 f r o m : I n o v a t r o n i c s I n c , 1 1 3 1 1 S t e m m o n s F r w y . , S u i t e 8 D a l l a s , T e x a s , 7 5 2 2 9 , t e l e p h o n e ( 2 1 4 ) 2 4 1 - 9 5 1 5 .

K e t e k a n n o u n c e s n e C o m m a n d C e n t r eK E T E K a n n o u n c e s C o m m a n d C e n t r e f o t h C o m m o d o r e 6 a n 6 4 C . A w i t ht h 1 2 C o m m a n d C e n t r e , t h i s c a b i n e t c o n s o l i d a t e s a l p e r i p h e r a l s i n t o a c o m p a c te n c l o s u r e . I k e e p s a l c a b l e s h i d d e n , o u t o s i g h t a n r e a c h . V a l u a b l e d e s k s p a c e i s a v e d e n a b l i n g y o t o p e r a t e m o r e e f f i c i e n t l y , t u r n i n g t h o r d i n a r y d e s k i n t o t h i d e a l c o m p u t e r w o r k s t a t i o n . T h n e C o m m a n d C e n t r e i s t u r d y , c o l o u r -c o o r d i n a t e d c a b i n e t d e s i g n e d t g i v e y o u r s y s t e m a m o r e p r o f e s s i o n a l a p p e a r a n c e .T h c a b i n e t i n c l u d e s m a i n p o w e r c o n t r o l s w i t c h t h a t c o n t r o l s t h c o m p u t e r a n a l p e r i p h e r a l s , c o o l i n g f a t p r e v e n t o v e r h e a t i n g , a n b u i l t - i n A p o w e r s t r i pw i t h s u r g e p r o t e c t i o n a n l i n e n o i s e f i l t e r i n g . O t h e r o p t i o n s a v a i l a b l e i n c l u d ec a r t r i d g e p o r t e x t e n s i o n a n a m o d u l a r t e l e p h o n e p l u g w i t h i t o w o n - l i n e / o f f - l i n es w i t c h . C o n t a c t : K e t e k , P . O . B o 2 0 3 , O a k d a l e , I A 5 2 3 1 9 ( 3 1 9 ) 3 3 8 - 7 1 2 3 .

S p e e d S c r i p t U p g r a d e f o t h C - 1 2 8S p e e d P l u s - 1 2 8 c o n v e r t s y o u r C - 6 4 c o p y o S p e e d S c r i p t 3 . X i n t o f u l l - f e a t u r e d 8 0 c o l u m n C - 1 2 8 v e r s i o n w i t h 6 4 t e x t m e m o r y a n 2 0 e r a s e b u f f e r , a l f o u s i 1 2 o p e r a t i n g m o d e . O t h e r e n h a n c e m e n t s i n c l u d e j u s t i f i c a t i o n , t a b s , t w c o l u m n /t w s i d e p r i n t i n g , w o r d w r a p t o g g l e , s e l e c t a b l e p r i n t - o u t , p r e v i e w o d o c u m e n t s ,i n s e r t i o n o f t e x t f i l e s w i t h i n d o c u m e n t , d i s p l a y o f u t 2 h e l p f i l e s , a d j u s t a b l e

T h T r a n s a c t o r 7 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e O

Page 82: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 82/84

s c r e e n d i s p l a y o t e x t f o r i n c r e a s e d t y p i n g s p e e d , a n m o r e . S p e e d P l u s - 1 2 8 i a v a i l a b l e b m a i l o r d e r f o $ 2 9 . 9 5 , i n c l u d i n g s n i p p i n g a n h a n d l i n g , f r o m : U D O NE n t e r p r i s e s , P 0 B o 7 7 3 , E l G r o v e , W I 5 3 1 2 2 .

M P S - 8 0 1 D e s c e n d e r R O F r o m P u b l i c D o m a i n S o l u t i o n s c o m e s a E P R O M f o t h M P S - 8 0 1 p r i n t e r t h a tr e p l a c e s t h o r i g i n a l R O M , a d d i n g t r u e d e s c e n d e r s a n e n h a n c i n g t h e n t i r ec h a r a c t e r s s e t t o m a k e d o c u m e n t s l o o k b e t t e r . T h E P R O M c o m e s w i t h c o m p l e t e ,e a s y t f o l l o w i n s t r u c t i o n s . P r i c e i $ 2 9 . 9 5 ( U S ) p l u s $ s h i p p i n g / h a n d l i n g .C o n t a c t : P u b l i c D o m a i n S o l u t i o n s , P . O . B o 8 3 2 , T a l l e v a s t , F l o r i d a , 3 4 2 7 0 . O r d e r s :1 - 8 0 0 - 6 3 4 - 5 5 4 6 ; i n q u i r i e s ( 8 1 3 ) 3 7 8 - 2 3 9 4 .

S y n t h e s i z e r S o f t w a r eS o u n d Q u e s t I n c . h a i n t r o d u c e d t w n e E d i t o r / L i b r a r i a n s f o t h Y a m a h a D X 7 1 1a n t h R o l a n d D 5 0 . B o t h p r o d u c t s , u t i l i z i n g t h C o m m o d o r e A m i g a , h a v e b e e nd e s i g n e d e x c l u s i v e l y f o t h p r o f e s s i o n a l , s e m i - p r o f e s s i o n a l a n s e r i o u s a m a t e u rm u s i c i a n .T h D X 1 1 M a s t e r E d i t o r / L i b r a r i a n p r o v i d e s " M u s i c i a n F r i e n d l y " H e l p S c r e e n s f o e a c h E d i t o r W i n d o w . I l o a d s d a t a f i l e s f r o m d i s k i n t o t h A m i g a o d i r e c t l y t o t h s y n t h e s i z e r e i t h e r s i n g l y o i b a t c h e s . A w e l l , t h M a s t e r l o a d s s t o r e d S y s t e mE x c l u s i v e d a t a t a n a p p r o p r i a t e M I D I i n s t r u m e n t , n o t j u s t D d a t a f i l e s .M u l t i - t a s k i n g i u t i l i z e d , w h i c h p e r m i t s t h e d i t i n g o a m a n y d a t a b a n k s a d e s i r e d( l i m i t e d o n l y b t h c o m p u t e r ' s m e m o r y ) . E i g h t B a n k E d i t i n g f u n c t i o n s m a b p e r f o r m e d o n a n y s i z e d g r o u p o p a t c h e s a o n t i m e . A w e l l , t h D X 1 1 M a s t e rE d i t o r / L i b r a r i a n s t o r e s a n e d i t s a l 1 3 t y p e s o D X 7 1 1 S y E d a t a , a n a d d s t h f o l l o w i n g s c r e e n s : F r a c t i o n a l S c a l i n g ( f e a t u r i n g A m i g a m o u s e c o n t r o l a n s u p e r i o rg r a p h i c s ) , M i c r o - T u n i n g ( i c e n t s o n o t e s ) , P e r f o r m a n c e , S e t - U p , a n A d d i t i o n a lP a r a m e t e r s . I n a d d i t i o n , t h M a s t e r a l s o p r o v i d e s R a n d o m V o i c e G e n e r a t i o n t h a t i p e r s o n a l l y c o n t r o l l e d .T h D 5 M a s t e r E d i t o r / L i b r a r i a n p r o v i d e s a i d e n t i c a l h e l p f u l e n v i r o n m e n t ( d a t al o a d i n g , b a n k e d i t i n g , a n d a t a s e n d i n g f e a t u r e s ) a s t h e D X 1 1 . E d i t i n g , h o w e v e r , i p e r f o r m e d o p a r t i a l s , t o n e s , o p a t c h e s , f r o m m a i n w i n d o w a n f e a t u r e s P o p - U pw i n d o w s f o g r a p h i c e n v e l o p e e d i t i n g . T h D 5 M a s t e r E d i t o r / L i b r a r i a n h a b e e nd e s i g n e d w i t h t h c a p a b i l i t y t o " L o c k " a n c o m b i n a t i o n o p a r t i a l s o r t o n e s t o g e t h e rf o s i m u l t a n e o u s e d i t i n g .F o m o r e i n f o r m a t i o n , c o n t a c t : G l e n n H a y w o r t h , S o u n d Q u e s t I n c . , G l e n a d e nA v e n u e E a s t , T o r o n t o , O n t a r i o , M 8 Y 2 L 2M u s i c a l C a t e c h i s m L e s s o n s o t h 6 " W S i n g O u F a i t h " i m u s i c a l p r e s e n t a t i o n o B a s i c C h r i s t i a n D o c t r i n e f o t h C 6 4 b a s e d o t h t r a d i t i o n a l L i t t l e C a t e c h i s m o t h P r o v i n c e o Q u e b e c . P r g r a m m e d b R e l i g i o u s o f T h O r d e r o t h M o t h e r o G o ( O r d o D e M a t r i s ) , i i s u i t a b l e f o a g e s e i g h t t o s i x t e e n , a n h a b e e n t e s t e d o y o u n g s t e r s f r o m t h e a g e so f e i g h t t s e v e n t e e n i t h e i r c l a s s r o o m s . B e c a u s e m u s i c i g r e a t m e m o r y a i d ,t h e y e a s i l y r e t a i n t h m a t e r i a l ; t h e y a r e a b l e t s i n g t h e v e r s e s y e a r s a f t e r l e a v i n gt h c l a s s . A d u l t s a l s o h a v e s h o w n e n t h u s i a s m f o t h i s e n j o y a b l e r e l i g i o u s i n s t r u ct i o n . I i s i m p l e t s i n g a l o n g , b e c a u s e s y l l a b l e s a r h i g h l i g h t e d o r u n d e r l i n e d a t h m u s i c p l a y s .D i s k 1 " T h e A t t r i b u t e s o f G o d ; t h c r e a t i o n " , c o n t a i n s : T h U n i t y a n T r i n i t y o fG o d ; G o a n H i P e r f e c t i o n s ; T h F i n a l D e s t i n y o M a n ; T h C r e a t i o n ; O u F i r s tP a r e n t s a n t h e i r F a l l ; T h S o u r c e s o S i n . D i s k 2 ' T h e I n c a r n a t i o n a n R e d e m pt i o n " , c o n t a i n s : T h P r o m i s e d R e d e e m e r ; T h I n c a r n a t i o n ; T h P a s s i o n a n D e a t ho O u L o r d ; T h R e s u r r e c t i o n a n A s c e n s i o n ; T h D e s c e n t o t h H o l y S p i r i t ; T h E f f e c t s o t h R e d e m p t i o n .E a c h c h a p t e r c o n t a i n s : Q u e s t i o n s / V e r s e s ; L e x i c o n a f t e r e a c h v e r s e , e x p l a i n i n gw o r d s a n d t e r m i n o l o g y ; m u l t i p l e - c h o i c e q u e s t i o n n a i r e ; b e a u t i f u l o n - s c r e e nr e l i g i o u s p i c t u r e t a w a r d a h i g h s c o r e . O p t i o n s : L i s t e n t e a c h v e r s e a n n u m b e r o t i m e s ; R e t u r n t s t a r t o m u s i c o t q u e s t i o n s m i s s e d s e c t i o n f o s e c o n d t r y ; S t u d yt e x t w i t h o u t p l a y i n g m u s i c . P r i c e i $ 2 p o s t p a i d .A l s o a v a i l a b l e : " S u n d a y E v e n i n g A t H o m e W i t h T h L o r d " m u s i c f o s i n g i n g ;s c r i p t u r e t e s t e r / t e a c h e r ; s i x h i g h - r e s o l u t i o n r e l i g i o u s p i c t u r e s . O f f e r i n g r e q u e s t e d :$ 1 0 .

O r d e r f r o m M o n a s t e r y o T h A p o s t l e s , i C a n a d a : P . O . B o 3 0 8 , S t . - J o v i t e , P J O 2 H 0 . I t h U . S . : F r o n t i e r R o a d , C h u r u b u s c o , N 1 2 9 1 2

B i t s P i e c e s I T h D i s k

F r o m t h f a m o u s b o o k o t h s a m e n a m e , T r a n s a c t o rP r o d u c t i o n s n o b r i n g s y o B i t s P i e c e s I T h D i s k !Y o u ' l l t h r i l l t o t h e s p e c i a l e f f e c t s o t h s c r e e nd a z z l e r s l Y o u ' l l l a u g h a t h h o u r s o f t y p i n g t i m ey o u ' l l s a v e l Y o u ' l l b e i n s p i r e d a y o b o l d l y g w h e r e n o b i t s h a v e g o n e b e f o r e l" E x t r a o r d i n a r i l y f a i t h f u l t t h p l o t " A b s o l u t e l yo t h b o o k . . . T h e B A a l o n e i m a g n e t i c ! ! "w o r t h t h p r i c e o a d m i s s i o n / " G e n e S y s c a l l

V i n c e n t C a n b y t e

" I y o m o u n t o n l y o n b i t s d i s k i 1 9 8 7 , m a k e i t h i so n e / T h f u l l y c r o s s - r e f e r e n c e d i n d e x i u n f o r g e t t a b l e /

R e c s R e a d , N e Y o r k T l

B I T S P I E C E S I : T H D I S K , M y l a r R i m , I a s s o c i a t i o n w i t h T r a n s a c t o r P r o d u c t i o n s .P l a y i n g a t d r i v e n e a r y o u l

D i s k $ 8 . 9 5 U S , $ 9 . 9 5 C d n . B o o k 1 4 . 9 5 U S , 1 7 . 9 5 C d n .B o o k D i s k C o m b o J u s t 1 9 . 9 5 U S , $ 2 4 . 9 5 C d n l

T h T r a n s a c t o r 8 M a r c h 1 9 8 8 : V o l u m e 8 I s s u e 0

Page 83: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 83/84

T r a n s a c t o r F o T h A m i g aK e e p i n g y o i t o u c h w i t h t h A m i g a p r o g r a m m i n g c o m m u n i t y

T r a n s a c t o r f o t h A m i g a b r i n g s T r a n s a c t o r ' s t r a d i t i o n a l h i g h - l e v e l t e c h n i c a l f o c u s t t h A m i g a . T h i s i t h p l a c e t t u r n f o t h k i n d o i n f o r m a t i o n p r o g r a m m e r s a n d s e r i o u s h a c k e r s n e e d t k n o w . O u o w e d i t o r i a l s t a f f , N i c k S u l l i v a n a n C h r i s Z a m a r a , a r a l r e a d y k n o w n f o t h e i r A m i g a p r o g r a m s a n a r t i c l e s , b u t w e ' r e n o s t o p p i n g t h e r e b e f o r e t h e T r a n s a c t o r n a m e w e n t o a A m i g a - r e l a t e dp u b l i c a t i o n w h a t b r e a l l y r e a d y . S w a s k e d t h t o A m i g a p r o g r a m m e r s , w r i t e r s a n o t h e re x p e r t s t w r i t e f o u s a n t h e y d i d . W h a t w n o h a v e i m a g a z i n e t h a t w i l l b c l e a r i n g h o u s e f o n e i d e a s , p r o g r a m s a n t e c h n i q u e s f r o m t h b e s t A m i g a n s i t h w o r l d . A n i y o s t i l l d o n ' t b e l i e v ew e ' r e r e a l l y r e a d y , j u s t t a k e l o o k a t h i s s a m p l e o f a r t i c l e s f r o m o u s o o n - t o - b e - r e l e a s e d f i r s t i s s u e :

A n d y F i n k e l , o n o t h a u t h o r s o t h A m i g a ' s s y s t e m s o f t w a r e , t e l l s y o a b o u t " C A O S " A m i g a ' s o r i g i n a l D i s k O p e r a t i n g S y s t e m .R o P e c k , a u t h o r o t h A m i g a ' s R O K e r n e l m a n u a l s , s h o w s h o t u s t h E x e c L i b r a r y ' s L i s t - h a n d l i n g c a p a b i l i t i e s f o m o r e f l e x i b l e p r o g r a m s .P e r r y K i v o l o w i t z , p r e s i d e n t o A S D G I n c . a n a u t h o r o " F a c e " , t h f l o p p yd i s k a c c e l e r a t o r , l o o k s a i d e a l p r o g r a m m i n g e n v i r o n m e n t s .J o h n T o e b e s , d i r e c t o r o t h S o f t w a r e D i s t i l l e r y a n a u t h o r o V e r s i o n 4 . o t h L a t t i c e c o m p i l e r , s h o w s t h r i g h t w a t p o r t p r o g r a m t t h A m i g a .M a t t D i l l o n , a u t h o r o w e l l - k n o w n f r e e l y r e d i s t r i b u t a b l e p r o g r a m s l i k e h i D O S h e l l , e x p l a i n s D O p a c k e t s , w i t h p r a c t i c a l e x a m p l e p r o g r a m s .J i B u t t e r f i e l d , t h o r i g i n a l C o m m o d o r e p r o g r a m m i n g g u r u , d i s s e c t s a a s s e m b l y - l a n g u a g e p r o g r a m a n e x p l a i n s i p i e c e b p i e c e .

P L U S :W r i t e y o u r o w " C y c l e W a r r i o r " t f i g h t i o u i R i c o M a r i a n i ' s a r e n a o b a t t l i n g p r o g r a m s !

T h i n s i d e f a c t s a b o u t t h D r a c o l a n g u a g e c o m p i l e r f r o m i t a u t h o r , C h r i s G r a yD e t a i l e d s p e c i f i c a t i o n s o t h n e " A r p . l i b r a r y " f r o m i t c o - a u t h o r s , S c o t t B a l l a n t y n e

P r o t e c t i n g y o u r s e l f f r o m T H V I R U SA a l l - a s s e m b l e r U p d a t e c o m m a n d f o t h C L b B o R a k o s k y , a u t h o r o s a f - T - n e t

P a r t o s e r i e s o t h t h e o r y a n p r a c t i c e o d e b u g g i n g , b y M e t a s c o p e e x p e r t V i W a g n e rd e t a i l e d l o o k a t h s t r u c t u r e o f f o n t f i l e s a n h o t h e y w o r k , b T r a n s a c t o r r e g u l a r B e t t y C l a y

R e v i e w s o t h n e L a t t i c e c o m p i l e r V 4 . 0 , P o w e r W i n d o w s 2 . 0 , a n t h n e A m i g a 5 0 R A e x p a n s i o n b o f r o m B y t e - B y - B y t e .

R e g u l a r c o l u m n s b L a r r y P h i l l i p s , S t e v e A h l s t r o m a n D o C u r t i s .

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

T r a n s a c t o r F o T h e A m i g a . . . F l a t t e n i n g t h l e a r n i n g c u r v e .

Page 84: The Transactor V8 05 1988 Mar

8/7/2019 The Transactor V8 05 1988 Mar

http://slidepdf.com/reader/full/the-transactor-v8-05-1988-mar 84/84

T H T I M E S A V E R

T y p e i l o o T r a n s a c t o r p r o g r a m s ?D o e s t h a b o v e t i m e a n a p p e a r a n c e o t h s k l o o k f a m i l i a r ?

W i t h T h T r a n s a c t o r D i s k , a n p r o g r a m - i s j u s t L O A D a w a y !