$ od -c -N 50000 [Pixel]<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