$ od -c -N 50000 [Indigo]<Chipmonk>replicate>replicate-sources.dm!13 0000000 377 \0 \0 r e p l i c a t e m a i n 0000020 . m e s a \0 373 230 242 234 304 \0 \0 376 001 \0 0000040 T = - - R e p l i c a t e M a 0000060 i n . m e s a \r - - a p r o 0000100 g r a m t o r u n w i t h 0000120 i n C h i p m o n k \r \r - - 0000140 m o d i f i e d b y E . M 0000160 c C r e i g h t , F e b r u a 0000200 r y 2 3 , 1 9 8 2 1 1 : 0000220 3 6 A M \r - - w r i t t e n 0000240 b y E . M c C r e i g h t 0000260 , S e p t e m b e r 2 3 , 0000300 1 9 8 1 6 : 5 7 P M \r \r D 0000320 I R E C T O R Y \r C h i p U 0000340 s e r I n t , \r p p d d e f 0000360 s , \r p p d e f s , \r R 0000400 o m M a k e r D e f s ; \r \r R e 0000420 p l i c a t e M a i n : P R O 0000440 G R 376 001 \0 316 331 A M \r I M P O 0000460 R T S C h i p U s e r I n t , 0000500 p p d d e f s , p p d e f s 0000520 , R o m M a k e r D e f s = 0000540 \r B E G I N O P E N C h 0000560 i p U s e r I n t , p p d d e 0000600 f s , p p d e f s , R o m M 0000620 a k e r D e f s ; \r \f \r - - 0000640 C e l l - R e l 0000660 a t e d a n d 0000700 P r o c e d u 0000720 r e s \r \r O f f s e t : 0000740 P R O C E D U R E [ p : P o 0000760 i n t _ [ 0 , 0 ] , \r 0001000 c e l l : l i s t P t r 0001020 _ N I L , c e l l S i z e : 0001040 P o i n t 376 001 \0 r 237 _ [ 0 0001060 , 0 ] , \r d i r : D i 0001100 r e c t i o n , r e p : P o 0001120 i n t _ [ 0 , 0 ] , \r 0001140 m i d C e l l : l i s t P 0001160 t r _ N I L , m i d C e l 0001200 l S i z e : P o i n t _ [ 0001220 0 , 0 ] , \r m i d G a p 0001240 : P o i n t _ [ 0 , 0 ] 0001260 , i n c l u d e T e r m i n a 0001300 l M i d : B O O L E A N _ 0001320 T R U E ] \r R E T U R N 0001340 S [ P o i n t ] = \r 0001360 B E G I N \r m i d R e p 0001400 : P o i n t _ I F i n c 0001420 l u d e T e r m i n a l M i d 0001440 T H E N r e p E L S 376 001 \0 p 0001460 X E \r [ x : r e p 0001500 . x - 1 , y : r e p . y - 1 0001520 ] ; \r I F c e l l # N 0001540 I L T H E N c e l l S i z e 0001560 _ C e l l S i z e [ c e l l 0001600 . o b ] ; \r m i d C e l 0001620 l S i z e _ I F m i d C e 0001640 l l # N I L T H E N C e l l 0001660 S i z e [ m i d C e l l . o b , 0001700 d i r ] \r E L S E 0001720 D i r S i z e [ m i d C e l l 0001740 S i z e , d i r ] ; \r 0001760 R E T U R N [ [ x : p . x + r 0002000 e p . x * D i r S i z e [ c e l 0002020 l S i z e , d i r ] . x + \r 0002040 M i d C e l l R e 0002060 p 376 001 \0 201 032 [ m i d G a p . x , 0002100 m i d R e p . x , c e l l S 0002120 i z e . x ] * \r 0002140 m i d C e l l S i z e . x , 0002160 \r y : p . y + r e 0002200 p . y * D i r S i z e [ c e l l 0002220 S i z e , d i r ] . y + \r 0002240 M i d C e l l R e p 0002260 [ m i d G a p . y , m i d R e 0002300 p . y , c e l l S i z e . y ] 0002320 * \r m i d C 0002340 e l l S i z e . y ] ] ; \r 0002360 E N D ; \r \r \r C e l l s P 0002400 e r G a p : P R O C E D U R E 0002420 [ g a p , s i z e P e r C e l 0002440 l : l o c N u m ] R E T U R 0002460 N S [ I N T 376 001 \0 223 222 E G E R ] 0002500 = \r { R E T U R N [ ( 0002520 g a p + s i z e P e r C e l l - 0002540 1 ) / s i z e P e r C e l l ] 0002560 - - c e i l i n g - - } ; \r 0002600 \r \r M i d C e l l R e p : 0002620 P R O C E D U R E [ g a p , n 0002640 C e l l s , s i z e P e r C e 0002660 l l : l o c N u m ] R E T U 0002700 R N S [ I N T E G E R ] = \r 0002720 B E G I N \r c e l 0002740 l s P e r G a p : I N T E G E 0002760 R _ C e l l s P e r G a p [ 0003000 g a p , s i z e P e r C e l l 0003020 ] ; \r R E T U R N [ I F 0003040 c e l l s P e r G a p = 0 T 0003060 H E N 0 E L S E 376 001 \0 H 036 0003100 n C e l l s / c e l l s P e r G 0003120 a p ] ; \r E N D ; \r \r \r 0003140 P l a c e L i s t : P R O 0003160 C E D U R E [ t o : l i s t P 0003200 t r _ N I L , l p : l i 0003220 s t P t r , c e l l S i z e : 0003240 P o i n t , \r r e p : 0003260 P o i n t _ [ 0 , 0 ] , 0003300 m i d C e l l S i z e : P o i 0003320 n t _ [ 0 , 0 ] , \r 0003340 m i d G a p : P o i n t _ 0003360 [ 0 , 0 ] ] R E T U R N S [ l 0003400 i s t P t r ] = \r B E 0003420 G I N \r c p : P o i n 0003440 t _ O f f s e t [ c e l l S 0003460 i z e : c e l l S i z e , d 0003500 376 001 \0 337 203 i r : d i a g o n a 0003520 l , r e p : r e p , \r 0003540 m i d C e l l S i z e : 0003560 m i d C e l l S i z e , m i d 0003600 G a p : m i d G a p ] ; \r 0003620 W H I L E l p # N I L D 0003640 O \r t o _ c o p 0003660 y O b j e c t [ l p : l p , 0003700 m p : t o , x o f f : c p 0003720 . x , y o f f : c p . y ] ; 0003740 \r l p _ l p . n 0003760 x t ; \r E N D L O O 0004000 P ; \r R E T U R N [ t o 0004020 ] ; \r E N D ; \r \r \r 0004040 - - M a i n P r 0004060 o g r a m \r \r B E 0004100 G I N \r 376 001 \0 N 223 E N A B L 0004120 E \r B E G I N \r 0004140 P u n t = > G O T O E x i 0004160 t ; - - f o r e x i t s 0004200 \r U N W I N D = > C 0004220 o l o r O n [ ] ; \r E N 0004240 D ; \r \r h R e p , v R e p 0004260 , h S i z e , v S i z e : 0004300 l o c N u m ; \r s e l R e c 0004320 t , b o u n d a r y : R e c 0004340 t ; \r s e l L i s t , s e 0004360 l L i s t T a i l , c o p y L 0004400 i s t : l i s t P t r _ N 0004420 I L ; \r u s e B o u n d i n 0004440 g B o x : B O O L E A N ; \r \r 0004460 l p p : L O N G P O I N 0004500 T E R T O l i s 376 001 \0 255 340 t 0004520 P t r ; \r \r C o l o r O f f 0004540 [ ] ; \r \r h R e p _ R e 0004560 q u e s t I n t e g e r [ " R e 0004600 p l i c a t e s e l e c t e d 0004620 i t e m s " L , \r " H 0004640 o w m a n y t i m e s h o 0004660 r i z o n t a l l y ? " L ] ; \r 0004700 v R e p _ R e q u e s t 0004720 I n t e g e r [ " R e p l i c a 0004740 t e s e l e c t e d i t e m 0004760 s " L , \r " H o w m a 0005000 n y t i m e s v e r t i c a 0005020 l l y ? " L ] ; \r \r I F N 0005040 O T ( u s e B o u n d i n g B 0005060 o x _ \r H e S a y s Y 0005100 e s [ " S h o u l d I t a 376 0005120 001 \0 m 241 k e t h e p i t c h 0005140 f r o m t h e " L , \r 0005160 " b o u n d i n g b o x o 0005200 f t h e s e l e c t e d i 0005220 t e m s ? " L ] ) T H E N \r 0005240 B E G I N \r I F 0005260 H e S a y s Y e s [ " O K , t 0005300 h e n s h o u l d I t a k 0005320 e t h e p i t c h f r o m 0005340 t h e " L , \r " g 0005360 a p b e t w e e n m a r k 0005400 a n d c u r s o r ? " ] T H 0005420 E N \r { h S i z e 0005440 _ x x - m a r k P n t . x ; 0005460 v S i z e _ y y - m a r k P 0005500 n t . y } \r E L S E { 0005520 E x p l 376 001 \0 \v 032 a i n [ " T h 0005540 a t ' s a l l I k n o w 0005560 h o w t o d o ! " L ] ; G 0005600 O T O E x i t } ; \r E 0005620 N D ; \r \r l p p _ @ m a 0005640 s t e r L i s t ; \r W H I L 0005660 E l p p ^ # N I L D O \r 0005700 I F l p p ^ . s e l e c t 0005720 e d T H E N \r B E 0005740 G I N \r l p : l i 0005760 s t P t r _ l p p ^ ; \r 0006000 l p p ^ _ l p . n x 0006020 t ; \r l p . n x t 0006040 _ s e l L i s t ; \r 0006060 s e l R e c t _ I F s e 0006100 l L i s t = N I L T H E N g 0006120 e t R e c t [ l p 376 001 \0 < 343 ] 0006140 E L S E \r m e r 0006160 g e R e c t s [ s e l R e c t , 0006200 g e t R e c t [ l p ] ] ; \r 0006220 s e l L i s t _ l 0006240 p ; \r I F s e l L 0006260 i s t T a i l = N I L T H E N 0006300 s e l L i s t T a i l _ l 0006320 p ; \r E N D \r 0006340 E L S E l p p _ @ l p p 0006360 ^ . n x t ; \r E N D L O 0006400 O P ; \r \r I F s e l L i s 0006420 t = N I L T H E N \r { 0006440 E x p l a i n [ " N o s e l e 0006460 c t i o n s ! " L ] ; G O T O 0006500 E x i t } ; \r \r I F u s 0006520 e B o u n d i n g B o x T 376 001 0006540 \0 I Q H E N \r { h S i z 0006560 e _ s e l R e c t . x 2 - s 0006600 e l R e c t . x 1 ; v S i z e 0006620 _ s e l R e c t . y 2 - s e 0006640 l R e c t . y 1 } ; \r \r F O 0006660 R h : l o c N u m I N [ 0006700 0 . . h R e p ) D O F O R 0006720 v : l o c N u m I N [ 0 . 0006740 . v R e p ) D O \r I F 0006760 h # 0 O R v # 0 T H E N 0007000 \r B E G I N \r 0007020 c o p y L i s t _ P l 0007040 a c e L i s t [ t o : c o p y 0007060 L i s t , l p : s e l L i s 0007100 t , \r c e l l S 0007120 i z e : [ x : h S i z e , 0007140 y : 376 001 \0 O = v S i z e ] , 0007160 r e p : [ x : h , y : v 0007200 ] ] ; \r E N D ; \r 0007220 E N D L O O P E N D L O 0007240 O P ; \r \r s e l L i s t T a 0007260 i l . n x t _ c o p y L i s 0007300 t ; \r c o p y L i s t _ 0007320 N I L ; \r b o u n d a r y 0007340 _ g e t R e c t [ s e l L i s 0007360 t ] ; \r W H I L E s e l L 0007400 i s t # N I L D O \r l 0007420 p : l i s t P t r _ s e l 0007440 L i s t ; \r s e l L i s 0007460 t _ l p . n x t ; \r 0007500 l p . s e l e c t e d _ T R 0007520 U E ; \r b o u n d a r y 0007540 _ m e r g e 376 001 \0 372 322 R e c 0007560 t s [ b o u n d a r y , g e t 0007600 R e c t [ l p ] ] ; \r m 0007620 a s t e r L i s t _ i n s e 0007640 r t L i s t [ m a s t e r L i s 0007660 t , l p ] ; \r E N D L 0007700 O O P ; \r \r r e D r a w R e 0007720 c t [ b o u n d a r y , 0 , 0007740 T R U E , T R U E , F A L S 0007760 E ] ; \r \r E X I T S E x i 0010000 t = > N U L L ; \r E N D 0010020 ; \r \r - - g i v e b a c 0010040 k a l l t h e s t o r a g 0010060 e w e a l l o c a t e d \r \r 0010100 C o l o r O n [ ] ; \r a 0010120 n y C h a n g e s _ s i n c 0010140 e I O c h a n g e s _ 376 \0 " 0010160 004 266 T R U E ; \r \r E N D . 0010200 - - o f R e p l i c a t e M 0010220 a i n \r 377 \0 \0 r e p l i c a t e 0010240 . c o n f i g \0 373 230 242 233 w \0 \0 376 0010260 001 \0 267 . - - R e p l i c a t e 0010300 . c o n f i g \r \r - - m o d i 0010320 f i e d b y M c C r e i g h 0010340 t : F e b r u a r y 2 3 , 0010360 1 9 8 2 1 1 : 3 0 A M \r 0010400 - - w r i t t e n b y M c 0010420 C r e i g h t : N o v e m b 0010440 e r 6 , 1 9 8 1 6 : 0 1 0010460 P M \r \r R e p l i c a t e : 0010500 C O N F I G U R A T I O N \r I M 0010520 P O R T S \r m u l t i G r a 0010540 p h i c s D e f s , p p d d d e 0010560 f s , p p d d e f s , p p d e f 0010600 s , P r o c e s s D e f s , \r 0010620 S e g m e n t D e f s , S t r 0010640 i n g D e f s \r C O N T R O L \r 0010660 R e 376 \0 G 325 \t p l i c a t e 0010700 M a i n = \r B E G I N \r R e p 0010720 l i c a t e M a i n ; R o m M a 0010740 k e r C o m m o n ; C h i p U s 0010760 e r I n t I m p l ; \r E N D . \r 0011000 377 \0 \0 r e p l i c a t e - s a v 0011020 e . c m \0 373 230 027 - 331 \0 \0 376 \0 272 K 0011040 ? f t p i n d i g o c o n n 0011060 / c c h i p m o n k d i r / 0011100 c > r e p l i c a t e s t / 0011120 c r e p l i c a t e . c h i p 0011140 b c d r e p l i c a t e . s y 0011160 m b o l s d u m p / c r e p 0011200 l i c a t e - s o u r c e s . d 0011220 m r e p l i c a t e m a i n . 0011240 m e s a r e p l i c a t e . c 0011260 o n f i g r e p l i c a t e - 0011300 s a v e . c m r e p l i c a t 0011320 e - d e l e t e . c m 377 \0 \0 r e 0011340 p l i c a t e - d e l e t e . c 0011360 m \0 373 230 027 - 225 \0 \0 376 \0 237 255 345 d e 0011400 l e t e r e p l i c a t e . c 0011420 o n f i g r e p l i c a t e m 0011440 a i n . m e s a r e p l i c a 0011460 t e - s a v e . c m r e p l i 0011500 c a t e - d e l e t e . c m \r @ 0011520 . s y m b o l s . . . @ d e l 0011540 e t e r e p l i c a t e . s y 0011560 m b o l s \r @ . c h i p b c d . 0011600 . . @ d e l e t e r e p l i 0011620 c a t e . c h i p b c d \r 374 0011636