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