$ od -c -N 50000 [Indigo]<Press>PressDecls.dm!2 0000000 377 \0 \0 F o n t P a s s . d f \0 373 0000020 235 Z c 355 \0 \0 376 001 \0 271 \v / / F O 0000040 N T P A S S D e f i n i t i o 0000060 n s . . . . \r \r / / m o d i f 0000100 i e d b y P o l l e Z a n 0000120 d S w i n e h a r t , A u g 0000140 u s t 2 7 , 1 9 8 4 3 : 0000160 2 7 P M , \r / / F P R E Q 0000200 . s n f i e l d e n l a r g 0000220 e d - - v e r s i o n 5 . 0000240 1 . \r \r s t r u c t u r e P R 0000260 E S S F E : [ \t \t / / F o n t 0000300 e n t r y \r \t s e t b y t e 0000320 \t \t / / F o n t s e t \r \t f o 0000340 n t b y t e \t \t / / F o n t 0000360 n u m b e r \r \t [ m b y t e 0000400 \t \t / / B e g i n n i n g c h 0000420 a r c o d e \r \t n 376 001 \0 230 375 0000440 b y t e ] \t \t / / E n d i n g 0000460 c h a r c o d e \r \t = m 0000500 n w o r d \r \t f a m l y w o 0000520 r d \t \t / / F o n t f a m i 0000540 l y n a m e \r \t f a m c o n 0000560 t d w o r d 9 \r \t [ f a c 0000600 e b y t e \t \t / / F o n t f 0000620 a c e c o d e \r \t s o u r c e 0000640 b y t e ] \t \t / / U s e 0000660 c h a r s m + s o u r c e t 0000700 o n + s o u r c e f r o m 0000720 f o n t \r \t = f a c e s o u 0000740 r c e w o r d \r \t s i z w o 0000760 r d \t \t / / S i z e ( - = m i 0001000 c a s ; + = p o i n t s ) \r \t r 0001020 o t a t i o n w o r d \t \t / / 0001040 376 001 \0 351 265 R o t a t i o n , m 0001060 i n u t e s \r \t ] \r \r s t r u c 0001100 t u r e S E T : [ \r \t f o n 0001120 t ^ 0 , 1 5 w o r d \t \t / / T 0001140 a b l e o f F O N T s i n 0001160 t h e F o n t S e t . \r \t 0001200 ] \r \r \r s t r u c t u r e F O 0001220 N T : [ \r \t s e g m e n t s 0001240 w o r d \t \t / / L i s t o f 0001260 F P R E Q ' s \r \t s h a r a b l 0001300 e b i t \t \t / / T r u e i f 0001320 f o n t c a n b e s h a 0001340 r e d . \r \t i n d i r e c t b 0001360 i t \t \t / / T r u e i f i n 0001400 d i r e c t p o i n t e r ( 0001420 a u x s e t ) \r \t s p a r e b 0001440 i t 1 4 376 001 \0 214 347 \r \t [ @ F 0001460 D E S ] \t \t / / F o n t s e 0001500 t b l o c k f o r f i l e 0001520 . \r \t = [ f s w o r d 0001540 ( s i z e F D E S / 1 6 ) ] 0001560 \r \t ] \r \r s t r u c t u r e R 0001600 E Q H e a d e r : [ \t \t / / F 0001620 P R E Q a n d C P R E Q h 0001640 a v e t h e m \r \t n e x t w 0001660 o r d \t \t / / T o c h a i n 0001700 o n a l i s t . . . \r \t t y 0001720 p e b y t e \t \t / / T y p e 0001740 o f p i e c e r e q u e s t 0001760 \r \t s c o r e b i t 7 \t \t / 0002000 / G o o d n e s s o f m a t 0002020 c h \r \t n a m e d b i t \t \t / 0002040 / T r u e i f r 376 001 \0 346 277 f 0002060 a m i n s t a l l e d . \r \t [ 0002100 r m b y t e \t \t / / " R e q 0002120 u e s t e d " m , n ( a n a 0002140 l o g s o f b c , e c ) \r \t 0002160 r n b y t e ] \r \t = r m 0002200 n w o r d \r \t ] \r \r s t r u c 0002220 t u r e F P R E Q : [ \t \t / 0002240 / F o n t p i e c e r e q u 0002260 e s t ( s i m i l a r t o 0002300 I X ) \r \t @ R E Q H e a d e r \t 0002320 \t / / J o i n t s t u f f . \r 0002340 \t r f a m b y t e \t \t / / " R 0002360 e q u e s t e d " p a r a m e 0002400 t e r s \r \t b l a n k b y t e 0002420 \r \t s n w o r d \t \t \t / / " s 0002440 e r i a l n u m b e r " o 376 0002460 001 \0 367 372 f c h a r a c t e r s 0002500 f o u n d \r \t r f a m l y w 0002520 o r d 1 0 \r \t [ r f a c e 0002540 b y t e \r \t r s o u r c e b y 0002560 t e ] \r \t = r f a c e s o 0002600 u r c e w o r d \r \t r s i z 0002620 w o r d \r \t r r o t a t i o n 0002640 w o r d \r \t @ I X \t \t \t / / C l 0002660 o s e s t m a t c h \r \t ] \r \r 0002700 s t r u c t u r e C R E Q : 0002720 [ \t \t / / " C h a r a c t e r " 0002740 r e q u e s t ( F o n t P a 0002760 r t C h a r a c t e r ) \r \t @ R 0003000 E Q H e a d e r \r \t l e n w o 0003020 r d \t \t / / L e n g t h o f 0003040 e n c o d i n g . \r \t p o s : 0003060 @ F P O 376 001 \0 ! v S \t \t / / F i 0003100 l e p o s i t i o n o f e 0003120 n c o d i n g . \r \t w i d t h s 0003140 : @ C h a r W i d t h \t / / W 0003160 i d t h i n f o r m a t i o n 0003200 \r \t ] \r \r m a n i f e s t [ \r 0003220 / / " T y p e s " f o r F P 0003240 R E Q a n d C R E Q \r \t F o 0003260 n t P a r t C h a r a c t e r = 0003300 1 2 \t / / F o r F P R E Q . t 0003320 y p e \r \t \t \t \t / / o t h e r 0003340 s a r e I X T y p e C h a r 0003360 s a n d I X T y p e S p l i 0003400 n e s \r \t S t a n d a r d = 1 3 0003420 \t \t / / C h a r s o r s p l 0003440 i n e s , b u t u n a s s i 0003460 g n e d . \r \t C o 376 \0 , 337 330 n v 0003500 e r t e d = 1 4 \t \t / / H a s 0003520 b e e n s c a n - c o n v e r 0003540 t e d . . \r \t ] \r \r 377 \0 \0 I X . 0003560 d f s \0 373 225 + q C \0 \0 376 001 \0 Z / 0003600 / / P R E P R E S 0003620 S D E F I N 0003640 I T I O N S \r / / \r \r 0003660 \r / / I N D E X 0003700 D e f i n i t i o n s \r \r s 0003720 t r u c t u r e I X H : [ \r 0003740 \t T y p e \t b i t 4 \r \t L e n 0003760 g t h \t b i t 1 2 \r \t ] \r \r s 0004000 t r u c t u r e I X N : [ \t 0004020 \t / / F o r a n a m e \r \t @ 0004040 I X H \r \t C o d e w o r d \r \t 0004060 N a m e w o r d \r \t c o n t d 0004100 w o r d 9 \r \t ] \r \r s t r u 0004120 c t u r e I X : [ \t \t \t / / 0004140 F o r s p l i n e s , c h a 0004160 r a c t e r s \r \t @ I X H \t \t \t 0004200 376 001 \0 344 ^ / / H e a d e r \r \t [ 0004220 f a m b y t e \t \t / / F a 0004240 m i l y n u m b e r \r \t f 0004260 a c e b y t e \t \t / / F a c 0004300 e c o d e \r \t ] = f a m f 0004320 a c e w o r d \r \t b c b y t 0004340 e \t \t \t / / F i r s t c h a 0004360 r n u m b e r \r \t e c b y t 0004400 e \t \t \t / / a n d l a s t \r 0004420 \t s i z w o r d \t \t / / F o 0004440 n t s i z e ( 1 0 m i c r 0004460 o n u n i t s ) \r \t r o t a t 0004500 i o n w o r d \t \t / / R o t 0004520 a t i o n ( a n t i c l o c 0004540 k w i s e ) \r \t s a w o r d 0004560 2 \t \t / / S t a r t i n g a d 0004600 d r e s s 376 001 \0 237 0 o f d a 0004620 t a p a r t \r \t l e n w o r 0004640 d 2 \t \t / / L e n g t h o f 0004660 d a t a p a r t \r \t \t \t \t / 0004700 / W i d t h t y p e e n d s 0004720 h e r e \r \t \t \t \t / / S p l i 0004740 n e t y p e e n d s h e r 0004760 e \r \t r e s o l u t i o n x w 0005000 o r d \t / / 1 0 * ( n u m b e 0005020 r o f b i t s / i n c h ) \r 0005040 \t r e s o l u t i o n y w o r 0005060 d \t / / d i t t o 0005100 \r \t ] \r \r s t r u c t u r e I 0005120 X M : \r [ \r \t @ I X H \t \t \t 0005140 \t / / H e a d e r , t y p e 0005160 = I X T y p e M u l t i C h a 0005200 r s \r \t f a m \t b y 376 001 \0 > 340 t 0005220 e \t \t \t / / F a m i l y n u m 0005240 b e r \r \t f a c e \t b y t e \t \t 0005260 \t / / F a c e c o d e \r \t b c 0005300 \t b y t e \t \t \t / / F i r s t 0005320 c h a r n u m b e r \r \t e c \t 0005340 b y t e \t \t \t / / a n d l a 0005360 s t \r \t s i z \t w o r d \t \t \t / 0005400 / S i z e i n m i c r o n 0005420 s \r \t r o t a t i o n w o r d 0005440 \t \t \t / / R o t a t i o n i 0005460 n m i n u t e s \r \t r e s o l 0005500 u t i o n x \t w o r d \t \t / / 0005520 1 0 * n u m b e r o f b i 0005540 t s / i n c h \r \t r e s o l u t 0005560 i o n y \t w o r d \r \t n u m S e 0005600 g s w o r d \t \t \t / / n u 376 0005620 001 \0 370 ` m b e r o f c h a r 0005640 a c t e r w i d t h s e g m 0005660 e n t s ( 1 s t c o n t a i 0005700 n s r a s t e r s ) \r \t s e g 0005720 s ^ 1 , 4 : [ \t \t \t / / M a 0005740 x 4 \r \t \t s a w o r d 2 \t 0005760 \t / / s t a r t i n g p o s 0006000 i t i o n i n f i l e \r \t \t 0006020 l e n w o r d 2 \t \t / / a 0006040 n d l e n g t h \r \t \t d a t e 0006060 w o r d 2 = \t \t / / d a 0006100 t e a f t e r w h i c h t 0006120 h e s e w i d t h s v a l i 0006140 d \r \t \t [ d a t e 0 w o 0006160 r d ; d a t e 1 w o r d ] 0006200 \r \t \t ] \r ] \r \r m a n i f e s 0006220 t [ \r 376 001 \0 s G / / I X H t 0006240 y p e s \r \t I X T y p e E n d = 0006260 0 \r \t I X T y p e N a m e = 1 \r 0006300 \t I X T y p e S p l i n e s = 2 0006320 \r \t I X T y p e C h a r s = 3 \r 0006340 \t I X T y p e W i d t h s = 4 \r 0006360 \t I X T y p e O r b i t C h a r 0006400 s = 5 \r \t I X T y p e M u l t i 0006420 C h a r s = 6 \r / / I X H 0006440 l e n g t h s \r \t I X L E n d = 0006460 1 \r \t I X L N a m e = s i z e 0006500 I X N / 1 6 \r \t I X L S p l i n 0006520 e s = 9 \r \t I X L C h a r s = 1 0006540 1 \r \t I X L W i d t h s = 9 \r \t 0006560 I X L M u l t i = s i z e I X 0006600 M / 1 6 \r \t I X L M a x = I X L 0006620 M u l t i \r \t ] \r 376 001 \0 ) 8 \r / 0006640 / W I D T H s e 0006660 g m e n t d e f i n i t i o n 0006700 s \r \r s t r u c t u r e W T B 0006720 : [ \t \t / / W i d t h T a b 0006740 l e B l o c k \r \t X L w o r 0006760 d \t \t \t / / X o f f s e t \r \t 0007000 Y B w o r d \t \t \t / / Y o f 0007020 f s e t \r \t X W w o r d \t \t \t 0007040 / / w i d t h \r \t Y H w o r 0007060 d \t \t \t / / h e i g h t \r \t X 0007100 W i d t h F i x e d b i t \r \t 0007120 Y W i d t h F i x e d b i t \r 0007140 \t s p a r e b i t 1 4 \r \t ] 0007160 \r \r / / S P L I N E 0007200 s e g m e n t d e f 0007220 i n i t i o n s \r \r s t r u 376 001 0007240 \0 \t 032 c t u r e S p l i n e W 0007260 i d t h : [ \t \t / / B l o c k 0007300 d e s c r i b i n g s p l i 0007320 n e w i d t h s \r \t W X w o 0007340 r d 2 \t \t / / X w i d t h 0007360 - - F P \r \t W Y w o r d 2 0007400 \t \t / / Y w i d t h - - F 0007420 P \r \t X L w o r d 2 \t \t / / 0007440 X l e f t - - F P \r \t Y B 0007460 w o r d 2 \t \t / / Y b o t 0007500 t o m - - F P \r \t X R w o 0007520 r d 2 \t \t / / X r i g h t 0007540 - - F P \r \t Y T w o r d 2 0007560 \t \t / / Y t o p - - F P \r 0007600 \t ] \r \r m a n i f e s t S p l 0007620 i n e W i d t h s i z e = s i z 0007640 e S 376 001 \0 230 342 p l i n e W i d 0007660 t h / 1 6 \r \r m a n i f e s t 0007700 [ \r / / C o d e s i n t h e 0007720 h e i g h t e n t r y f o 0007740 r a c h a r t h a t i n 0007760 d i c a t e s o m e t h i n g 0010000 e l s e \r \t H N o n E x C o d 0010020 e = - 1 \r \t H S p l i n e C o d 0010040 e = - 2 \r \r / / D L T y p e s 0010060 ( f o r S p l i n e F i l 0010100 e ) \r \t D S p l i n e F o n t M 0010120 o v e T o = 1 \r \t D S p l i n e 0010140 F o n t D r a w T o = 2 \r \t D S 0010160 p l i n e F o n t D r a w C u r 0010200 v e = 3 \r \r \t D S p l i n e F o 0010220 n t N e w O b j e c t = - 1 \r \t 0010240 D S p l i n e F 376 001 \0 375 302 o n t 0010260 E n d O b j e c t s = - 2 \r \t ] 0010300 \r \r \r / / C H A R 0010320 s e g m e n t d e f i n 0010340 i t i o n s ( s c a n - c o n 0010360 v e r t e d c h a r s ) \r \r s 0010400 t r u c t u r e C h a r W i d 0010420 t h : [ \t \t / / B l o c k d 0010440 e s c r i b i n g c h a r w 0010460 i d t h s \r \t W X w o r d 2 0010500 \t \t / / X w i d t h - - D 0010520 P \r \t W Y w o r d 2 \t \t / / 0010540 Y w i d t h - - D P \r \t X 0010560 L w o r d \t \t \t / / X l e f 0010600 t ( o f f s e t ) i n t e g 0010620 e r \r \t Y B w o r d \t \t \t / / 0010640 Y b o t t o m ( o f f 376 001 \0 0010660 G 220 s e t ) i n t e g e r \r \t 0010700 W w o r d \t \t \t / / W i d t h 0010720 ( i n t e g e r ) \r \t H w o 0010740 r d \t \t \t / / H e i g h t ( i 0010760 n t e g e r ) o r s p e c i 0011000 a l c o d e \r \t ] \r \r m a n i 0011020 f e s t C h a r W i d t h s i 0011040 z e = s i z e C h a r W i d t 0011060 h / 1 6 \r \r s t r u c t u r e 0011100 F H E A D : [ \t \t / / F o n t 0011120 h e a d e r , s c a n c o 0011140 n v e r t e d \r \t h w b i t 0011160 6 \t \t \t / / H e i g h t i n 0011200 w o r d s \r \t n s b i t 1 0 0011220 \t \t \t / / w i d t h i n s c 0011240 a n l i n e s \r \t ] \r \r \r / / 0011260 M i 376 001 \0 322 350 s c . \r s t r u c 0011300 t u r e C o n v e r t : [ \r 0011320 \t M o n o t o n e w o r d \t \t 0011340 / / T r u e i f i n p u t 0011360 t o c o n v e r s i o n i s 0011400 m o n o t o n e \r \t S p l i n 0011420 e O k w o r d \t \t / / T r u e 0011440 i f o u t p u t c a n b 0011460 e s p l i n e ( t o o b i 0011500 g ) \r \t B B G o o d w o r d \t 0011520 \t / / T r u e i f b o u n d 0011540 i n g b o x w i l l b e 0011560 c o r r e c t \r \t P r e s s F o 0011600 n t P a r t w o r d \t / / T r 0011620 u e i f s c a n c o n v e 0011640 r t i n g a p r e s s f o 0011660 n t p a r t 376 \0 257 8 300 \r \t L e 0011700 n w o r d \t \t \t / / \t ( i f 0011720 s o , t h i s i s t h e 0011740 l e n g t h ) \r \t ] \r \r m a n i 0011760 f e s t [ \r \t g o t n a m e = 0012000 1 \r \t g o t f a c e = 2 \r \t g o 0012020 t s i z e = 4 \r \t g o t r o t a 0012040 t i o n = 8 \r \t g o t i n c l i 0012060 n e = 1 6 \r \t g o t r e s o l u 0012100 t i o n = 3 2 \r \t g o t r e c o 0012120 r d = 6 4 \r \t g o t f a c t o r 0012140 s = 1 2 8 \r \t ] \r \r \r 377 \0 \0 O r 0012160 b i t . d \0 373 225 + q C \0 \0 376 001 \0 0012200 026 T / / O R B I T d e f i n 0012220 i t i o n s \r / / I n d i c e 0012240 s i n t o m i c r o c o d e 0012260 f u n c t i o n d i s p a t 0012300 c h . \r \r m a n i f e s t [ \r 0012320 \t f C o n t r o l = 0 \r \t f O r 0012340 b i t D a t a = 1 \r \t f H e i g 0012360 h t = 2 \r \t f X Y = 3 \r \t f D B 0012400 C W I D = 4 \r \t f F o n t D a t 0012420 a = 5 \r \t f D W C = 6 \r \t f I n 0012440 k = 7 \r \t f D B C W I D I n = 8 0012460 \r \t f R O S C o m m a n d = 9 \r 0012500 \t f R e a d B l o c k = 1 0 \r \t 0012520 f C h a r a c t e r = 1 1 \r \t f 0012540 S l o t = 1 2 \r \t f O n e B a n 0012560 d = 1 3 \r \t f R O S S t a t u s 0012600 = 1 376 001 \0 354 215 4 \r \t f S t a t u 0012620 s = 4 0 0 \t \t / / R e a l l y 0012640 a n o p i n m i c r o c o 0012660 d e \r \t ] \r \r \r / / F i r s t 0012700 3 b i t s a r e n o t 0012720 r e p o r t e d b y h a r d 0012740 w a r e , b u t a r e i n 0012760 s e r t e d b y \r / / t h e 0013000 m i c r o c o d e . \r \r s t r 0013020 u c t u r e S T A T U S [ \r \t 0013040 I A C S b i t 1 \r \t t i m e 0013060 o u t b i t 1 \r \t s t a b l 0013100 e R O S w o r d b i t 1 \r \t 0013120 p r e m a t u r e P a g e A b o 0013140 r t b i t 1 / / O r b i 0013160 t w a s b e h i n d w h e 0013200 n S e n d V 376 001 \0 5 233 i d e o 0013220 d i s a p p e a r e d \r \t i n 0013240 v a l i d B a n d E n t r y b 0013260 i t 1 / / M i c r o c o d 0013300 e e n c o u n t e r e d u n 0013320 i m p l e m e n t e d b a n d 0013340 " o p c o d e " \r \t b l a n k 0013360 b i t 3 \r \t b a d R O S b 0013400 i t 1 \r \t i n c o n b i t 0013420 1 \r \t s t a b l e R O S b i t 0013440 1 \r \t b e h i n d b i t 1 0013460 \r \t R O S S t a t u s b i t 0013500 4 = \r \t \t [ \r \t \t R O S S t a 0013520 t u s B i t 0 b i t \r \t \t R O 0013540 S S t a t u s B i t 1 b i t \r 0013560 \t \t R O S S t a t u s B i t 2 0013600 b i t \r \t \t R O S S t a 376 001 \0 202 0013620 8 t u s B i t 3 b i t \r \t \t ] 0013640 \r \t ] \r \r s t r u c t u r e C 0013660 O N T R O L [ \r \t F A b i t 0013700 8 \r \t s l o t T a k e E n a b l 0013720 e b i t 1 \r \t s l o t T a k 0013740 e b i t \r \t b l a n k b i t 0013760 \r \t c l r B e h i n d b i t \r 0014000 \t g o A w a y b i t \r \t w h i 0014020 c h b i t \r \t c l r F r e s h 0014040 b i t \r \t r e s e t b i t \r 0014060 \t ] \r \r / / A d a p t e r d 0014100 e f i n i t i o n s \r \r s t r u 0014120 c t u r e R O S C M D [ \r \t c 0014140 o m m a n d b i t 4 \r \t v a 0014160 l u e b i t 1 2 = \r \t \t [ 0014200 \r \t \t b i t S c a l e b i t 0014220 3 376 001 \0 " 031 \r \t \t m o t o r S c 0014240 a l e b i t 3 \r \t \t e x t e 0014260 n d V i d e o b i t \r \t \t s p 0014300 a r e b i t \r \t \t t e s t P a 0014320 g e S y n c b i t \r \t \t c o m 0014340 m a n d L o c a l b i t \r \t \t 0014360 c o m m a n d B e a m O n b i 0014400 t \r \t \t t e s t M o d e b i t 0014420 \r \t \t ] \r \t ] \r \r s t r u c t u 0014440 r e R O S S T A T U S [ \r \t s 0014460 e n d V i d e o b i t \r \t p r 0014500 i n t M o d e b i t \r \t l o c 0014520 a l b i t \r \t b e a m E n a b 0014540 l e b i t \r \t s t a t u s B e 0014560 a m O n b i t \r \t s p a r e 1 0014600 b i t 1 1 \r \r \t l a s t C o 0014620 m m a n d 376 001 \0 b 024 w o r d \r 0014640 \r \t v i d e o P o l a r i t y 0014660 b i t \r \t b i t S c a l e b i 0014700 t 3 \r \t b i t B l o c k b i 0014720 t 1 2 \r \r \t s e l e c t L e a 0014740 d E d g e b i t \r \t m o t o r 0014760 S c a l e b i t 3 \r \t m o t 0015000 o r S p e e d b i t 1 2 \r \r 0015020 \t s w i t c h 3 b i t \r \t s p 0015040 a r e 2 b i t \r \t e x t e n d 0015060 V i d e o b i t \r \t t e s t P 0015100 a g e S y n c b i t \r \t l i n 0015120 e S y n c D e l a y b i t 1 0015140 2 \r \r \t s w i t c h 4 b i t \r 0015160 \t c o m m a n d L o c a l b i 0015200 t \r \t c o m m a n d B e a m O n 0015220 b i t \r \t t e s t M 376 001 \0 8 321 0015240 o d e b i t \r \t p a g e S y n 0015260 c D e l a y b i t 1 2 \r \r \t 0015300 l i n e N o i s e b i t \r \t c 0015320 o m p a r e E r r o r b i t \r 0015340 \t b u f f e r U n d e r f l o w 0015360 b i t \r \t p a c k e t s O K 0015400 b i t \r \t e x t e r n a l C o m 0015420 m a n d 1 b i t 1 2 \r \r \t l 0015440 i n e C o u n t b i t 4 \r \t 0015460 v i d e o G a t e b i t 1 2 0015500 \r \r \t s p e c i a l S t a t u s 0015520 1 w o r d \r \t s p e c i a l S 0015540 t a t u s 2 w o r d \r \t i d 0015560 w o r d \r \t s n w o r d \r \t ] 0015600 \r \r m a n i f e s t [ \t / / 0015620 A d a p t e r c o n t r o l 0015640 376 001 \0 233 315 c o m m a n d s \r \t a 0015660 d B u f f e r R e s e t = 0 \r \t 0015700 a d S e t S c a l e s = # 1 0 0 0015720 1 0 \t / / N o t e i n v e r t 0015740 e d p o l a r i t y o f t 0015760 e s t p a g e s y n c \r \t a 0016000 d B i t C l o c k = # 2 0 0 0 0 0016020 \r \t a d M o t o r S p e e d = # 0016040 3 0 0 0 0 \r \t a d L i n e S y n 0016060 c D e l a y = # 4 0 0 0 0 \r \t a 0016100 d P a g e S y n c D e l a y = # 0016120 5 0 0 0 0 \r \t a d V i d e o G a 0016140 t e = # 7 0 0 0 0 \r \t a d E x t 0016160 e r n a l C o m m a n d 1 = # 6 0016200 0 0 0 0 \r \t a d E x t e r n a l 0016220 C o m m a n d 2 = # 7 0 0 0 0 \r 0016240 \t ] \r \r / 376 \0 n 247 252 / D C S , 0016260 O c t o b e r 1 6 , 1 9 7 0016300 7 3 : 5 9 P M , a d d 0016320 " p r e m a t u r e P a g e A b 0016340 o r t " , " i n v a l i d B a 0016360 n d E n t r y " f i r m w a r 0016400 e o r b i t s t a t u s b 0016420 i t s \r / / \r 377 \0 \0 P r e s s 0016440 F i l e . d f \0 373 225 + q C \0 \0 376 0016460 001 \0 d 036 \r / / S t a n d a r d 0016500 P R E S S f i l e d e f i 0016520 n i t i o n s \r / / W i l l i 0016540 a m N e w m a n 4 - 2 4 - 7 0016560 5 \r \r m a n i f e s t [ \r \t P 0016600 r e s s P a s s w d = 2 7 1 8 3 0016620 \t / / P r e s s p a s s w o 0016640 r d \r \t ] \r \r / / S t r u c t 0016660 u r e s \r \r / / D D V u s e 0016700 d t o a c c e s s P R d d 0016720 i r - - P R f i l e d o 0016740 c u m e n t d i r e c t o r y 0016760 \r \r s t r u c t u r e D D V : 0017000 [ \r \t P a s s w d \t w o r d \t 0017020 \t / / p a s s w o r d = 2 7 1 0017040 8 3 \r \t n R e c s \t w o r d \t \t 0017060 / / t 376 001 \0 P ] o t a l n o 0017100 o f r e c o r d s i n P 0017120 R f i l e \r \t n P a r t s \t w 0017140 o r d \t \t / / n o o f p a 0017160 r t s \r \t p d S t a r t \t w o r 0017200 d \t \t / / w h e r e p a r t 0017220 d i r e c t o r y b e g i n 0017240 s \r \t p d R e c s \t w o r d \t \t 0017260 / / n o o f r e c o r d s 0017300 \r \t B a c k p \t w o r d \t \t / / 0017320 b a c k p o i n t e r \r \t d 0017340 a t e \t \t w o r d 2 \r \t f C o 0017360 p y \t w o r d \t \t / / f i r s 0017400 t c o p y t o p r i n t \r 0017420 \t l C o p y \t w o r d \t \t / / 0017440 l a s t c o p y t o p r i 0017460 n t \r \t f P a g e 376 001 \0 311 004 \t w 0017500 o r d \r \t l P a g e \t \t w o r d 0017520 \r \t S o f t S c a n w o r d \t 0017540 / / $ s o r $ S i f S o 0017560 f t S c a n r e q u e s t e d 0017600 ( n o O R b i t ) \r \t s p a 0017620 r e 3 \t w o r d 1 1 5 \t / / T 0017640 o c l o s e o u t f i r s 0017660 t 1 2 8 w o r d s \r \t F i l 0017700 e S t r \t w o r d 2 6 \t \t / / 0017720 F i l e n a m e s t r i n g 0017740 \r \t C r e a t S t r \t w o r d 0017760 1 6 \t / / C r e a t o r s t r 0020000 i n g \r \t D a t e S t r \t w o r 0020020 d 2 0 \t \t / / D a t e s t r 0020040 i n g \r \t ] \r \r \r / / P E i 0020060 s u s e d t o r e a d 376 001 0020100 \0 \t ` p a r t e n t r i e s 0020120 \r \r s t r u c t u r e P E : 0020140 [ \r \t T y p e \t w o r d \t \t / / 0020160 V a r i o u s t y p e s \r \t p 0020200 S t a r t \t w o r d \t \t / / R e 0020220 c o r d n u m b e r w h e r 0020240 e b e g i n s \r \t p R e c s \t 0020260 w o r d \t \t / / n u m b e r 0020300 o f R e c o r d s i n t h 0020320 i s p a r t \r \t P a d d i n g 0020340 \t w o r d \t \t / / P a d d i n g 0020360 a m o u n t s \r \t ] \r \r m a n 0020400 i f e s t [ \r \t P E T y p e F 0020420 i l e = 2 \t / / d i r e c t o r 0020440 y o f o t h e r f i l e s 0020460 n e e d e d \r \t P E T y p e F 0020500 o n t 376 001 \0 220 " = 1 \r \t P E T y 0020520 p e P a g e = 0 \t \t / / P a r t 0020540 t y p e c o d e s . \r \t ] \r 0020560 \r / / F E u s e d t o r 0020600 e a d F o n t D i r e c t o 0020620 r y e n t r i e s \r \r s t r u 0020640 c t u r e F E : [ \r \t l e n 0020660 g t h \t w o r d \t \t / / l e n 0020700 g t h o f e n t r y \r \t s e 0020720 t \t b i t 8 \r \t f n o \t b i t 0020740 8 \r \t d e s t m \t b i t 8 \t 0020760 \t / / f i r s t c h a r c 0021000 o d e \r \t d e s t n \t b i t 8 0021020 \t \t / / l a s t \r \t f a m \t w 0021040 o r d 1 0 \t \t / / n a m e 0021060 s t r i n g \r \t f a c e \t b i t 0021100 8 \r \t s o u r 376 001 \0 366 331 c e \t 0021120 b i t 8 \t \t / / f i r s t 0021140 c h a r \r \t s i z \t w o r d \r \t 0021160 r o t n \t w o r d \r \t ] \r \r m a 0021200 n i f e s t [ F E l e n = s 0021220 i z e F E / 1 6 ] \r \r / / 0021240 E H u s e d t o a c c e s 0021260 s E n t i t y H e a d e r 0021300 ( n o w c a l l e d T r a i 0021320 l e r ) \r \r s t r u c t u r e 0021340 E H : [ \r \t T y p e \t b i t 0021360 8 \t \t / / e n t i t y t y p 0021400 e \r \t F o n t s e t \t b i t 8 0021420 \t \t / / f o n t s e t \r \t D 0021440 s t a r t \t w o r d 2 \t \t / / 0021460 b y t e a d d r e s s o f 0021500 d a t a \r \t D l e n g t 376 001 \0 0021520 334 \a h \t w o r d 2 \t \t / / b 0021540 y t e l e n g t h o f d a 0021560 t a \r \t X e \t w o r d \t \t / / 0021600 o r i g i n x \r \t Y e \t w o r 0021620 d \t \t / / y \r \t X l e f t \t w 0021640 o r d \t \t / / l h c o r n e 0021660 r \r \t Y b o t t o m \t w o r d \r 0021700 \t W i d t h \t w o r d \r \t H e i 0021720 g h t \t w o r d \r \t L e n g t h 0021740 \t w o r d \t \t / / l e n g t h 0021760 i n w o r d s o f e n t 0022000 i t y \r \t ] \r \r \r \r m a n i f e 0022020 s t [ \r \r / / E n t i t y 0022040 ( E L ) c o m m a n d d e f 0022060 s \r \r \t E S h o w S h o r t = 0 0022100 \r \t E S k i p S h o r t = # 4 0 0022120 \r \t 376 001 \0 206 336 E S h o w S k i p 0022140 = # 1 0 0 \r \t E S p a c e X S h 0022160 o r t = # 1 4 0 \r \t E S p a c e 0022200 Y S h o r t = # 1 5 0 \r \t E F o 0022220 n t = # 1 6 0 \r \r \t E S h o r t 0022240 M a x = # 1 7 7 \t \t / / M a x 0022260 c o d e w i t h s h o r t 0022300 e n c o d i n g \r \r \t E S k i p 0022320 C o n t r o l I m m e d i a t e 0022340 = # 3 5 3 \r \t E A l t e r n a t 0022360 i v e = # 3 5 4 \r \t E O n l y O 0022400 n C o p y = # 3 5 5 \r \t E S e t 0022420 X = # 3 5 6 \r \t E S e t Y = # 3 0022440 5 7 \r \t E S h o w = # 3 6 0 \r \t 0022460 E S k i p = # 3 6 1 \r \t E S k i 0022500 p C o n t r o l = # 3 6 2 \r \t E 0022520 S h o w I m m 376 001 \0 { q e d i a 0022540 t e = # 3 6 3 \r \t E S p a c e X 0022560 = # 3 6 4 \r \t E S p a c e Y = # 0022600 3 6 5 \r \t E R e s e t S p a c e 0022620 = # 3 6 6 \r \t E S p a c e = # 3 0022640 6 7 \r \t E S e t B r i g h t = # 0022660 3 7 0 \r \t E S e t H u e = # 3 7 0022700 1 \r \t E S e t S a t = # 3 7 2 \r 0022720 \t E S h o w O b j e c t = # 3 7 0022740 3 \r \t E S h o w D o t s = # 3 7 0022760 4 \r \t E S h o w D o t s O p a q 0023000 u e = # 3 7 5 \r \t E S h o w R e 0023020 c t a n g l e = # 3 7 6 \r \t E N 0023040 o p = # 3 7 7 \r \r \r / / D L c 0023060 o m m a n d d e f i n i t i o 0023100 n s \r \r \t D D o t C o d e = # 4 0023120 0 0 \t \t / / D o t s o 376 \0 371 > 0023140 334 p e r a t o r s \r \t D D o t W 0023160 i n d o w = 1 \r \t D D o t M o d 0023200 e = # 1 0 0 0 \r \t D D o t S i z 0023220 e = 2 \r \t D D o t s F o l l o w 0023240 = 3 \r \t D D o t s F r o m F i l 0023260 e = 4 \r \t D D o t s F r o m P r 0023300 e s s F i l e = 5 \r \t D S a m p 0023320 l e P r o p s = 6 \r \t S S P I n 0023340 p u t I n t e n s i t y = 0 \r \t 0023360 S S P O u t p u t I n t e n s i 0023400 t y = 1 \r \t S S P S c r e e n = 0023420 2 \r \t S S P D o t = 3 \r \r \t D M 0023440 o v e T o = 0 \t \t / / G r a p h 0023460 i c s o p e r a t o r s \r \t D 0023500 D r a w T o = 1 \r \t D D r a w C 0023520 u r v e = 2 \r \t ] \r 377 \0 \0 P r e 0023540 s s I n t e r n a l s . d f \0 373 0023560 235 Z d \ \0 \0 376 001 \0 _ 352 / / P r 0023600 e s s I n t e r n a l s . d f 0023620 - - D e f i n i t i o n s u 0023640 n i v e r s a l t o p r e s 0023660 s p r i n t i n g c o d e . 0023700 \r \r / / l a s t m o d i f 0023720 i e d b y P o l l e Z a n 0023740 d S w i n e h a r t A u g u 0023760 s t 2 7 , 1 9 8 4 \r / / 0024000 E n l a r g e s p a c e f o 0024020 r F P R E Q ; v e r s i 0024040 o n 5 . 1 \r \r / / l a s t 0024060 m o d i f i e d b y W i l 0024100 l i a m s F e b r u a r y 1 0024120 4 , 1 9 8 3 1 0 : 3 5 A 0024140 M \r / / - - a d d e d 0024160 B a n d W i d t h t 376 001 \0 276 266 0024200 o P a g e G \r / / l a s t 0024220 m o d i f i e d b y B u t t 0024240 e r f i e l d , O c t o b e r 0024260 1 6 , 1 9 8 0 1 0 : 5 6 0024300 A M \r / / B E M a x H , i 0024320 n c r e a s e b y 1 4 f r 0024340 o m 8 t o 2 2 t o i n 0024360 c l u d e m o r e r e c t a 0024400 n g l e s - 1 0 / 1 5 \r / / 0024420 - F , r e p l a c e D A 0024440 T a b l e w i t h f m a p 0024460 - 4 / 1 8 / 8 0 \r \r / / F i 0024500 l e s t u f f \r \r m a n i f e 0024520 s t \r [ \t \t \t \t / / M u s t 0024540 b e n e 0 f o r W i n d 0024560 o w C h a n g e T y p e \r 0024600 376 001 \0 8 257 F I L E R W = 1 \t \t \t 0024620 / / R e a d - w r i t e \r 0024640 F I L E R O = 2 \t \t \t / / R e a 0024660 d o n l y \r F I L E W O 0024700 = 3 \t \t \t / / W r i t e o n l 0024720 y \r \r F I L E B i t s = 0 0024740 \t \t \t / / B i t - m a p o u t 0024760 p u t f i l e \r F I L E 0025000 S c r a t c h = 1 \t \t / / S c r 0025020 a t c h f i l e \r F I L 0025040 E L e f t O v e r 1 = 2 \t \t / / 0025060 L e f t - o v e r f i l e s \r 0025100 F I L E L e f t O v e r 2 0025120 = 3 \t \t / / \t " \r F I L E 0025140 B a n d s = 4 \t \t \t / / F i l e 0025160 f o r s t o r i n g b a n 0025200 d i n f 376 001 \0 350 032 o r m a t i 0025220 o n \r F I L E M e t e r = 0025240 5 \t \t \t / / F i l e f o r m 0025260 e t e r i n g i n f o r m a t 0025300 i o n \r F I L E F o n t D 0025320 i c t i o n a r y = 6 \t \t / / F 0025340 i l e f o r f o n t d i c 0025360 t i o n a r y \r F I L E P 0025400 r e s s P r o g r a m = 7 \t \t / 0025420 / T h e p r o g r a m f i l 0025440 e f o r o v e r l a y s \r 0025460 F I L E E x t e r n a l = 8 0025500 \t \t \t / / a f i l e r e f e 0025520 r e n c e d f r o m t h e 0025540 P r e s s f i l e ( d o t s 0025560 , f o n t s ) \r F I L E P 0025600 r e s s = 1 0 0 0 \t 376 001 \0 342 022 \t 0025620 / / T h e P r e s s f i l e 0025640 ! ! ! ! ! ! ! ! \r ] \r \r s t 0025660 r u c t u r e F : \t \t \t / / " 0025700 F I L E " s t r u c t u r e \r 0025720 [ \r T y p e \t w o r d \t 0025740 \t \t / / T y p e o f f i l e 0025760 ( r e a d o n l y , e t c 0026000 . ) \r N a m e \t w o r d \t 0026020 \t \t / / " N a m e " ( i n t e 0026040 g e r c o d e ) \r D e v 0026060 i c e \t w o r d \t \t / / D e v i 0026100 c e c o d e \r P a g e s 0026120 i z e w o r d \t \t / / - - 0026140 p a g e s i z e o f d e v 0026160 i c e \r L o g P a g e s i 0026200 z e w o r d \t \t / / - - 376 0026220 001 \0 232 247 a n d i t s l o g 0026240 b a s e 2 \r P a g e c n 0026260 t \t w o r d \t \t / / L e n g t h 0026300 i n p a g e s \r f p 0026320 \t w o r d 3 = \r \t [ \r \t s e 0026340 r i a l N u m b e r w o r d 0026360 2 \r \t v e r s i o n w o r d \t 0026400 \t / / F i l e I D f o r B 0026420 F S \r \t ] \r D A F i r s t 0026440 \t w o r d \t \t / / I f n o n - 0026460 z e r o , p a g e n i s 0026500 a t l o g i c a l \r \t \t \t \t / 0026520 / a d r D A F i r s t + n . 0026540 \r f m a p w o r d 0 \t 0026560 \t \t / / I S F f m a p ( i 0026600 f f i l e i s r a n d o m 0026620 a l l 376 001 \0 R d o c a t e d ) 0026640 \r ] \r \r s t r u c t u r e C 0026660 o l o r : \r [ H u e \t b y 0026700 t e \t / / " W a v e L e n g t h 0026720 " \r S a t u r a t i o n \t 0026740 b y t e \t / / " P u r i t y " \r 0026760 I n t e n s i t y \t b y t 0027000 e \t / / " L u m i n a n c e " \r 0027020 s p a r e \t b y t e \r ] 0027040 \r m a n i f e s t l C o l o r 0027060 = s i z e C o l o r / 1 6 \r \r 0027100 m a n i f e s t \r [ \r D 0027120 I S K 3 1 = 0 \t \t \t / / F i l e 0027140 r e s i d e s o n M o d e 0027160 l 3 1 \r D I S K 3 1 B = 0027200 1 \t \t \t / / S e c o n d m o d 0027220 e l 3 1 d i s 376 001 \0 005 016 k \r 0027240 D I S K T 8 0 = 2 \t \t \t / 0027260 / F i l e r e s i d e s o n 0027300 T 8 0 d i s k \r ] \r \r \f / 0027320 / W i n d o w S t u f f \r \r 0027340 m a n i f e s t \r [ \t \t \t \t / 0027360 / M u s t b e n e 0 f o 0027400 r W i n d o w C h a n g e T y 0027420 p e \r W I N D O W N o S t 0027440 r a t e g y = 1 \t \t / / N o s 0027460 p e c i a l w i n d o w i n g 0027500 s t r a t e g y \r W I N 0027520 D O W P a g e A h e a d = 2 \t \t 0027540 / / R e a d o n a h e a d . 0027560 \r ] \r \r \r s t r u c t u r e 0027600 b l o c k : \t \t / / D e s c r 0027620 i b e s a b u f f e r 376 001 0027640 \0 S 9 i n c o r e . \r [ \r 0027660 C o r e A d r \t w o r d \t \t 0027700 / / C o r e a d d r e s s o 0027720 f b u f f e r . \r P N \t 0027740 \t w o r d \t \t / / F i l e p a 0027760 g e n u m b e r i n t h i 0030000 s b u f f e r . \r A g e 0030020 \t \t w o r d \t \t / / F o r L R 0030040 U s t r a t e g y \r S t 0030060 a t u s \t w o r d \t \t / / F o r 0030100 c l e a n , d i r t y \r ] \r 0030120 \r s t r u c t u r e W : \t \t 0030140 \t / / W i n d o w d e s c r i 0030160 p t o r . \r [ \r s p a 0030200 r e 1 \t w o r d \t \t / / L e a v 0030220 e a f e w h e r e s o 0030240 t h a 376 001 \0 023 256 t p e o p l e 0030260 w h o \r s p a r e 2 \t w 0030300 o r d \t \t / / u s e w i n d o 0030320 w s f o r o t h e r p u r 0030340 p o s e s c a n \r s p a 0030360 r e 3 \t w o r d \t \t / / d e f i 0030400 n e s t r u c t u r e s t h 0030420 a t h a v e s p e c i a l \r 0030440 s p a r e 4 \t w o r d \t \t 0030460 / / p u r p o s e e n t r i e 0030500 s h e r e \r \r B a s e \t 0030520 \t w o r d \t \t / / F o r c u r 0030540 r e n t b u f f e r \r O 0030560 f f s e t \t w o r d \t \t / / 0030600 " \r W h i c h B y t e \t w 0030620 o r d \t \t / / = 0 f o r l e 0030640 f t , 1 f o 376 001 \0 335 353 r r 0030660 i g h t . \r B y t e C o u 0030700 n t \t w o r d \t \t / / B u m p e 0030720 d f o r e a c h " b y t e 0030740 " r e a d \r F i l e \t \t 0030760 w o r d \t \t / / F i l e f o r 0031000 t h i s w i n d o w . \r 0031020 S t r a t e g y \t w o r d \t \t 0031040 / / P a g i n g s t r a t e g 0031060 y \r B u f S i z e \t w o r 0031100 d \t \t / / S i z e o f t h e 0031120 b u f f e r \r L o g B u 0031140 f S i z e \t w o r d \t \t / / L o 0031160 g ( b a s e 2 ) o f b u 0031200 f f e r s i z e \r C u r 0031220 P N \t w o r d \t \t / / C u r r e 0031240 n t p a g e n u m b e 376 001 \0 0031260 240 354 r \r C u r B u f \t w o 0031300 r d \t \t / / C u r r e n t " b 0031320 u f f e r " s t r u c t u r e 0031340 \r N u m B l o c k s \t w o 0031360 r d \t \t / / N u m b e r o f 0031400 a v a i l a b l e b l o c k 0031420 s t r s . \r @ b l o c k ^ 0031440 1 , 4 0 \r ] \r \r \r \f / / P a 0031460 g e s t u f f \r \r s t r u c t 0031500 u r e P a g e G : \t \t / / P 0031520 a g e G o o d i e b l o c k 0031540 \r [ \r F i r s t B a n d 0031560 \t w o r d \t \t / / L o w e s t 0031600 u s e d b a n d \r L a s 0031620 t B a n d \t w o r d \t \t / / H i 0031640 g h e s t u s e d b a n d \r 0031660 376 001 \0 023 F B i t M a r g i 0031700 n \t w o r d \t \t / / M a r g i n 0031720 a n d \r B i t W c \t w o 0031740 r d \t \t / / W o r d c o u n t 0031760 o f s c a n l i n e s \r 0032000 B a n d P o s \t w o r d 2 0032020 \t / / F i l e p o s i t i o n 0032040 o f b a n d s t u f f \r 0032060 B i t P a g e \t w o r d \t \t 0032100 / / F i l e p o s i t i o n 0032120 o f b i t s ( u n i t s = 0032140 1 0 2 4 w o r d s ) \r 0032160 C o p y C r u c i a l \t b i t \t 0032200 / / T r u e i f d i f f e r 0032220 e n t v e r s i o n n e e d 0032240 e d f o r d i f f e r e n t 0032260 c o p i e s 376 001 \0 { . . \r 0032300 S i m p l e P a g e \t b i t \r 0032320 C o l o r P a s s \t \t b i 0032340 t 2 \t / / f o r c o l o r 0032360 p r i n t e r s : 0 = m a g e 0032400 n t a , 1 = y e l l o w , 2 = c 0032420 y a n , 3 = b l a c k \r C 0032440 o l o r U s e d \t \t b i t \t / / 0032460 T r u e i f c o l o r u s 0032500 e d ( o n l y s c a n c o 0032520 n v e r t o n c e f o r b 0032540 l a c k ) \r b l a n k \t b 0032560 i t 1 1 \r P a g e N u m 0032600 b e r w o r d \t / / F r o m 0032620 o r i g i n a l P r e s s f 0032640 i l e . \r \r / / * * * a 0032660 d d e d f o r S p r 376 001 \0 ) 0032700 023 u c e - l i k e o p e r a t 0032720 i o n \r n R e c o r d s \t 0032740 w o r d \r f o n t L o a d 0032760 \t w o r d \r B a n d W i d 0033000 t h w o r d \t \t / / T 0033020 h i s i s u s e d f o r 0033040 h i g h - r e s o l u t i o n 0033060 s l i c i n g . \r ] \r \r s t r 0033100 u c t u r e F o n t G : \r [ 0033120 \r n R e c o r d s \t w o r 0033140 d \r b a n d P o s \t w o r 0033160 d \r f o n t L e n g t h \t 0033200 w o r d \r ] \r \r / / C o m m 0033220 u n i c a t i o n o u t o f 0033240 F o n t s P a s s . F o 0033260 l l o w i n g i s a f o n 0033300 t 376 001 \0 254 222 d e s c r i p t o 0033320 r : \r \r s t r u c t u r e F P 0033340 O S : \t \t / / F i l e p o s 0033360 i t i o n d e s c r i p t o r 0033400 \r [ \r F i l e \t b y t e 0033420 \t \t \t / / F i l e i d e n t i 0033440 f i e r ( s e e b e l o w ) 0033460 \r L e n \t b y t e 3 \r 0033500 ] \r \r m a n i f e s t \r [ \r 0033520 F P O S T h i s = 0 \t \t \t / 0033540 / T h i s f i l e . \r F 0033560 P O S S c r a t c h = 1 \t \t / / 0033600 S c r a t c h f i l e . \r 0033620 F P O S G o d = 2 \t \t \t / / G 0033640 o d f i l e . \r F P O S 0033660 D N E = # 3 7 7 \t \t \t / / D o e 0033700 s n o t 376 001 \0 f 4 e x i s t 0033720 . ( - 1 ) \r ] \r \r s t r u c 0033740 t u r e F D E S : \t \t / / F 0033760 o n t d e s c r i p t o r \r 0034000 [ \r s e t \t \t b y t e \r 0034020 f o n t \t \t b y t e \r 0034040 b c \t \t b y t e \r e c \t \t 0034060 b y t e \r W T P o s : \t 0034100 [ @ F P O S ] = [ s p 0034120 a r e 1 w o r d ; A u x S e 0034140 t b y t e ; A u x F o n t 0034160 b y t e ] \r I C C P o s 0034200 : \t [ @ F P O S ] = [ 0034220 s p a r e w o r d ; I C C B 0034240 a s e w o r d ] \r ] \r \r / 0034260 / F o l l o w i n g a r e 0034300 a b s t r a c t e d 376 001 \0 + 244 0034320 d e f i n i t i o n s f r o m 0034340 I X - - n a m e s a r e 0034360 c h a n g e d \r / / s o t 0034400 h a t t h e r e i s n o 0034420 c o n f u s i o n ( d a m m i 0034440 t ) * * * * * * * * * * * * * 0034460 * \r \r s t r u c t u r e C h a 0034500 r W i d t h p : \t \t / / M o d 0034520 i f i e d v e r s i o n o f 0034540 I X . D F S d e f n . \r [ 0034560 \r W S \t w o r d 2 \t \t \t 0034600 / / W i d t h i n " s c a n 0034620 " d i r e c t i o n \r W 0034640 B \t w o r d 2 \t \t \t / / W i d 0034660 t h i n " b i t " d i r e 0034700 c t i o n \r O S \t w o r d 0034720 376 001 \0 343 # \t \t \t / / O f f s e 0034740 t i n s c a n d i r e c t 0034760 i o n \r O B \t w o r d \t 0035000 \t \t / / O f f s e t i n b i 0035020 t d i r e c t i o n \r D 0035040 S \t w o r d \t \t \t / / D i m e n 0035060 s i o n i n s c a n d i r 0035100 e c t i o n \r D B \t w o r 0035120 d \t \t \t / / D i m e n s i o n 0035140 i n b i t d i r e c t i o 0035160 n \r ] \r \r m a n i f e s t \r 0035200 [ \r D B N o n E x C o d e 0035220 = - 1 \t \t / / D B c o n t a i 0035240 n s t h i s i f n o n e x 0035260 c h a r \r D B S p l i n 0035300 e C o d e = - 2 \t \t / / o r 0035320 t h i s 376 001 \0 205 317 i f r e c 0035340 o r d e d a s s p l i n e s 0035360 \r ] \r \r / / S t u f f f o 0035400 r s c a n c o n v e r s i o 0035420 n p a s s . \r \r s t r u c t u 0035440 r e R B : \t \t \t / / " R e a 0035460 d B l o c k " f o r a l 0035500 e f t o v e r t a b l e \r [ 0035520 \r S y n c \t w o r d \t \t \t 0035540 / / C u r r e n t s y n c c 0035560 o u n t \r @ C o l o r \r 0035600 = C o l o r \t w o r d l C 0035620 o l o r \t \t \t / / C o l o r a 0035640 f t e r s y n c e n c o u n 0035660 t e r e d \r R e a d i n g 0035700 \t w o r d \t \t / / T r u e i f 0035720 r e a d i n g f 376 001 \0 \n ? r 0035740 o m t h i s l e f t o v e r 0035760 \r B a s e \t w o r d \t \t \t 0036000 / / e n t r i e s i n s t 0036020 r u c t u r e W \r O f f 0036040 s e t \t w o r d \r ] \r \r / / 0036060 M a g i c c o n s t a n t f 0036100 o r d o t s - - t h e " 0036120 c o n s t a n t " f o r e x 0036140 p r e s s i n g m a g n i f i 0036160 c a t i o r a t i o s \r \r m a 0036200 n i f e s t D o t s D e l t a 0036220 C o n s t = # 0 3 7 7 7 7 \t / / 0036240 M u s t b e s m a l l e n 0036260 o u g h s o 2 * i t i s 0036300 p o s i t i v e n u m b e r \r 0036320 \r / / O u t p u t d e v i 376 0036340 001 \0 202 N c e d e f i n i t i o 0036360 n s : \r m a n i f e s t [ \r \t 0036400 p r i n t e r D o v e r = 0 \r \t 0036420 p r i n t e r S e q u o i a = 1 0036440 \r \t p r i n t e r P i m l i c o 0036460 A l t = 2 \r \t p r i n t e r P i 0036500 m l i c o = 3 \r \t p r i n t e r 0036520 P e n g u i n = 4 \r \t p r i n t 0036540 e r P u f f i n = 5 \r \t p r i n 0036560 t e r D u r a n g o = 6 \t / / D 0036600 u r a n g o m u s t b e l 0036620 a s t O R b i t p r i n t e 0036640 r \r \t p r i n t e r S l o t = 7 0036660 \r \t p r i n t e r V e r s a t e 0036700 c = 8 \r \t p r i n t e r H g = 9 0036720 \r \t ] \r \r / / M i c r o C o d 0036740 e T r 376 001 \0 d f a p v a l u 0036760 e s \r \r m a n i f e s t [ \r \t 0037000 N o T r a p = # 5 5 0 0 1 \t \t / 0037020 / S T A 3 , 1 , 2 \r \r \t S c a 0037040 n L o a d V a r s T r a p = # 7 0037060 0 0 0 0 \r \t S c a n P u t C h a 0037100 r T r a p = # 7 0 0 0 1 \r \t S c 0037120 a n P u t D o t s T r a p = # 7 0037140 0 0 0 2 \r \t D o u b l e A d d T 0037160 r a p = # 7 0 0 0 3 \r \t D o u b 0037200 l e S u b T r a p = # 7 0 0 0 4 0037220 \r \t D o u b l e S h r T r a p = 0037240 # 7 0 0 0 5 \r \t P r e R o t o r 0037260 T r a p = # 7 0 0 2 3 \r \r \t P r 0037300 i n t V e r s a t e c T r a p = 0037320 # 7 0 0 0 0 \r \t P r i n t H g T 0037340 r a p = # 7 0 0 0 376 001 \0 207 247 1 \r 0037360 \t ] \r \r \f / / B a n d B u c 0037400 k e t e n t r i e s \r \r s t r 0037420 u c t u r e B E H : \t \t \t / 0037440 / B a n d E n t r y H e a d 0037460 e r \r [ \r C b i t \t \t b 0037500 i t \t \t / / T r u e i f c h 0037520 a r ( B E C h a r ) \r T 0037540 y p e \t \t b i t 1 5 \t \t / / 0037560 o t h e r w i s e , t y p e 0037600 c o d e . \r ] \r \r s t r u c t 0037620 u r e B E C h a r : \t \t / / 0037640 B a n d E n t r y f o r C 0037660 h a r a c t e r \r [ \r C 0037700 b i t \t \t b i t \r I C C \t 0037720 \t b i t 1 5 \t \t / / I n t e r 0037740 n a l C h a r a c t e r 376 001 0037760 \0 210 345 C o d e \r S r \t \t b 0040000 i t 4 \t \t / / d e l t a s 0040020 c a n l i n e b e f o r e 0040040 s t a r t \r B i t \t \t b i 0040060 t 1 2 \t \t / / A d d r e s s 0040100 o n s c a n l i n e \r ] \r 0040120 \r s t r u c t u r e B E R e c 0040140 t a n g l e : \t \t / / R e c t 0040160 a n g l e ( " r u l e " ) \r 0040200 [ \r T y p e \t w o r d \t / 0040220 / m u s t b e 1 \r S r 0040240 \t \t b i t 4 \t \t / / d e l t 0040260 a s c a n l i n e b e f o 0040300 r e s t a r t \r B i t \t 0040320 \t b i t 1 2 \t \t / / A d d r e 0040340 s s o n s c a n l i n e \r 0040360 376 001 \0 232 264 n H e i g h t \t 0040400 w o r d \t \t / / - h e i g h t 0040420 i n b i t s \r w i d t h 0040440 M 1 \t w o r d \t \t / / w i d t h 0040460 - 1 i n b i t s \r ] \r \r s 0040500 t r u c t u r e B E L O C h a 0040520 r : \t \t / / " L e f t o v e 0040540 r " v e r s i o n o f c h 0040560 a r a c t e r \r [ \r / / * * * 0040600 d o w n t o * * * d e f 0040620 i n i t i o n s k n o w n t 0040640 o m i c r o c o d e \r C 0040660 b i t \t \t b i t \r s p a r 0040700 e \t b i t 3 \r o r b i t 0040720 W \t b i t 1 2 \t / / - h e i g 0040740 h t o f c h a r a c t e r 0040760 i n b i t s \r 376 001 \0 0 365 0041000 [ o r b i t X \t b i t 4 \t / 0041020 / s c a n l i n e i n b a 0041040 n d t o s t a r t o n \r 0041060 o r b i t Y \t b i t 1 0041100 2 \t / / y p o s o n s c a 0041120 n l i n e \r ] \r = B 0041140 i t \t \t w o r d \t / / A d d r 0041160 o n s c a n l i n e ( t o 0041200 s e t o r b i t X = 0 ( s 0041220 t a n d a r d ) ) \r b i t 0041240 O f f s e t \t b i t 4 \t / / o 0041260 f f s e t o f c h a r s t 0041300 a r t i n w o r d o f f 0041320 o n t \r o r b i t S \t b i 0041340 t 1 2 \t / / n s f r o m f 0041360 o n t ( o r b i t m o 376 001 \0 0041400 P 377 d e , s o n s - 1 ) , 0041420 b u t n s d e c r e a s e s 0041440 \r C o r e A d r \t w o r d 0041460 \t \t / / P o i n t e r i n t o 0041500 c h a r r e p . \r / / * * * 0041520 e n d * * * \r ] \r m a n i 0041540 f e s t C h a r B i t = # 1 0 0041560 0 0 0 0 \t / / F o r " a n d i 0041600 n g " a n d t e s t i n g 0041620 C b i t \r \r s t r u c t u r e 0041640 B E S y n c : \t \t / / B a n d 0041660 E n t r y f o r S y n c 0041700 c o u n t e r \r [ \r H \t 0041720 \t w o r d \r S y n c \t \t w 0041740 o r d \t \t / / S y n c c o u n 0041760 t e r \r @ C o l o r \t \t / 0042000 / C 376 001 \0 - 251 o l o r i n f o 0042020 r m a t i o n \r = C o l o 0042040 r \t w o r d l C o l o r \r ] 0042060 \r \r s t r u c t u r e B E C o 0042100 p y : \t \t / / B a n d E n t 0042120 r y f o r C o p y N u m b 0042140 e r \r [ \r H \t \t w o r d 0042160 \r C o p y \t \t w o r d \t \t 0042200 / / C o p y n u m b e r \r ] 0042220 \r \r s t r u c t u r e B E D o 0042240 t s : \t \t / / B a n d E n t 0042260 r y f o r D o t s s t u f 0042300 f \r [ \r H \t \t w o r d \t 0042320 \t / / T y p e \r / / * * * d o 0042340 w n t o * * * d e f i n i 0042360 t i o n s k n o w n t o m 0042400 i c r o c o d 376 001 \0 021 n e \r 0042420 B s t a r t \t w o r d \t \t / / 0042440 S t a r t i n g B i t p o s 0042460 i t i o n i n o u t p u t 0042500 b u f f e r \r B i n c r \t 0042520 w o r d \t \t / / B i t d i r e 0042540 c t i o n ( + 1 , - 1 ) \r 0042560 B d i m \t \t w o r d \t \t / / D 0042600 i m e n s i o n i n B o f 0042620 d o t s r e g i o n \r \r 0042640 O p a q u e \t b i t \t \t / / T 0042660 r u e i f w h i t e b i t 0042700 s a r e o p a q u e \r 0042720 S m a g n i f y \t b i t \t \t / / 0042740 T r u e i f m a g n i f i e 0042760 d i n S d i r e c t i o n 0043000 \r B m a g n i f y 376 001 \0 E 0043020 273 \t b i t \t \t / / T r u e i f 0043040 m a g n i f i e d i n B 0043060 d i r e c t i o n \r C o d 0043100 e \t \t b i t 1 3 \t \t / / C o d 0043120 e e n t r y f r o m < < S 0043140 e t - c o d i n g > > \r B 0043160 d e l t a \t w o r d \t \t / / M 0043200 a g n i f i c a t i o n r a t 0043220 i o ( d e n o m i n a t o r 0043240 = D o t s D e l t a C o n s t 0043260 ) \r \r B i t B u f \t w o r 0043300 d \t \t / / P o i n t e r t o 0043320 f i r s t w o r d o f i n 0043340 p u t b i t s \r B i t P 0043360 h a s e \t w o r d \t \t / / B i t 0043400 p o s i t i o n i n w o r 0043420 d 376 001 \0 362 353 w h e r e f i r 0043440 s t s a m p l e b e g i n s 0043460 \r \r E r r o r B u f f e r 0043500 \t w o r d \t / / P o i n t e r 0043520 t o e r r o r p r o p a g a 0043540 t i o n v e c t o r \r S 0043560 c r e e n M o d u l u s w o r 0043600 d \t / / n x n b i t s c 0043620 r e e n = > p u t n h e 0043640 r e \r S c r e e n A d d r 0043660 e s s w o r d \t / / C o r e 0043700 a d d r e s s o f s c r e e 0043720 n ( 0 = > d o n t u s e ) 0043740 \r I M i n \t \t w o r d \t \t 0043760 / / I n t e n s i t y r a n g 0044000 e s f o r 1 / 2 t o n i n 0044020 g \r I 376 001 \0 273 X M a x \t \t 0044040 w o r d \r / / * * * e n d * 0044060 * * \r B i t F i l e P o s 0044100 \t w o r d 2 \t \t / / B i t p 0044120 o s i t i o n i n f i l e 0044140 o f s t a r t o f b i t s 0044160 \r B i t F i l e I n c \t w 0044200 o r d 2 \t \t / / D e l t a t 0044220 o a d d t o a b o v e e 0044240 a c h s c a n l i n e \r 0044260 B i t F i l e S L W C \t w o r d 0044300 \t \t / / N u m b e r o f w 0044320 o r d s o f b i t s f i l 0044340 e t h a t n e e d t o \r \t 0044360 \t \t \t / / b e r e a d f o 0044400 r e a c h s c a n - l i n e 0044420 ( < B i t F i l e I 376 001 \0 273 \n 0044440 n c i f w i n d o w e d ) \r 0044460 \r S s t a r t \t w o r d \t 0044500 \t / / B e g i n n i n g s c a 0044520 n - l i n e \r S d i m \t \t 0044540 w o r d \t \t / / D i m e n s i o 0044560 n i n S o f d o t s r 0044600 e g i o n \r S d e l t a \t 0044620 w o r d \t \t / / M a g n i f i 0044640 c a t i o n r a t i o \r \r 0044660 F i l e \t \t w o r d \t \t / / F 0044700 i l e w i t h b i t s ( F 0044720 I L E P r e s s o r F I L E 0044740 S c r a t c h ) \r \t \t \t \t / / F 0044760 o l l o w i n g a r e k e p 0045000 t o n l y a t s c a n - c 0045020 o n v e r s i o n t i m e \r 0045040 376 001 \0 354 321 W i n d o w N u m 0045060 b e r \t w o r d \t \t / / I n d e 0045100 x i n w i n d o w t a b l 0045120 e f o r t h i s d o t s 0045140 f i l e . \r S c o u n t \t 0045160 w o r d \t \t / / P h a s e o f 0045200 S m a g n i f i c a t i o n 0045220 o p e r a t i o n \r \r T 0045240 e m p S L B u f \t w o r d \t \t / 0045260 / F o r h o l d i n g o n e 0045300 s c a n - l i n e d u r i n 0045320 g b l o w - u p \r S c r 0045340 e e n S t a r t \t w o r d \t \t / 0045360 / h o l d s s c r e e n v a 0045400 l u e s f o r h a l f t o n 0045420 e \r S c r e e n A m p l i 0045440 t u d e \t 376 001 \0 V 323 w o r d \r 0045460 S c r e e n A n g l e \t w o 0045500 r d \r [ O M i n B \t b 0045520 y t e \r O M i n H \t 0045540 b y t e \r O M i n S 0045560 \t b y t e \r O M a x B 0045600 \t b y t e \r O M a x H 0045620 \t b y t e \r O M a x S 0045640 \t b y t e \r ] \r = O 0045660 S t a t s \t w o r d 3 \r ] \r 0045700 \r s t r u c t u r e S H : \r 0045720 [ \t \t \t \t / / " h e a d e r " 0045740 f o r g r a p h i c s t h 0045760 i n g s \r H \t \t w o r d \t 0046000 \t / / T y p e \r S b e g i 0046020 n \t w o r d \t \t / / L e f t m o 0046040 s t S c a n l i 376 001 \0 233 254 n 0046060 e \r S e n d \t \t w o r d \t 0046100 \t / / R i g h t m o s t S c a 0046120 n l i n e \r ] \r \r s t r u c 0046140 t u r e B E L i n e : \t \t / 0046160 / L i n e ( s e e S C V . D 0046200 F S ) \r [ \r @ S H \r 0046220 B i t \t \t w o r d 2 \t \t / / 0046240 C u r r e n t b i t p o s i 0046260 t i o n \r d B i t \t \t w o 0046300 r d 2 \t \t / / d e l t a \r 0046320 ] \r \r s t r u c t u r e B E S 0046340 p l i n e : \t \t / / S p l i n 0046360 e ( s e e S C V . D F S ) \r 0046400 [ \r @ S H \r S t u 0046420 f f \t w o r d 8 * 2 \t / / R e 0046440 c u r s i v e q u a n t i t 376 0046460 001 \0 236 204 i e s \r ] \r \r s t r u 0046500 c t u r e B E E n d O b j e c 0046520 t : \r [ \r H \t \t w o r 0046540 d \t \t / / T y p e \r ] \r \r s t 0046560 r u c t u r e B E E n d : \t 0046600 \t / / E n d o f b a n d \r 0046620 [ \r H \t \t w o r d \r 0046640 f i l l e r \t w o r d \r ] \r \r 0046660 m a n i f e s t \r [ \r / / O p 0046700 c o d e s f o r B E ' s 0046720 t h a t a r e n o t c h a 0046740 r s ( B E H . T y p e ) : \r 0046760 B E E n d H = 0 \t \t \t / / P 0047000 l a n n i n g a h e a d f o 0047020 r O r B i t \r B E R e c 0047040 t a n g l e H = 1 \t \t / / P l a 0047060 n n i n 376 001 \0 K 0 g a h e a d 0047100 f o r O r B i t \r B E 0047120 D o t s H = 2 \r B E S y n 0047140 c H = 3 \r B E C o p y H = 0047160 4 \r B E L i n e H = 5 \r 0047200 B E S p l i n e H = 6 \r 0047220 B E E n d O b j e c t H = 7 \r 0047240 \r B E E x t e n d e d R e 0047260 c t a n g l e H = 8 ; \t / / 0047300 r e c t a n g l e w i t h 0047320 b i t + 2 ^ 1 3 \r / / 0047340 9 t h r o u g h 2 2 a r 0047360 e m o r e e x t e n d e d 0047400 r e c t a n g l e s ( w i t h 0047420 b i t + ( H - 7 ) * 0047440 2 ^ 1 3 ) \r B E L a s t 0047460 R e c t a n g l e 376 001 \0 033 % H 0047500 = 2 2 ; \t / / r e c t a n g 0047520 l e w i t h b i t + 1 0047540 5 * 2 ^ 1 3 \r / / ( 0047560 b e f o r e a d d i n g c o 0047600 n s i d e r a d d i n g o n 0047620 e t o m a k e t h e r e 0047640 c t a n g l e s a b l o c k 0047660 o f 1 6 ) \r \r B E M a 0047700 x H = 2 2 \t \t \t / / M a x v a 0047720 l u e o f H e n t r i e s 0047740 \r \r B E M a x S i z e = 6 0047760 0 \t \t \t / / M a x i m u m s i 0050000 z e o f a B E e n t r y 0050020 ( p l u s a l i t t l e ! 0050040 ) . \r ] \r \f / / E t h e r 0050060 R e p o r t i n g d e f i 376 001 0050100 \0 253 315 n i t i o n s \r \r s t r u 0050120 c t u r e R E P F o n t [ \r \t 0050140 f a m \t \t b y t e \t \t / / F a m 0050160 i l y c o d e f r o m d i 0050200 c t i o n a r y \r \t f a c e \t \t 0050220 b y t e \t \t / / F a c e c o d 0050240 e r e q u e s t e d \r \t s i z 0050260 \t \t w o r d \t \t / / S i z e o 0050300 f f o n t \r \t u s e d \t \t b y 0050320 t e \t \t / / W h i c h f a m i 0050340 l y w a s a c t u a l l y 0050360 u s e d \r \t s p l i n e s \t \t b 0050400 i t \t \t / / S c a n - c o n v e 0050420 r t e d f r o m s p l i n e 0050440 s \r \t s p a r e \t \t b i t 7 \r 0050460 \t ] \r \r m a n i f e s t R E P 0050500 F o n 376 001 \0 367 371 t L e n = ( s i 0050520 z e R E P F o n t / 1 6 ) \r m 0050540 a n i f e s t n R e p o r t F 0050560 o n t s = 1 0 \r \r s t r u c t u 0050600 r e R E P [ \r \t V e r s i o n 0050620 \t \t w o r d \t \t / / V e r s i o 0050640 n o f t h e p r o g r a m 0050660 \r \t D i r e c t i v e \t w o r d 0050700 \t \t / / W h a t h e a s k e 0050720 d t o h a v e d o n e \r \t 0050740 S u c c e s s \t \t b i t \t \t / / 0050760 C o m p l e t e d s u c c e s 0051000 s f u l l y \r \t J a m s \t \t b i 0051020 t 3 \t \t / / N u m b e r o f 0051040 p a p e r j a m s \r \t P a p 0051060 e r O u t \t b i t \t \t / / D i d 0051100 h o p p e r 376 001 \0 X 345 e x h 0051120 a u s t ? \r \t s p a r e \t \t b i 0051140 t 1 1 \r \t l a s t E r r o r \t 0051160 w o r d \t \t / / L a s t v a l 0051200 u e e n c o u n t e r e d b 0051220 y P r e s s E r r o r \r \t n C 0051240 o p i e s \t \t w o r d \t \t / / N 0051260 u m b e r o f c o p i e s 0051300 p r i n t e d \r \t n P a g e s \t 0051320 \t w o r d \t \t / / N u m b e r 0051340 o f p a g e s p r o c e s s 0051360 e d \r \t t o t a l T i m e \t w o 0051400 r d \t \t / / E l a p s e d t i 0051420 m e o f s e s s i o n \r \t n 0051440 C h a r s \t \t w o r d 2 \t \t / 0051460 / T o t a l n u m b e r o f 0051500 c h a r a c t e r s \r \t 376 001 \0 0051520 1 f n O b j e c t s \t w o r d \t 0051540 \t / / T o t a l n u m b e r 0051560 o f o b j e c t s ( i n c l 0051600 . r e c t a n g l e s ) \r \t n 0051620 D o t s \t \t w o r d \t \t / / N u 0051640 m b e r o f b i t - m a p s 0051660 \r \t n H a l f T o n e s \t w o r 0051700 d \t \t / / N u m b e r o f h 0051720 a l f - t o n e s \r \t F o n t T 0051740 i m e \t w o r d \t \t / / T i m e 0051760 s p e n d i n f o n t s 0052000 p a s s \r \t P r e T i m e \t \t w 0052020 o r d \t \t / / T i m e s p e n 0052040 t i n p r e - s c a n \r \t R 0052060 o t T i m e \t \t w o r d \t \t / / 0052100 T i m e s p e n t i n r o 0052120 t a 376 001 \0 v 266 t i o n \r \t C o n 0052140 v e r t T i m e \t w o r d \t \t / 0052160 / T i m e s p e n t i n s 0052200 c a n - c o n v e r t i n g \r \t 0052220 n C h a r F a u l t s \t w o r 0052240 d \t / / N u m b e r o f f o 0052260 n t s t o r a g e f a u l t 0052300 s \r \t B a n d S i z e \t w o r d 0052320 2 \t \t / / N u m b e r o f 0052340 w o r d s o f b a n d i n 0052360 f o r m a t i o n \r \t B a n d F 0052400 i l e S o r t s \t w o r d \t / 0052420 / N u m b e r o f t i m e s 0052440 i n - c o r e s o r t f a 0052460 i l e d \r \t D o t s O u t \t \t w 0052500 o r d 2 \t \t / / N u m b e r 0052520 o f o u t p 376 001 \0 262 M u t d 0052540 o t s g e n e r a t e d b y 0052560 P u t D o t s \r \t U s e r \t \t 0052600 w o r d 1 6 \t \t / / U s e r 0052620 n a m e f r o m d o c u m e 0052640 n t d i r e c t o r y \r \t F i 0052660 l e \t \t w o r d 2 0 \t \t / / F 0052700 i l e n a m e f r o m d o 0052720 c u m e n t d i r e c t o r y 0052740 \r \t F o n t s U s e d \t w o r d 0052760 \t \t / / # f o n t s h e u s 0053000 e d \r \t F o n t s R e c o r d e 0053020 d \t w o r d \t / / # f o n t s 0053040 r e c o r d e d b e l o w \r 0053060 \t f o n t s \t \t w o r d n R e 0053100 p o r t F o n t s * R E P F o n 0053120 t L e n \r \t ] \r \r \f / / 376 001 \0 ? 0053140 3 M e t e r i n g d e f i n 0053160 i t i o n s \r \r m a n i f e s t 0053200 \r [ \r M E T E R R e a d 0053220 = 0 \t \t \t / / P a g e r e a d 0053240 ( F L S t a t ) \r M E T 0053260 E R W r i t e = 1 \t \t \t / / P a 0053300 g e w r i t e ( F L S t a t 0053320 ) \r \r M E T E R F o n t P 0053340 a s s = 1 0 \t \t / / F o n t p 0053360 a s s e n t r y ( F P S t a 0053400 t ) \r M E T E R F o n t C 0053420 h a r C o n v e r t = 1 1 \t / / 0053440 C o n v e r t e d a " f o n 0053460 t p a r t c h a r a c t e r 0053500 " \r M E T E R F o n t C o 0053520 n v e r t = 1 2 \t \t / / C o n v 0053540 e 376 001 \0 260 C r t e d a f o n 0053560 t ( F P C S t a t ) \r \r 0053600 M E T E R S h o w P a g e = 1 3 0053620 \t \t / / P r e S c a n p a s s 0053640 f o r p a g e ( P S S t a 0053660 t ) \r B a n d D i s t = 0053700 3 0 \t \t \t / / . . . s i z e 0053720 o f d i s t r i b u t i o n 0053740 t a b l e . . . \r B a n 0053760 d D i s t U n i t = 4 \t \t / / 0054000 ( o n e c h a r a c t e r ) \r 0054020 n F M C y c l e D i s t 0054040 = 6 0 \t \t / / . . . s i z e 0054060 o f F M c y c l e d i s t 0054100 r i b u t i o n t a b l e . . 0054120 . \r F M C y c l e U n i 0054140 t = 2 0 \r 376 001 \0 312 005 M E T 0054160 E R B a n d F l u s h = 1 4 \t \t 0054200 / / C a l l e d w h e n b a 0054220 n d s f l u s h e d \r \r 0054240 M E T E R C o n v e r t P a g e 0054260 = 1 5 \t \t / / S c a n C o n v e 0054300 r t p a s s f o r a p a 0054320 g e ( S C S t a t ) \r \r 0054340 M E T E R R e p = 1 6 \t \t \t / / 0054360 R E P s t r u c t u r e f o 0054400 r p r i n t t a s k \r 0054420 M E T E R F a u l t = 1 7 \t \t / 0054440 / C h a r a c t e r f a u l t 0054460 \r M E T E R E n d = 1 2 7 0054500 \t \t \t / / L a s t o f a l l 0054520 . . . . \r ] \r \r s t r u c t u 0054540 r e M E T E R H : \r 376 001 \0 341 212 0054560 [ \r T y p e \t b y t e \t 0054600 \t \t / / O p c o d e \r C 0054620 o u n t \t b y t e \t \t / / N u m 0054640 b e r o f w o r d s ( i n 0054660 c t h i s o n e ) \r ] \r \r 0054700 s t r u c t u r e M E T E R T 0054720 i m e s : \r [ \r T i m e 0054740 I n \t w o r d \t \t / / T i m e s 0054760 f o r a p a s s \r T 0055000 i m e O u t \t w o r d \r ] \r \r 0055020 s t r u c t u r e F L S t a t 0055040 : \t \t / / F o r r e c o r d i 0055060 n g a p a g e t r a n s a 0055100 c t i o n . \r [ \r F i l 0055120 e b y t e \t \t \t / / F i l e 0055140 n u m b e r \r C n t b y 0055160 376 001 \0 312 ; t e \t \t \t / / P a g e 0055200 c o u n t \r P a g e w 0055220 o r d \t \t \t / / B e g i n n i n 0055240 g p a g e n u m b e r \r ] 0055260 \r \r s t r u c t u r e F P S t 0055300 a t : \r [ \r @ M E T E R 0055320 T i m e s \r I C C t o t a 0055340 l \t w o r d \t \t / / T o t a l 0055360 n u m b e r o f d i f f e r 0055400 e n t c h a r s . \r ] \r \r s 0055420 t r u c t u r e F P C S t a t 0055440 : \r [ \r @ M E T E R T i 0055460 m e s \r f p r e q w o r 0055500 d 2 9 \t \t / / F P R E Q s t 0055520 r u c t u r e ! \r ] \r \r s t r 0055540 u c t u r e P S S t a t : \r 0055560 [ \r 376 001 \0 5 W @ M E T E R 0055600 T i m e s \r P G : @ P a 0055620 g e G \t \t \t / / P a g e G e n 0055640 t r y f o r t h i s p a g 0055660 e . \r E n t i t i e s \t w 0055700 o r d \t \t / / N u m b e r o f 0055720 e n t i t i e s \r C h a 0055740 r C o u n t \t w o r d \t \t / / N 0055760 u m b e r o f c h a r a c t 0056000 e r s \r O b j C o u n t \t 0056020 w o r d \t \t / / N u m b e r o 0056040 f o b j e c t s \r D o t 0056060 C o u n t \t w o r d \t \t / / N u 0056100 m b e r o f " d o t s " r 0056120 e g i o n s \r R e c t C o 0056140 u n t \t w o r d \t \t / / N u m b 0056160 e r o f r e c t 376 001 \0 217 224 a 0056200 n g l e s \r F o n t C h a 0056220 n g e s \t w o r d \t \t / / N u m 0056240 b e r o f f o n t c h a n 0056260 g e s \r C o l o r C h a n 0056300 g e s \t w o r d \t \t / / N u m b 0056320 e r o f c o l o r c h a n 0056340 g e s \r S h o w C h a r s 0056360 \t w o r d \t \t / / N u m b e r 0056400 o f s e p a r a t e " s h o 0056420 w c h a r s " c o m s \r 0056440 B a n d S i z e s \t w o r d 0056460 B a n d D i s t \t / / D i s t r 0056500 i b u t i o n o f b a n d 0056520 s i z e s \r ] \r \r s t r u c t 0056540 u r e S C S t a t : \r [ \r 0056560 @ M E T E R T i m e s \r 376 0056600 001 \0 310 005 L O S i z e s \t w o 0056620 r d B a n d D i s t \t / / D i 0056640 s t r i b u t i o n o f l e 0056660 f t o v e r s i z e s \r 0056700 T o t S i z e s \t w o r d B a 0056720 n d D i s t \t / / D i s t r i b 0056740 u t i o n o f L O i n + E n 0056760 t e r I n s i z e s \r F 0057000 M C y c l e D i s t \t w o r d 0057020 n F M C y c l e D i s t / / D 0057040 i s t r i b u t i o n o f F 0057060 o n t m e m o r y c y c l e 0057100 s \r ] \r \r s t r u c t u r e 0057120 F A U L T S t a t : \r [ \r 0057140 I C C \t w o r d \t \t \t / / I n 0057160 t e r n a l c h a r a c t e r 0057200 c o d 376 \0 024 Q 371 e o f n e 0057220 e d e d c h a r \r ] \r 377 \0 \0 0057240 P r e s s P a r a m s . d f \0 373 0057260 230 203 205 F \0 \0 376 001 \0 305 247 / / P r 0057300 e s s P a r a m s . d f - - 0057320 D e f i n i t i o n s o f p 0057340 a r a m e t e r s f o r P R 0057360 E S S / 3 1 0 0 p r i n t e r 0057400 . \r / / m o d i f i e d b y 0057420 R a m s h a w , J a n u a r 0057440 y 3 0 , 1 9 8 2 , u p p e 0057460 d n B a n d S e g m e n t s M 0057500 a x t o 1 5 0 \r / / m o d 0057520 i f i e d b y R a m s h a w 0057540 , J a n u a r y 1 5 , 1 9 0057560 8 2 , u p p e d s y n c I n 0057600 f i n i t y t o 6 4 K - 2 \r 0057620 / / m o d i f i e d b y W 0057640 i l l i a m s , A p r i l 2 0057660 1 , 1 9 8 1 , u p 376 001 \0 } 372 0057700 p e d n B a n d S e g m e n t 0057720 s M a x f r o m 6 0 t o 0057740 1 0 0 \r / / m o d i f i e d 0057760 b y R a m s h a w , 4 / 6 / 0060000 8 1 , u p p e d n D o t s R 0060020 e g i o n s B f r o m 3 0 0060040 t o 1 2 0 \r \r m a n i f e s t 0060060 [ \r / / " H a r d " d e c i 0060100 s i o n s : \r \t B A N D W i d t 0060120 h = 1 6 \t \t / / I f t h i s 0060140 c h a n g e s , w a t c h o 0060160 u t ! \r \t L o g B A N D W i d t 0060200 h = 4 \t \t / / . . . \r \r 0060220 / / P e r f o r m a n c e - r e 0060240 l a t e d t h i n g s : \r \t B 0060260 A N D I n C o r e S i z e = 1 0 0060300 376 001 \0 * 370 0 0 0 \t / / S i z e 0060320 o f c o r e b u f f e r d 0060340 u r i n g p r e s c a n \r \t n 0060360 B a n d S e g m e n t s M a x = 0060400 1 5 0 \t / / M a x n u m b e r 0060420 o f d i s k b u f f e r s 0060440 o f a b o v e s i z e \r \t 0060460 n M a x M e r g e I n p u t s = 0060500 8 \t / / N u m b e r o f b a 0060520 n d d i s k b u f f e r s 0060540 t o m e r g e a t o n c e 0060560 \r \t n O b j e c t I n t e r s e 0060600 c t i o n s = B A N D W i d t h 0060620 * 1 0 0 \t / / M a x c o m p l 0060640 e x i t y o f o b j e c t s 0060660 \r \t s p l i n e S t a c k S i z 0060700 e = 3 0 0 376 001 \0 215 322 \r \t n C h a 0060720 r s H a s h = 2 5 6 \t \t / / C h 0060740 a r h a s h t a b l e : m 0060760 u s t b e p o w e r o f 0061000 2 \r \t F o n t S t o r e S i z e 0061020 = 1 0 0 0 0 \t / / C o r e d e 0061040 v o t e d t o f o n t s d 0061060 u r i n g s c a n - c o n v e 0061100 r s i o n . \r \t S c a n S p a c 0061120 e R e c l a i m = 1 0 \t / / S 0061140 S R / 1 0 i s a m o u n t 0061160 o f c o r e t o g e t a 0061200 b o v e \r \t \t \t \t / / a n d 0061220 b e y o n d w h a t i s n 0061240 e e d e d f o r a c h a r 0061260 \r \t n W T C B S l o t s = 6 \t \t 0061300 / / M a x n u m b 376 001 \0 O 312 e 0061320 r o f f o n t s i n c o 0061340 r e a t o n c e . \r \t s y n 0061360 c I n f i n i t y = - 2 / / 0061400 v a l u e o f s y n c h f 0061420 o r e n d o f b a n d s 0061440 l i s t f o r B E E n d H \r 0061460 \r / / D o t s s t u f f d u 0061500 r i n g s c a n c o n v e r 0061520 s i o n \r \t n D o t s R e g i o 0061540 n s B = 1 2 0 \t / / M a x n u 0061560 m b e r o f d o t s r e g 0061600 i o n s a l o n g s c a n l 0061620 i n e \r \t n D o t s B u f f e r 0061640 s = 4 \t \t / / M a x n u m b e 0061660 r o f d o t s b u f f e r 0061700 s i n s c a n c o n v e 376 0061720 001 \0 \f 202 r s i o n \r \t l T e m p 0061740 S L = 1 6 0 0 \t \t / / B u f f e 0061760 r f o r d o t s i n p u t 0062000 d a t a \r \r / / P r e s s f 0062020 i l e t h i n g s t h a t 0062040 a r e h e r e t o a v o i 0062060 d r e a d i n g p r e s s f 0062100 i l e . d f i n c e s s a n t 0062120 l y \r \t P r e s s R e c o r d S 0062140 i z e = 2 5 6 \t / / D e f i n i 0062160 t i o n o f " r e c o r d " 0062200 \r \t L o g P r e s s R e c o r d 0062220 S i z e = 8 \r \r / / S w i t c h 0062240 e s \r \t D e b u g S w = t r u e 0062260 \r \t M e t e r S w = f a l s e \t 0062300 \t / / D o m e t e r i n g . \r 0062320 \t R e p 376 \0 * J 364 o r t S w = t 0062340 r u e \t \t / / R e p o r t i n g 0062360 o v e r E t h e r n e t \r \t 0062400 ] \r \r 377 \0 \0 S c a n . d f s \0 373 0062420 225 + q C \0 \0 376 001 \0 z & / / S 0062440 C A N D E F I N 0062460 I T I O N S \r / / \r 0062500 \r m a n i f e s t [ \r \t N U M 0062520 B E R = - 1 \r \t S T R I N G = - 0062540 2 \r \t I D = - 3 \r \t S N I L = - 0062560 4 \r \r \t L P A R E N = $ ( \r \t R 0062600 P A R E N = $ ) \r \t S L A S H = 0062620 $ / \r \t E Q U A L = $ = \r \t E O 0062640 F = 1 0 0 0 \r ] \r \r s t r u c t 0062660 u r e S C A N I : [ \r \t s t 0062700 r e a m w o r d \t / / s t r e 0062720 a m t o g e t c h a r s 0062740 o n . \r \t l a s t c h w o r d 0062760 \t / / s c a n n e d a h e a d 0063000 c h a r a c t e r \r \t b a c k 0063020 t o k e n w o r d \t 376 \0 N 371 352 0063040 / / s c a n n e d a h e a d 0063060 t o k e n \r \t i d n a m e w o 0063100 r d 1 0 \t / / i d e n t i f i 0063120 e r . \r ] \r \r m a n i f e s t 0063140 S C A N I l e n = 1 3 \r \r \0 377 \0 0063160 \0 S C V . d f s \0 373 225 + q C \0 \0 0063200 376 001 \0 364 361 / / S C V . D F S 0063220 - - S c a n C o n v e r t e 0063240 r D e f i n i t i o n s \r / / 0063260 \r \r / / C o n d i t i o n a l 0063300 c o m p i l a t i o n t o d 0063320 e c i d e h o w t o h a n 0063340 d l e s p l i n e s . \r / / 0063360 S e t S p l i n e H a n d l i 0063400 n g t o o n e o f t h e 0063420 t h r e e : \r \r m a n i f e s 0063440 t \t [ \r \t N o S p l i n e s = 0 0063460 \t / / D o n o t i n c l u d 0063500 e s p l i n e c o d e \r \t A 0063520 d d i t i v e S p l i n e s = 1 0063540 \t / / " S e c t i o n a n d 0063560 i n t e r p o l a t e " s p l 0063600 i n e c 376 001 \0 374 U o d e \r \t R 0063620 e c u r s i v e S p l i n e s = 0063640 2 \t / / " R e c u r s i v e " 0063660 s p l i n e c o d e \r \r \t S p 0063700 l i n e H a n d l i n g = A d d 0063720 i t i v e S p l i n e s \t / / Y 0063740 o u s e t t h i s ! \r \t ] \r 0063760 \r / / D e f i n e v a l u e 0064000 s o f " g u a r d " n u m 0064020 b e r s \r / / ( a t e m p o 0064040 r a r y m e a s u r e - - 0064060 t h e " g r " a n d " l s 0064100 " c o m p a r e s \r / / i n 0064120 Q u i c k S o r t a n d P 0064140 u t s e g m e n t ( s d i r m 0064160 i n , s d i r m a x \r / / c o 0064200 m p a r e s , a n 376 001 \0 307 353 d 0064220 a l s o t h e " f o r s 0064240 = l t o r " l o o p ) \r / 0064260 / w i l l n o t w o r k 0064300 c o r r e c t l y f o r + i 0064320 n f = # 7 7 7 7 7 a n d - i 0064340 n f = # 1 0 0 0 0 0 ) \r / / F 0064360 o l l o w i n g g i v e s a 0064400 r a n g e o f - 1 6 0 0 0 0064420 < x < 1 6 0 0 0 \r \r m a 0064440 n i f e s t [ \r \t p l u s i n 0064460 f i n i t y = # 3 7 7 7 7 \r \t m 0064500 i n u s i n f i n i t y = # 1 4 0064520 0 0 0 0 \r \t ] \r \r / / S t r u 0064540 c t u r e f o r t a l k i n 0064560 g a b o u t s c a n - c o n 0064600 v e r t i n g a n o b j e 376 0064620 001 \0 207 263 c t : \r \r s t r u c t u 0064640 r e S C V : [ \r \t S m i n 0064660 w o r d \t / / B o u n d i n g 0064700 b o x o f o b j e c t \r \t S 0064720 m a x w o r d \r \t R m i n w 0064740 o r d \r \t R m a x w o r d \t / 0064760 / " \r \t O b j e c t w o r d \t 0065000 / / O b j e c t d e s c r i p 0065020 t o r \r \t E r r o r w o r d \t 0065040 / / E r r o r ( c u r r e n t 0065060 l y , j u s t n o m o r e 0065100 c o r e ) \r \t S b e g i n w 0065120 o r d \t / / S v a l u e t o 0065140 b e g i n s c a n - c o n v 0065160 e r s i o n . \r \t S e n d w o 0065200 r d \t / / a n d e n d . \r \t 0065220 I n t P 376 001 \0 T ~ t r w o r d 0065240 \t / / P o i n t e r t o f i 0065260 r s t i n t e r s e c t i o n 0065300 . \r \t I n t C n t w o r d \t / 0065320 / C o u n t o f i n t e r s 0065340 e c t i o n s . \r \t ] \r \r \r / / 0065360 F o l l o w i n g a r e i 0065400 n c l u d e d s o p r i v i 0065420 l e g e d s o u l s c a n 0065440 r e a d t h i n g s f r o m 0065460 \r / / t h e i n t e r n a l 0065500 d a t a s t r u c t u r e , 0065520 o r u s e a c c u m u l a 0065540 t o r s w i t h c o n f i d 0065560 e n c e . \r \r s t r u c t u r e 0065600 H D : [ \r \t n e x t \t w o r 0065620 d \t / / p o i n t 376 001 \0 366 313 e r 0065640 t o n e x t i n l i s t 0065660 \r \t t y p e \t w o r d \t / / t y 0065700 p e o f t h i n g ( L I N 0065720 E t y p e o r S P L I N E t 0065740 y p e ) \r \t s m i n \t w o r d \t 0065760 / / l o w v a l u e o f s 0066000 f o r t h i s p a r t \r \t 0066020 s m a x \t w o r d \t / / h i g h 0066040 v a l u e o f s f o r 0066060 t h i s p a r t \r \t ] \r \r s t 0066100 r u c t u r e L I N E : [ \t 0066120 / / b l o c k f o r a l i 0066140 n e d e s c r i p t o r \r \t @ 0066160 H D \r \t x \t w o r d 2 \t / / c 0066200 u r r e n t x \r \t d x \t w o r 0066220 d 2 \t / / d e l t a \r \t ] 376 001 0066240 \0 326 201 \r \r s t r u c t u r e S 0066260 P L I N E : [ \t / / b l o c k 0066300 f o r a s p l i n e \r \t @ 0066320 H D \r \t t 0 \t w o r d 2 \r \t d 0066340 t \t w o r d 2 \r \t c o e f f s 0066360 \t w o r d 8 * 2 \r \t ] \r \r s t 0066400 r u c t u r e R S P L I N E : 0066420 [ \t / / R e c u r s i v e s 0066440 p l i n e e v a l u a t i o n 0066460 \r \t @ H D \r \t s t r \t w o r d 0066500 2 \t / / O r d e r i s i m p 0066520 o r t a n t ( i n i t i a l 0066540 s t a c k o r d e r ) \r \t g s 0066560 t r \t w o r d 2 \r \t s t l \t w 0066600 o r d 2 \r \t g s t l \t w o r d 0066620 2 \r \r \t r t r \t w o r d 2 \t 0066640 / / R 376 001 \0 325 345 d i r e c t i 0066660 o n , F ( t r ) \r \t g r t r \t 0066700 w o r d 2 \t / / c o r r e c 0066720 t i o n @ t r \r \t r t l \t w 0066740 o r d 2 \t / / F ( t l ) \r \t 0066760 g r t l \t w o r d 2 \t / / c 0067000 o r r e c t i o n @ t l \r \t 0067020 ] \r \r / / F l o a t i n g - p o 0067040 i n t A C ' s d e d i c a t 0067060 e d \r \r m a n i f e s t [ \r \t 0067100 t 1 = 8 \r \t t 2 = 9 \r \t t 3 = 1 0067120 0 \r \t t 4 = 1 1 \r \r / / * * * 0067140 O r d e r o f f o l l o w i 0067160 n g d e f i n i t i o n s i 0067200 s i m p o r t a n t * * * \r 0067220 / / C o e f f i c i e n t s f 0067240 o r t h e s 376 001 \0 021 d p l i 0067260 n e ( a l s o r a n g e o 0067300 f T ) \r \t e s d = 1 2 \t \t / / 0067320 D ( s c a n d i r e 0067340 c t i o n ) \r \t e r d = 1 3 \t \t 0067360 / / ( r u n d i r 0067400 e c t i o n ) \r \t e s c = 1 4 \t 0067420 \t / / C ( c o e f f t ) 0067440 \r \t e r c = 1 5 \r \t e s b = 1 6 0067460 \t \t / / B ( c o e f f t 0067500 ^ 2 ) \r \t e r b = 1 7 \r \t e s a 0067520 = 1 8 \t \t / / A ( c o e f 0067540 f t ^ 3 ) \r \t e r a = 1 9 \r \t 0067560 t m i n a c = 2 0 \t / / M i n 0067600 v a l u e o f p a r a m e t 0067620 e r T \r \t t m a x a c = 2 1 \t 0067640 / / a n d m a x 376 001 \0 0067660 256 q v a l u e \r \r / / C u r r e 0067700 n t , o l d p o i n t s \r \t 0067720 c s a c = 2 2 \t \t / / C u r r e 0067740 n t p o i n t , s c a n d 0067760 i r e c t i o n \r \t c r a c = 2 0070000 3 \t \t / / " 0070020 r u n d i r e c t i o 0070040 n \r \t o s a c = 2 4 \t \t / / O l 0070060 d p o i n t , s c a n d i 0070100 r e c t i o n \r \t o r a c = 2 5 0070120 \t \t / / " r 0070140 u n d i r e c t i o n \r / / * 0070160 * * E n d o f o r d e r - 0070200 i m p o r t a n t s t u f f 0070220 * * * \r \r / / A c ' s f o r 0070240 h o l d i n g t h e " f i r 0070260 s t 376 001 \0 377 # " p o i n t f 0070300 r o m a M o v e T o \r \t f s 0070320 a c = 2 6 \r \t f r a c = 2 7 \r \r 0070340 / / M a t r i x c o e f f i c 0070360 i e n t s ( s e c o n d c h 0070400 a r i s r o w , t h i r d 0070420 i s c o l u m n ) \r / / ( 0070440 d e f i n e d i n o r d e r 0070460 o f S C V M a t r i x a r 0070500 g u m e n t s ) \r \t s s s a c = 0070520 2 8 \r \t s s r a c = 2 9 \r \t s r 0070540 s a c = 3 0 \r \t s r r a c = 3 1 0070560 \r \r / / A c ' s d u r i n g 0070600 s c a n - c o n v e r s i o n . 0070620 \r / / \t e s d t o e r a a 0070640 r e s a m e \r / / \t t 1 - t 4 0070660 a r e u s 376 \0 d N 335 e d . \r 0070700 \t t t 1 = c s a c \r \t t t 2 = c 0070720 r a c \r \t t t 3 = o s a c \r \r / 0070740 / " T y p e s " f o r o b 0070760 j e c t b l o c k s ( H D ) 0071000 \r \r \t L I N E t y p e = 0 \r \t S 0071020 P L I N E t y p e = 1 \r \t ] \r \r 0071040 377 \0 \0 S l o t D e f s . d \0 373 225 0071060 + q C \0 \0 376 001 \0 c 341 / / S l 0071100 o t D e f s . d D 0071120 e f i n i t i o n s f o r S 0071140 l o t s u b r o u t i n e i 0071160 n t e r f a c e \r \r m a n i f e 0071200 s t \r \t [ \r \t l S l o t S t a t 0071220 u s = 8 \r \r \t R e a d y = 0 \r \t 0071240 W a i t = 1 \r \t P a p e r J a m 0071260 = 2 \r \t P a p e r O u t = 3 \r \t 0071300 I l l e g a l = 4 \r \t P a g e N 0071320 o t P r i n t e d = 5 \r \t O v e 0071340 r r u n = 6 \r \t D i s k E r r o 0071360 r = 7 \r \r \t B e a m O n = 0 \r \t 0071400 B e a m O f f = 1 \r \t S t o p P 0071420 r i n t = 2 \r \t R e s e t = 3 \r 0071440 \t S e t D e n s i t y = 4 \r \r \t 0071460 N o r m a l P a g e 376 \0 023 i . = 0071500 0 \r \t L a s t P a g e = 1 \r \t ] 0071520 \r \r 377 \0 \0 A l t o D e f s . d \0 0071540 373 225 + q C \0 \0 376 001 \0 \f 037 / / A 0071560 l t o D e f s . d - D e f i 0071600 n i t i o n s o f p l a c e 0071620 s a n d t h i n g s p e c 0071640 u l i a r t o A l t o s \r / 0071660 / C o p y r i g h t X e r o 0071700 x C o r p o r a t i o n 1 9 0071720 7 9 \r / / L a s t m o d i f 0071740 i e d J a n u a r y 2 2 , 0071760 1 9 7 9 1 2 : 2 8 A M b 0072000 y B o g g s \r \r m a n i f e s 0072020 t \r [ \r / / p a g e 1 \r d i 0072040 s p l a y L i s t H e a d = 0072060 4 2 0 b \r d i s p l a y I n t e 0072100 r r u p t = 4 2 1 b \r m o u 0072120 s e X = 4 2 4 b \r m o u s e 0072140 Y = 4 2 5 b \r c u r 376 001 \0 r 0072160 332 s o r X = 4 2 6 b \r c u r 0072200 s o r Y = 4 2 7 b \r r e a l 0072220 T i m e C l o c k = 4 3 0 b 0072240 \r c u r s o r B i t M a p = 0072260 4 3 1 b \t / / t h r o u g h 0072300 4 5 0 b \r w a k e u p s W a i t 0072320 i n g = 4 5 2 b \r a c t i v 0072340 e I n t e r r u p t s = 4 5 0072360 3 b \r m a s k T a b l e = 4 0072400 6 0 b \r i n t e r r u p t P C 0072420 = 5 0 0 b \r i n t e r r u p t 0072440 V e c t o r = 5 0 1 b \t / / 0072460 t h r o u g h 5 2 0 b \r d i 0072500 s k C o m m a n d = 5 2 1 b 0072520 \r d i s k S t a t u s = 5 2 0072540 2 b \r d i s k A d d r e s s = 0072560 376 001 \0 215 324 5 2 3 b \r t r a p P 0072600 C = 5 2 7 b \r t r a p V e c 0072620 t o r = 5 3 0 b \t / / t h 0072640 r o u g h 5 6 7 b \r t i m e P 0072660 a r a m s = 5 7 0 b \t / / 0072700 t h r o u g h 5 7 7 b \r \r / / 0072720 p a g e 3 7 6 \r u t i l O u 0072740 t = 1 7 7 0 1 6 b \r X B u s 0072760 = 1 7 7 0 2 0 b \t \t / / t 0073000 h r o u g h 1 7 7 0 2 3 b ( 0073020 A l t o I I o n l y ) \r M E 0073040 A R = 1 7 7 0 2 4 b \t \t / / 0073060 M e m o r y E r r o r A d 0073100 d r e s s R e g i s t e r ( 0073120 A l t o I I o n l y ) \r M E 0073140 S R = 1 7 7 0 2 5 b \t \t / / 0073160 M e m o r 376 001 \0 230 + y E r r 0073200 o r S t a t u s R e g i s t 0073220 e r ( A l t o I I o n l y 0073240 ) \r M E C R = 1 7 7 0 2 6 b 0073260 \t \t / / M e m o r y E r r o 0073300 r C o n t r o l R e g i s t 0073320 e r ( A l t o I I o n l y 0073340 ) \r u t i l I n = 1 7 7 0 3 0073360 0 b \t / / t h r o u g h 1 7 0073400 7 0 3 3 b \r k b d A d = 1 7 0073420 7 0 3 4 b \t \t / / t h r o u g 0073440 h 1 7 7 0 3 7 b \r \r / / p a 0073460 g e 3 7 7 \r E I A O u t = 0073500 1 7 7 7 0 0 b \r E I A I n = 0073520 1 7 7 7 0 1 b \r b a n k R e g s 0073540 = 1 7 7 7 4 0 b \t / / t h 0073560 r o u g h 1 7 7 7 5 376 001 \0 r 231 0073600 7 ( A l t o I I o n l y ) 0073620 \r ] \r \r / / - - - - - - - - - - 0073640 - - - - - - - - - - - - - - - - * 0073740 - - \r s t r u c t u r e U t i 0073760 l I n : \t / / f o r m a t o 0074000 f U t i l I n w o r d ( 1 0074020 7 7 0 3 0 b ) \r / / - - - - - - 0074040 - - - - - - - - - - - - - - - - * 0074140 - - - - - - \r [ \r b l a n k b 0074160 i t 6 \r m e m C o n f i g 0074200 376 001 \0 4 237 b i t \t \t / / 0 = 0074220 n o r m a l ; 1 = a l t 0074240 e r n a t e \r b l a n k b i t 0074260 \r k e y s e t b i t 5 = \t 0074300 \t / / 0 = d e p r e s s e 0074320 d \r [ \r k s 0 b i 0074340 t \t \t / / l e f t m o s t \r 0074360 k s 1 b i t \r k s 0074400 2 b i t \r k s 3 b i t 0074420 \r k s 4 b i t \t \t / / 0074440 r i g h t m o s t \r ] \r 0074460 m o u s e b i t 3 = \t \t / 0074500 / 0 = d e p r e s s e d \r 0074520 [ \r r e d b i t \t 0074540 \t / / t o p o r l e f t 0074560 b u t t o n \r b l u e b 0074600 i t \t \t / 376 001 \0 E 364 / b o t t 0074620 o m o r r i g h t b u t t 0074640 o n \r y e l l o w b i t 0074660 \t \t / / m i d d l e b u t t 0074700 o n \r ] \r ] \r \f \r / / - - 0074720 - - - - - - - - - - - - - - - - * 0075020 - - - - - - - - - - \r s t r u c 0075040 t u r e L T P : \t \t / / L o 0075060 c a l T i m e P a r a m e t 0075100 e r s \r / / - - - - - - - - - - 0075120 - - - - - - - - - - - - - - - - * 0075200 - - - - - - - - - - 376 001 \0 356 177 - 0075220 - - - - - - - \r [ \r s i g n b 0075240 i t 1 \t \t / / Z e r o i f 0075260 w e s t o f G r e e n w i 0075300 c h , o n e i f e a s t \r 0075320 z o n e H b i t 4 \t \t / / 0075340 L o c a l t i m e z o n e 0075360 i n h o u r s f r o m G r 0075400 e e n w i c h \r b l a n k b i 0075420 t 2 \r b e g i n D S T b i t 0075440 9 \t \t / / D a y o f y e 0075460 a r o n o r b e f o r e 0075500 w h i c h D S T s t a r t s 0075520 \r b l a n k b i t 1 \r z o n 0075540 e M b i t 6 \t \t / / A d d 0075560 i t i o n a l m i n u t e s 0075600 o f l o c a l t i m e z 376 0075620 001 \0 022 255 o n e \r e n d D S T b 0075640 i t 9 \t \t / / D a y o f 0075660 y e a r o n o r b e f o r 0075700 e w h i c h D S T e n d s 0075720 \r ] \r \r / / - - - - - - - - - - 0075740 - - - - - - - - - - - - - - - - * 0076040 - - \r s t r u c t u r e V E R 0076060 S : \t \t / / f o r m a t o f 0076100 v a l u e r e t u r n e d 0076120 b y V E R S i n s t r u c t 0076140 i o n \r / / - - - - - - - - - - 0076160 - - - - - - - - - - - - - - - - * 0076220 - - - - 376 001 \0 h 367 - - - - - - - 0076240 - - - - - - - - - - - - - - - - 0076260 - - - - - - - \r [ \r e n g b i 0076300 t 4 \t \t / / 0 o r 1 = 0076320 > A l t o I ; 2 = > A 0076340 l t o I I ; 3 = > A l t 0076360 o I I X M \r b u i l d b i 0076400 t 4 \r m i c r o c o d e b i 0076420 t 8 \r ] \r \r / / - - - - - - - 0076440 - - - - - - - - - - - - - - - - * 0076540 - - - - - \r s t r u c t u r e 0076560 B B T : \t \t / / B i t B l t 0076600 T a b l e \r / / - - - - - - - - 0076620 - - - - - - - - - 376 001 \0 M 321 - - 0076640 - - - - - - - - - - - - - - - - * 0076720 - - - - - - - - - \r [ \r f u n c 0076740 t i o n w o r d = \r [ 0076760 \r b l a n k b i t 1 0 0077000 \t \t / / m u s t b e z e r 0077020 o \r s B a n k b i t \t \t 0077040 / / s o u r c e i s i n 0077060 a l t e r n a t e b a n k \r 0077100 d B a n k b i t \t \t / / 0077120 d e s t i n a t i o n i s i 0077140 n a l t e r n a t e b a n k 0077160 \r s T y p e b i t 2 \t 0077200 \t / / s o u r c e t y p e \r 0077220 o p b i t 2 \t \t / 376 001 0077240 \0 l t / o p e r a t i o n \r 0077260 ] \r b l a n k w o r d \t \t 0077300 / / u n u s e d ( s o f t w 0077320 a r e s t a s h e s A C 2 0077340 h e r e ) \r d b c a w o r d \t 0077360 \t / / d e s t i n a t i o n 0077400 b i t m a p c o r e a d d r 0077420 e s s \r d b m r w o r d \t \t / 0077440 / d e s t i n a t i o n b i 0077460 t m a p r a s t e r \r d l x 0077500 w o r d \t \t / / d e s t i n a 0077520 t i o n l e f t X c o o r 0077540 d i n a t e \r d t y w o r d \t 0077560 \t / / d e s t i n a t i o n 0077600 t o p Y c o o r d i n a t e 0077620 \r d w w o r d \t \t \t / / d e 0077640 s t i 376 001 \0 214 J n a t i o n b 0077660 l o c k w i d t h \r d h w o 0077700 r d \t \t \t / / d e s t i n a t 0077720 i o n b l o c k h e i g h t 0077740 \r s b c a w o r d \t \t / / s 0077760 o u r c e b i t m a p c o r 0100000 e a d d r e s s \r s b m r w 0100020 o r d \t \t / / s o u r c e b 0100040 i t m a p r a s t e r \r s l x 0100060 w o r d \t \t / / s o u r c e 0100100 l e f t X \r s t y w o r d 0100120 \t \t / / s o u r c e t o p 0100140 y \r g r a y ^ 0 , 3 w o r d \t 0100160 \t / / g r a y b l o c k \r ] 0100200 \r m a n i f e s t l B B T = 0100220 s i z e B B T / 1 6 \r \r / / 0100240 - - - - - - - - 376 001 \0 321 c - - - 0100260 - - - - - - - - - - - - - - - - * 0100360 - \r s t r u c t u r e D C B : 0100400 \t \t / / D i s p l a y C o n 0100420 t r o l B l o c k \r / / - - - 0100440 - - - - - - - - - - - - - - - - * 0100540 - - - - - - - - - \r [ \r n e x t 0100560 w o r d \t \t / / - > n e x 0100600 t D C B ; 0 i f l a s t 0100620 \r p a r w d w o r d = \r 0100640 [ \r r e s o l u t 376 001 \0 0100660 N H i o n b i t 1 \t / / 0 0100700 = h i g h ; 1 = l o w 0100720 \r b a c k g r o u n d b 0100740 i t 1 \t / / 0 = w h i t 0100760 e ; 1 = b l a c k \r 0101000 i n d w i d t h b i t 1 4 0101020 = \r [ \r 0101040 i n d e n t a t i o n b i t 0101060 6 \t / / i n d e n t 1 6 * i 0101100 n d e n t a t i o n b i t s 0101120 o n t h e l e f t \r 0101140 w i d t h b i t 8 \t / / 0101160 i n w o r d s ; m u s t 0101200 b e e v e n ; z e r o i s 0101220 O K \r ] \r ] 0101240 \r b i t m a p w o r d \t \t / / 0101260 - 376 \0 s \ 261 > b i t m a p 0101300 ; m u s t b e e v e n \r h 0101320 e i g h t w o r d \t \t / / s 0101340 c a n l i n e s = 2 * h e 0101360 i g h t ( h e i g h t i n 0101400 e a c h f i e l d ) \r ] \r m a 0101420 n i f e s t l D C B = s i 0101440 z e D C B / 1 6 \r 377 \0 \0 A l t 0101460 o F i l e S y s . d \0 373 225 + q C 0101500 \0 \0 376 001 \0 M ] / / A l t o F i 0101520 l e S y s . D - - D e f i n 0101540 i t i o n s f o r t h i n g 0101560 s k e p t o n a d i s k 0101600 . \r / / C o p y r i g h t X 0101620 e r o x C o r p o r a t i o n 0101640 1 9 7 9 \r / / L a s t m o 0101660 d i f i e d O c t o b e r 9 0101700 , 1 9 7 9 1 0 : 5 2 A M 0101720 b y T a f t \r \r m a n i f e 0101740 s t m a x S t r i n g I n d e 0101760 x = 2 5 5 \r s t r u c t u r 0102000 e S T R I N G : [ l e n g 0102020 t h b y t e ; c h a r ^ 1 , 0102040 m a x S t r i n g I n d e x b 0102060 y t e ] \r m a n i f e s t l 0102100 S T R I N G 376 001 \0 * 241 = s i 0102120 z e S T R I N G / 1 6 \r \r s t 0102140 r u c t u r e T I M E : [ 0102160 h w o r d 1 ; l w o r d 0102200 1 ] \r m a n i f e s t l T 0102220 I M E = s i z e T I M E / 0102240 1 6 \r \r \r / / F I L E 0102260 D E S C R I 0102300 P T O R S \r \r / / - - - 0102320 - - - - - - - - - - - - - - - - * 0102420 - - - - - - - - \r s t r u c t u 0102440 r e S N : \t \t / / F i l e 0102460 S e r i a l N u m b e r \r / / 0102500 - - - - - - - - - - - - 376 001 \0 267 0102520 344 - - - - - - - - - - - - - - - 0102540 - - - - - - - - - - - - - - - - * 0102620 \r [ \r w o r d 1 w o r d = 0102640 \r [ \r d i r e c t 0102660 o r y b i t 1 \t / / t h i 0102700 s f i l e i s a d i r e 0102720 c t o r y \r r a n d o m 0102740 b i t 1 \r n o l o g b 0102760 i t \t \t / / n o l o n g e r 0103000 u s e d \r p a r t 1 b 0103020 i t 1 3 \r ] \r w o r d 2 0103040 w o r d = p a r t 2 0103060 w o r d \r ] \r m a n i f e s t 0103100 l S N = s i z e S N / 1 6 0103120 \r 376 001 \0 210 [ \r \r / / f i l e 0103140 p o i n t e r - - d e s c r 0103160 i b e s a p a r t i c u l a 0103200 r f i l e b y l a b e l 0103220 & l e a d e r p a g e p o 0103240 s i t i o n \r / / - - - - - - - 0103260 - - - - - - - - - - - - - - - - * 0103360 - - - - \r s t r u c t u r e F 0103400 P : \t \t / / F i l e P o i n 0103420 t e r \r / / - - - - - - - - - - 0103440 - - - - - - - - - - - - - - - - * 0103520 - - - - - - 376 001 \0 212 256 - - - - - 0103540 - - - - - - \r [ \r s e r i a l N 0103560 u m b e r @ S N \r v e r s i o 0103600 n w o r d \r b l a n k w o r 0103620 d \t \t / / e x p a n s i o n 0103640 t o 2 - w o r d v i r t u a 0103660 l D a ' s \r l e a d e r V i r 0103700 t u a l D a w o r d \r ] \r m a 0103720 n i f e s t l F P = s i z 0103740 e F P / 1 6 \r \r \r / / f i l 0103760 e a d d r e s s - - d e s 0104000 c r i b e s a p a r t i c u 0104020 l a r s p o t i n s o m e 0104040 f i l e , b u t \r / / \t \t d 0104060 o e s n o t c o n t a i n 0104100 e n o u g h i n f o t o r 0104120 e a d i t ( S N , 376 001 \0 025 032 0104140 v n m i s s i n g ) \r / / - 0104160 - - - - - - - - - - - - - - - - * 0104260 - - - - - - - - - - \r s t r u c 0104300 t u r e F A : \t \t / / F i l 0104320 e A d d r e s s \r / / - - - - 0104340 - - - - - - - - - - - - - - - - * 0104440 - - - - - - - \r [ \r d a w o r 0104460 d \t \t \t / / V i r t u a l D 0104500 A f o r t h e p a g e \r p 0104520 a g e N u m b e r w o r d \t \t 0104540 376 001 \0 - / / P a g e n u m 0104560 b e r i n f i l e ( 0 , 0104600 1 , . . . . ) \r c h a r P o s 0104620 w o r d \t \t / / B y t e p 0104640 o s i t i o n o n t h e p 0104660 a g e \r ] \r m a n i f e s t l 0104700 F A = s i z e F A / 1 6 \r 0104720 \r \r / / c o m p l e t e f i 0104740 l e a d d r e s s - - c o 0104760 m p l e t e i n f o r m a t i 0105000 o n n e e d e d t o a d d 0105020 r e s s \r / / \t \t a n y b y t 0105040 e i n t h e f i l e s t 0105060 r u c t u r e \r / / - - - - - - 0105100 - - - - - - - - - - - - - - - - * 0105140 - - - - - 376 001 \0 351 037 - - - - - - 0105160 - - - - - - - - - - - - - - - - 0105200 - - - - - - - - - - \r s t r u c 0105220 t u r e C F A : \t \t / / C o 0105240 m p l e t e F i l e A d d r 0105260 e s s \r / / - - - - - - - - - - 0105300 - - - - - - - - - - - - - - - - * 0105400 - \r [ \r f p @ F P \r f a @ F 0105420 A \r ] \r m a n i f e s t l C F 0105440 A = s i z e C F A / 1 6 \r 0105460 \f \r / / D I S K 0105500 D E S C R I 0105520 P T O R \r \r / / - - - - - 0105540 - - - - - - - - - - 376 001 \0 @ P - 0105560 - - - - - - - - - - - - - - - - * 0105640 - - - - - - - - - - - \r s t r u 0105660 c t u r e K D H : \t \t / / D 0105700 i s k D e s c r i p t o r H 0105720 e a d e r \r / / - - - - - - - - 0105740 - - - - - - - - - - - - - - - - * 0106040 - - - \r [ \r k d w o r d = \t 0106060 \t / / F i r s t w o r d ( 0106100 f o r l v . . . ) \r n D i s k 0106120 s w o r d \t \t / / N u m b e 0106140 r o f d i s k s \r n T r a 376 0106160 001 \0 J 265 c k s w o r d \t \t / / 0106200 N u m b e r o f t r a c k 0106220 s \r n H e a d s w o r d \t \t / 0106240 / N u m b e r o f h e a d 0106260 s \r n S e c t o r s w o r d \t 0106300 \t / / N u m b e r o f s e 0106320 c t o r s \r l a s t S n @ S N 0106340 \t \t / / L a s t s e r i a l 0106360 n u m b e r u s e d o n 0106400 d i s k \r b i t T a b l e C h a 0106420 n g e d w o r d \t / / T r u 0106440 e i f b i t t a b l e c 0106460 u r r e n t l y i n v a l i d 0106500 \r d i s k B T s i z e w o r d 0106520 \t \t / / N u m b e r o f v 0106540 a l i d w o r d s i n t h 0106560 e d i 376 001 \0 263 V s k b i t 0106600 t a b l e \r d e f a u l t V e r 0106620 s i o n s K e p t w o r d \t / 0106640 / D e f a u l t # f i l e 0106660 v e r s i o n s r e t a i n 0106700 e d \r \t \t \t \t / / ( 0 i m p 0106720 l i e s n o m u l t i p l e 0106740 v e r s i o n f e a t u r e 0106760 ) \r f r e e P a g e s w o r d 0107000 \r b l a n k w o r d 6 \r ] \r 0107020 m a n i f e s t l K D H e a d 0107040 e r = s i z e K D H / 1 6 0107060 \r \f \r / / L E A 0107100 D E R P A G E 0107120 \r \r / / l e a d e r p a g e 0107140 - - n o t e t h a t t h 0107160 e d e f i n i t 376 001 \0 254 211 i o 0107200 n i s i n d e p e n d e n t 0107220 o f p a g e s i z e \r / / 0107240 \t \t ( a s s u m e s a t l e 0107260 a s t 2 5 6 w o r d s c a 0107300 n b e s t o r e d ) \r \r m a 0107320 n i f e s t m a x L e n g t h 0107340 F n = 3 9 \t \t / / F o r a 0107360 l l O S r o u t i n e s \r m 0107400 a n i f e s t m a x L e n g t 0107420 h F n I n W o r d s = ( m a 0107440 x L e n g t h F n + 2 ) / 2 / 0107460 / e n o u g h f o r f i n a 0107500 l " . " \r \r / / - - - - - - - 0107520 - - - - - - - - - - - - - - - - * 0107560 - - - - - - - - - - - - - - 376 001 0107600 \0 F 237 - - - - - - - - - - - - - 0107620 - - - - - - - - - \r s t r u c t 0107640 u r e L D : \t \t / / L e a d 0107660 e r P a g e \r / / - - - - - - 0107700 - - - - - - - - - - - - - - - - * 0110000 - - - - - \r [ \r c r e a t e d 0110020 @ T I M E \r w r i t t e n @ T 0110040 I M E \r r e a d @ T I M E \r n 0110060 a m e w o r d m a x L e n g 0110100 t h F n I n W o r d s \r l e a d 0110120 e r P r o p s w o r d 2 1 0 0110140 \t / / P r o p e r t i e s s 0110160 t o r e d i n l e a d e r 0110200 p a g 376 001 \0 q 270 e \r s p a r e 0110220 w o r d 2 5 6 - 3 * l T I M E 0110240 - m a x L e n g t h F n I n W o 0110260 r d s - 2 1 0 - 2 - l F P - l F 0110300 A \r p r o p e r t y B e g i n 0110320 b y t e \t / / I n d e x i n 0110340 L D o f l e a d e r P r o 0110360 p s \r p r o p e r t y L e n g t 0110400 h b y t e \t / / n u m b e r 0110420 o f w o r d s = 2 1 0 \r 0110440 c o n s e c u t i v e b i t \t 0110460 \t / / H i n t t h a t f i 0110500 l e i s a l l o c a t e d 0110520 c o n s e c u t i v e l y \r b l 0110540 a n k 1 b i t 7 \r c h a n g 0110560 e S e r i a l b i t 8 \t / / 0110600 B u m p e d 376 001 \0 . 340 e a c 0110620 h t i m e n a m e = > F 0110640 P m a p c h a n g e s \r d i 0110660 r F p w o r d l F P \t \t / / 0110700 H i n t f o r d i r e c t 0110720 o r y \r h i n t L a s t P a g e 0110740 F a @ F A \t / / E O F h i 0110760 n t \r ] \r \r \r / / - - - - - - - 0111000 - - - - - - - - - - - - - - - - * 0111100 - - - - \r s t r u c t u r e F 0111120 P R O P : \t / / F i l e p r 0111140 o p e r t i e s ( p a r t l y 0111160 i n l e a d e r ) \r / / - - 0111200 - - - - - - - - - - - - - 376 001 \0 0111220 217 q - - - - - - - - - - - - - - 0111240 - - - - - - - - - - - - - - - - * 0111300 - - - - - - - - - - - - - - \r [ 0111320 \t \t \t / / 0 t e r m i n a t 0111340 e s l i s t \r t y p e b i t 0111360 8 \r l e n g t h b i t 8 \r 0111400 ] \r \r m a n i f e s t \r [ \r / / 0111420 F P R O P t y p e s \r f p r 0111440 o p T y p e D S h a p e = 1 0111460 \t / / c o n t a i n s a D 0111500 S H A P E ( i n l e a d e r 0111520 p a g e o f S y s D i r ) 0111540 \r f p r o p T y p e P a r t i t 0111560 i o n N a m e = 2 / / 0111600 c o n t a i n s a S T R I N 0111620 G 376 001 \0 333 371 w h i c h i s 0111640 t h e n a m e o f t h i s 0111660 \r \t \t \t / / p a r t i t i o n 0111700 ( i n l e a d e r p a g e 0111720 o f S y s D i r ) \r ] \r \r / 0111740 / - - - - - - - - - - - - - - - 0111760 - - - - - - - - - - - - - - - - * 0112040 - - - - - - - - - - - - \r s t r 0112060 u c t u r e D S H A P E : \t / 0112100 / S h a p e o f t h e d 0112120 i s k ( a p r o p e r t y 0112140 i n l e a d e r o f S y s 0112160 D i r ) \r / / - - - - - - - - - 0112200 - - - - - - - - - - - - - - - - 0112220 - - - - - - - 376 001 \0 037 6 - - - - 0112240 - - - - - - - - - - - - - - - - * 0112300 - - - - - - - \r [ \r n D i s k s 0112320 w o r d \t \t / / N u m b e r 0112340 o f d i s k s \r n T r a c k 0112360 s w o r d \t \t / / N u m b e 0112400 r o f t r a c k s \r n H e a 0112420 d s w o r d \t \t / / N u m b 0112440 e r o f h e a d s \r n S e c 0112460 t o r s w o r d \t \t / / N u 0112500 m b e r o f s e c t o r s \r 0112520 ] \r m a n i f e s t l D S H A 0112540 P E = s i z e D S H A P E 0112560 / 1 6 \r \f \r / / D 0112600 I R E C T O R I 0112620 E S \r \r / / - - - - - 376 001 \0 a 0112640 2 - - - - - - - - - - - - - - - 0112660 - - - - - - - - - - - - - - - - * 0112740 - - - - - - - \r s t r u c t u r 0112760 e D V : \t \t / / D i r e c t 0113000 o r y e n t r y v a l u e \r 0113020 / / - - - - - - - - - - - - - - 0113040 - - - - - - - - - - - - - - - - * 0113120 - - - - - - - - - - - - - \r [ \r 0113140 t y p e b i t 6 \r l e n g t 0113160 h b i t 1 0 \r f p @ F P \r 0113200 n a m e @ S T R I N G \r ] \r m 0113220 a n i f e s t l D V = o f 0113240 f 376 \0 j 364 3 s e t D V . n a m 0113260 e / 1 6 / / * * n o t e : 0113300 l e n g t h o f h e a d e 0113320 r o n l y \r \r m a n i f e s t 0113340 \t \t / / D V t y p e s \r [ \r 0113360 d v T y p e F r e e = 0 \r d 0113400 v T y p e F i l e = 1 \r ] \r 0113420 377 \0 \0 B c p l F i l e s . d \0 373 0113440 225 + q C \0 \0 376 001 \0 377 242 / / B c 0113460 p l F i l e s . d - - B c p 0113500 l - r e l a t e d f i l e f 0113520 o r m a t s \r / / C o p y r i 0113540 g h t X e r o x C o r p o r 0113560 a t i o n 1 9 7 9 \r / / L a 0113600 s t m o d i f i e d D e c e 0113620 m b e r 2 1 , 1 9 7 8 4 0113640 : 0 7 A M b y B o g g s \r 0113660 \r \r / / - - - - - - - - - - - - 0113700 - - - - - - - - - - - - - - - - * 0114000 \r s t r u c t u r e B L V : \t 0114020 \t / / l a y o u t v e c t o 0114040 r p a s s e d t o 376 001 \0 342 005 0114060 t h e p r o g r a m o n 0114100 s t a r t u p \r / / - - - - - - 0114120 - - - - - - - - - - - - - - - - * 0114220 - - - - - - \r [ \r o v e r l a y 0114240 A d d r e s s ^ 0 , 2 5 0114260 w o r d \r s t a r t O f S t a t 0114300 i c s w o r d \t / / a d d r 0114320 e s s o f f i r s t s t a 0114340 t i c \r e n d O f S t a t i c s 0114360 w o r d \t / / a d d r e s s 0114400 o f l a s t s t a t i c \r 0114420 s t a r t O f C o d e w o r d 0114440 \t / / a d d r e s s o f f 0114460 376 001 \0 243 340 i r s t w o r d o 0114500 f c o d e \r a f t e r L a s t 0114520 C o d e W o r d w o r d \t / / 0114540 1 + l a r g e s t a d d 0114560 r e s s a t w h i c h c o 0114600 d e i s \r \t \t \t / / l o a d 0114620 e d ( n o r m a l l y e n d 0114640 C o d e i s t h e \r \t \t \t / 0114660 / s a m e , a n d t h e 0114700 s y s t e m t r e a t s t h 0114720 a t \r \t \t \t / / v a l u e a 0114740 s t h e e n d o f t h e 0114760 p r o g r a m ) \r e n d C o d 0115000 e w o r d \t \t / / f i r s t 0115020 l o c a t i o n w h i c h 0115040 m a y b e u s e d f o r 0115060 \r \t \t \t / 376 001 \0 376 006 / d a t a 0115100 ; u s e d b y t h e s y 0115120 s t e m t o s e t \r \t \t \t / 0115140 / E n d C o d e \r r e l P a i 0115160 r T a b l e w o r d \t / / / 0115200 I s w i t c h - a d d r e s 0115220 s i n c o d e \r \t \t \t / / 0115240 a r e a f o r t a b l e \r ] 0115260 \r m a n i f e s t l B L V = 0115300 s i z e B L V / 1 6 \r \r \r / 0115320 / - - - - - - - - - - - - - - - 0115340 - - - - - - - - - - - - - - - - * 0115420 - - - - - - - - - - - - - \r s t 0115440 r u c t u r e S V : \t \t / / 0115460 f o r m a t o f 376 001 \0 202 e a 0115500 n A l t o R U N ( s a v e 0115520 ) f i l e \r / / - - - - - - - 0115540 - - - - - - - - - - - - - - - - * 0115640 - - - - - \r [ \r H : \r [ \t 0115660 \t \t / / h e a d e r \r s 0115700 t a r t i n g A d d r e s s w 0115720 o r d \t / / i n i t i a l v 0115740 a l u e f o r P C . L o a 0115760 d e r s e t s \r \t \t \t / / 0116000 t h i s t o S V . B L V . s 0116020 t a r t O f C o d e \r l e 0116040 n g t h w o r d \t \t / / # 0116060 f u l l p a g e s u p t 376 0116100 001 \0 337 F o a f t e r L a s t C 0116120 o d e W o r d \r t y p e 0116140 w o r d \t \t / / s h o u l d 0116160 b e 0 f o r a n o r d i 0116200 n a r y \r \t \t \t / / s a v e 0116220 f i l e \r n S t a t i c L 0116240 i n k s w o r d \t / / # s 0116260 t a t i c l i n k s a f t e 0116300 r a f t e r L a s t C o d e W 0116320 o r d \r b l a n k ^ 2 0116340 , 1 1 w o r d \r ] \r B 0116360 L V @ B L V \t \t / / B c p l 0116400 l a y o u t v e c t o r \r p 0116420 a g e 0 ^ 0 , # 2 7 7 w 0116440 o r d \t / / T h e f i r s t 0116460 # 1 6 w o r d s a r e \r 0116500 \t \t \t / 376 001 \0 250 p / i g n o r 0116520 e d ; t h e r e s t a r e 0116540 u s e d t o s e t \t \r \t \t 0116560 \t / / w o r d s # 1 6 t o 0116600 # 2 7 7 o f m e m o r y \r 0116620 s t a t i c s ^ 0 , 0 w 0116640 o r d \t / / a c t u a l l y 0116660 t h e r e a r e ( B L V . e 0116700 n d O f S t a t i c s - \r \t \t \t 0116720 / / B L V . s t a r t O f S t 0116740 a t i c s + 1 ) w o r d s 0116760 h e r e \r c o d e ^ 0 , 0117000 0 w o r d \t / / a c t u a l 0117020 l y t h e r e a r e ( B L 0117040 V . e n d C o d e - \r \t \t \t / 0117060 / B L V . s t a r t O f C o d 0117100 e ) w o r d s 376 001 \0 u 033 h e 0117120 r e \r e n d w o r d \r ] \r \f \r 0117140 / / - - - - - - - - - - - - - - 0117160 - - - - - - - - - - - - - - - - * 0117240 - - - - - - - - - - - - - - \r s 0117260 t r u c t u r e B B H e a d e 0117300 r : \t / / h e a d e r o f 0117320 . B B o v e r l a y f i l e 0117340 o r f i l e s e g m e n t 0117360 \r / / - - - - - - - - - - - - - 0117400 - - - - - - - - - - - - - - - - * 0117460 - - - - - - - - - - - - - - - \r 0117500 [ \r c o d e L o c w o r d 376 001 0117520 \0 366 > \t \t / / P C o f f i 0117540 r s t c o d e w o r d , c 0117560 o n t r o l l e d b y / P \r 0117600 c o d e L e n g t h w o r d \t 0117620 \t / / # c o d e w o r d s 0117640 i n o v e r l a y \r t y p e 0117660 w o r d \t \t / / 0 f o r 0117700 / A , 1 f o r / B \r r e l 0117720 P a i r T a b l e w o r d \t / 0117740 / F I L E w o r d l o c a 0117760 t i o n o f r e l o c a t i 0120000 o n t a b l e \r f i l e L e n 0120020 g t h w o r d \t \t / / f i l 0120040 e o r s e g m e n t l e n 0120060 g t h , i n w o r d s \r o v 0120100 e r l a y P a g e w o r d \t / 0120120 / ( 376 001 \0 276 \b a l t o p a g 0120140 e # ) - 1 o f t h i s d 0120160 i s k p a g e \r b l a n k ^ # 0120200 6 , # 1 7 w o r d \t / / r e 0120220 s e r v e d \r ] \r m a n i f e s 0120240 t l B B H e a d e r = s i 0120260 z e B B H e a d e r / 1 6 \r \r 0120300 \r / / - - - - - - - - - - - - - 0120320 - - - - - - - - - - - - - - - - * 0120400 - - - - - - - - - - - - - - - \r 0120420 s t r u c t u r e S Y m s H e 0120440 a d e r : \t / / h e a d e r 0120460 o f . S Y M S f i l e \r / / 0120500 - - - - - - - - - - - - - - - - 0120520 - - - - - - - - 376 001 \0 370 t - - - 0120540 - - - - - - - - - - - - - - - - * 0120620 - \r [ \r v e r s i o n w o r d 0120640 1 \t \t / / v e r s i o n o 0120660 f B L D R t h a t l o a d 0120700 e d \r f i l e L e n g t h w o 0120720 r d 1 \t / / i n w o r d s 0120740 \r n a m e s A d d r w o r d \t 0120760 \t / / f i l e w o r d l o 0121000 c a t i o n o f n a m e s 0121020 t r i n g s \r s y m s A d d r 0121040 w o r d \t \t / / l o c a t i o 0121060 n o f s t a t i c s y m b 0121100 o l d e s c r i p t i o n s \r 0121120 b r F i l e s A d d r w 376 \0 257 0121140 } 204 o r d \t / / l o c a t i o 0121160 n o f . B R f i l e d e 0121200 s c r i p t i o n s \r b i n F i 0121220 l e s A d d r w o r d \t / / 0121240 l o c a t i o n o f . R U N 0121260 a n d . B B f i l e d e 0121300 s c r i p s \r b l a n k ^ # 6 , 0121320 # 1 7 w o r d \t / / r e s e 0121340 r v e d \r ] \r m a n i f e s t 0121360 l S Y m s H e a d e r = s i 0121400 z e S Y m s H e a d e r / 1 6 0121420 \r 377 \0 \0 B F S . d \0 373 225 + q C \0 0121440 \0 376 001 \0 373 \v / / B F S . D - 0121460 - B a s i c F i l e S y s 0121500 t e m f o r D i a b l o d 0121520 i s k c o n t r o l l e r \r / 0121540 / \t O r i g i a l d e s i g 0121560 n b y B u t l e r L a m p 0121600 s o n \r / / \t E l a b o r a t 0121620 e d b y B o b S p r o u l 0121640 l , D a v i d B o g g s , 0121660 a n d E d T a f t \r / / C 0121700 o p y r i g h t X e r o x C 0121720 o r p o r a t i o n 1 9 7 9 \r 0121740 / / L a s t m o d i f i e d 0121760 S e p t e m b e r 1 2 , 1 0122000 9 7 9 2 : 4 3 A M b y 0122020 B o g g s \r \r / / M u s t b 0122040 e p r e c 376 001 \0 204 215 e d e d 0122060 b y : \r / / g e t " A l t o 0122100 F i l e S y s . d " \r / / g e 0122120 t " D i s k s . d " \r \r m a n 0122140 i f e s t \r [ \r / / S h a p e 0122160 o f a D i a b l o d i s 0122200 k \r B F S m N D i s k s = 1 0122220 \r B F S 3 1 N T r a c k s = 0122240 2 0 3 \r B F S 4 4 N T r a c k s 0122260 = 4 0 6 \r B F S m N H e a d 0122300 s = 2 \r B F S m N S e c t o 0122320 r s = 1 2 \r \r B F S l n W o 0122340 r d s P e r P a g e = 8 \r B 0122360 F S w o r d s P e r P a g e = 0122400 2 5 6 \r B F S m a x D D P a g 0122420 e = 1 7 \t / / 1 f o r 0122440 t h e K D H + 1 376 001 \0 201 9 0122460 6 f o r t h e b i t t a 0122500 b l e \r \r / / D e f i n e d 0122520 i n A l t o D e f s . d : \r / 0122540 / d i s k C o m m a n d = 0122560 5 2 1 b \r / / d i s k S t a t 0122600 u s = 5 2 2 b \r / / d i s 0122620 k A d d r e s s = 5 2 3 b \r 0122640 ] \r \r / / u s e d b y A s 0122660 s i g n / R e l e a s e D i s k 0122700 P a g e t o c o m p u t e 0122720 b i t l o c a t i o n s \r / / 0122740 - - - - - - - - - - - - - - - - * 0123040 - - - - - - - - - - - - \r s t r 0123060 376 001 \0 001 265 u c t u r e V D A : 0123100 \r / / - - - - - - - - - - - - - 0123120 - - - - - - - - - - - - - - - - * 0123200 - - - - - - - - - - - - - - - \r 0123220 [ \r w o r d N u m b i t 1 2 0123240 = \t / / w o r d i n d e x 0123260 i n w h o l e f i l e \r 0123300 [ \r p a g e N u m b 0123320 i t 1 2 - B F S l n W o r d s 0123340 P e r P a g e \r w o r d N 0123360 u m I n P a g e b i t B F S 0123400 l n W o r d s P e r P a g e \r 0123420 ] \r b i t N u m b i t 4 0123440 \t \t / / b i t i n d e x \r ] 0123460 \r \r / / 376 001 \0 324 341 O p e r a t 0123500 i o n s o n a D i s k D 0123520 e s c r i p t o r M a n a g e 0123540 r ( D D M g r ) o b j e c t 0123560 . \r / / S e e B F S D D M g 0123600 r . b c p l f o r d e t a i 0123620 l s . \r / / - - - - - - - - - - 0123640 - - - - - - - - - - - - - - - - * 0123740 - - \r s t r u c t u r e D D M 0123760 g r O p e r a t i o n s : \r / / 0124000 - - - - - - - - - - - - - - - - * 0124060 - - - - - - - - - - 376 001 \0 335 370 - 0124100 - - - - - - - - - - - - - - - - 0124120 - \r [ \r O p e n D D w o r d \t 0124140 \t / / C a l l 0 \r L o c k D D 0124160 w o r d \t \t / / C a l l 1 \r 0124200 R e a d D D P a g e w o r d \t 0124220 \t / / C a l l 2 \r U n l o c k 0124240 D D w o r d \t \t / / C a l l 0124260 3 \r F l u s h D D w o r d \t \t 0124300 / / C a l l 4 \r C l o s e D D 0124320 w o r d \t \t / / C a l l 5 \r 0124340 D e s t r o y D D M g r w o r 0124360 d \t / / C a l l 6 \r ] \r \f \r / 0124400 / - - - - - - - - - - - - - - - 0124420 - - - - - - - - - - - - - - - - * 0124460 - - - - - - - - - - - - - - - 376 0124500 001 \0 261 ~ - - - - - - - - - - - - 0124520 - - \r s t r u c t u r e D S T 0124540 : \t \t / / D i s k S t a t u 0124560 s . S e e A l t o H a r 0124600 d w a r e M a n u a l \r / / - 0124620 - - - - - - - - - - - - - - - - * 0124720 - - - - - - - - - - - \r [ \r s e 0124740 c t o r b i t 4 \r d o n e 0124760 b i t 4 \r s e e k F a i l b 0125000 i t \r s e e k i n g b i t \r n 0125020 o t R e a d y b i t \r d a t a 0125040 L a t e b i t \r n o T r a n s 0125060 f e r b i t \r c h e c k s u m 0125100 E r r o 376 001 \0 263 204 r b i t \r f 0125120 i n a l S t a t u s b i t 2 0125140 \r ] \r \r m a n i f e s t \r [ \r / 0125160 / d i s k s t a t u s b i 0125200 t s \r d o n e = 7 4 0 0 B \r 0125220 s e e k F a i l = 2 0 0 B \r 0125240 s e e k i n g = 1 0 0 B \r n 0125260 o t R e a d y = 4 0 B \r d a 0125300 t a L a t e = 2 0 B \r n o T 0125320 r a n s f e r = 1 0 B \r c h 0125340 e c k s u m E r r o r = 4 \r 0125360 \r / / f i n a l s t a t u s 0125400 v a l u e s \r b a d S e c t o 0125420 r = 3 \r c h e c k E r r o r 0125440 = 2 \r h a r d w a r e E r r 0125460 o r = 1 \r / / g o o d S t 0125500 a t u s = 0 \r 376 001 \0 261 Z \r D 0125520 S T d o n e B i t s = d o n 0125540 e \r D S T e r r o r B i t s = 0125560 s e e k F a i l + n o t R 0125600 e a d y + d a t a L a t e 0125620 + c h e c k s u m E r r o r 0125640 + b a d S e c t o r \r D S T g 0125660 o o d S t a t u s M a s k = 0125700 D S T e r r o r B i t s % D 0125720 S T d o n e B i t s \r D S T g o 0125740 o d S t a t u s = d o n e \r 0125760 D S T f r e e S t a t u s = 0126000 4 0 0 B \r D S T f a k e E r r o 0126020 r = d o n e + d a t a L 0126040 a t e \r ] \r \f \r / / H e a d e 0126060 r , L a b e l , a n d D a 0126100 t a f o r m a t s o n 376 001 0126120 \0 336 d i s k \r \r / / - - - - - 0126140 - - - - - - - - - - - - - - - - * 0126240 - - - - - - - \r s t r u c t u r 0126260 e D A : \t \t / / D i s k A 0126300 d d r e s s ( r e a l ) \r / / 0126320 - - - - - - - - - - - - - - - - * 0126420 - - - - - - - - - - - - \r [ \r s 0126440 e c t o r b i t 4 \r t r a c 0126460 k b i t 9 \t \t / / m i s n 0126500 a m e d . r e a l l y c y 0126520 l i n 376 001 \0 003 - d e r a d d r 0126540 e s s \r h e a d b i t 1 \r d 0126560 i s k b i t 1 \r r e s t o r 0126600 e b i t 1 \r ] \r \r / / - - - 0126620 - - - - - - - - - - - - - - - - * 0126720 - - - - - - - - - \r s t r u c t 0126740 u r e D H : \t \t / / D i s k 0126760 H e a d e r \r / / - - - - - - 0127000 - - - - - - - - - - - - - - - - * 0127100 - - - - - - \r [ \r p a c k I D 0127120 w o r d \t \t / / 376 001 \0 331 [ m u 0127140 s t b e 0 \r d i s k A d d r 0127160 e s s @ D A \r ] \r \r / / - - - 0127200 - - - - - - - - - - - - - - - - * 0127300 - - - - - - - - - \r s t r u c t 0127320 u r e F I D : \t \t / / F i l 0127340 e I d e n t i f i e r ( u s 0127360 e d o n l y o n a d i s 0127400 k l a b e l ) \r / / - - - - - 0127420 - - - - - - - - - - - - - - - - * 0127520 - - - - - - - \r [ \r v e r 376 001 \0 0127540 033 032 s i o n w o r d \r s e r i 0127560 a l N u m b e r @ S N \r ] \r m 0127600 a n i f e s t l F I D = s 0127620 i z e F I D / 1 6 \r \r / / - - 0127640 - - - - - - - - - - - - - - - - * 0127740 - - - - - - - - - - \r s t r u c 0127760 t u r e D L : \t \t / / D i s 0130000 k L a b e l . * = s e t b 0130020 y D o D i s k C o m m a n d \r 0130040 / / - - - - - - - - - - - - - - 0130060 - - - - - - - - - - - - - - - - * 0130140 - - 376 001 \0 + o - - - - - - - - - 0130160 - - - \r [ \r n e x t w o r d \t 0130200 \t / / d i s k a d d r e s s 0130220 o f n e x t f i l e p a 0130240 g e , o r e o f D A \r p r e 0130260 v i o u s w o r d \t \t / / d 0130300 i s k a d d r e s s o f p 0130320 r e v i o u s f i l e p a g 0130340 e , o r e o f D A \r b l a n 0130360 k w o r d \r n u m C h a r s 0130400 w o r d \t \t / / b e t w e e n 0130420 0 a n d c h a r s P e r P 0130440 a g e i n c l u s i v e . \r \t 0130460 \t \t / / n e c h a r s P e r 0130500 P a g e o n l y o n l a s 0130520 t p a g e \r p a g e N u m b e 0130540 r w o r d \t 376 001 \0 ` 230 \t / / 0130560 * l e a d e r i s p a g e 0130600 0 , f i r s t d a t a p 0130620 a g e i s p a g e 1 \r f i 0130640 l e I d @ F I D \t \t / / * \r 0130660 ] \r m a n i f e s t l D L = 0130700 s i z e D L / 1 6 \r \f \r / / 0130720 N o t e : t h e b i g d 0130740 i s k s o n D 0 a n d D 0130760 o r a d o a r e p a r t i t 0131000 i o n e d i n t o a n u m 0131020 b e r \r / / o f s i m u l a 0131040 t e d D i a b l o d i s k s 0131060 . T h e p a r t i t i o n 0131100 s a r e n u m b e r e d 1 0131120 t h r o u g h 7 ; \r / / p 0131140 a r t i t i o n 0 r 376 001 \0 304 0131160 _ e f e r s t o t h e c u 0131200 r r e n t " d e f a u l t " 0131220 p a r t i t i o n k n o w n 0131240 a b o u t \r / / b y t h e 0131260 m i c r o c o d e . A B F 0131300 S D S K o b j e c t f o r 0131320 a p a r t i c u l a r p a r 0131340 t i t i o n m a y \r / / b e 0131360 c o n s t r u c t e d b y 0131400 p a s s i n g t h e p a r t 0131420 i t i o n n u m b e r e m b 0131440 e d d e d i n t h e \r / / 0131460 d r i v e N u m b e r a r g u 0131500 m e n t o f B F S I n i t 0131520 o r B F S N e w D i s k . 0131540 T h e p a r t i t i o n i s 0131560 \r 376 001 \0 P 025 / / p a s s e d 0131600 t o t h e m i c r o c o d e 0131620 e m b e d d e d i n t h e 0131640 c o m m a n d b l o c k s 0131660 e a l . \r \r / / - - - - - - - - 0131700 - - - - - - - - - - - - - - - - * 0132000 - - - - \r s t r u c t u r e D 0132020 r i v e N u m b e r : \t / / i 0132040 n t e r p r e t a t i o n o f 0132060 B F S D S K . d r i v e N u m 0132100 b e r c e l l \r / / - - - - - 0132120 - - - - - - - - - - - - - - - - * 0132160 - - - - - - 376 001 \0 | ? - - - - - 0132200 - - - - - - - - - - - - - - - - 0132220 - - - - - - - - - - - - \r [ \r b 0132240 l a n k b i t 1 2 \r p a r t 0132260 i t i o n b i t 3 \r d r i v 0132300 e b i t 1 \r ] \r \r / / - - - 0132320 - - - - - - - - - - - - - - - - * 0132420 - - - - - - - - - \r s t r u c t 0132440 u r e D C : \t \t / / d i s k 0132460 c o m m a n d \r / / - - - - - 0132500 - - - - - - - - - - - - - - - - * 0132560 - - - - - - - - - - - 376 001 \0 232 N 0132600 - - - - - - - - - - - - \r [ \r s 0132620 e a l b i t 8 = \t \t / / 0132640 m u s t b e 1 1 0 B o n 0132660 a n A l t o \r [ \t \t \t / 0132700 / f o r s i m u l a t e d 0132720 m u l t i p l e d i s k s o 0132740 n D 0 a n d D o r a d o : 0132760 \r s h o r t S e a l b i 0133000 t 5 \t / / m u s t b e 1 0133020 1 B \r p a r t i t i o n 0133040 b i t 3 \t / / 0 : d e f a 0133060 u l t ; 1 - 7 : s p e c i f 0133100 i c p a r t i t i o n n u m 0133120 b e r \r ] \r a c t i o n 0133140 b i t 8 = \r [ \r 0133160 h e a d e r A c t i o n b i t 0133200 376 001 \0 332 033 2 \r l a b e l 0133220 A c t i o n b i t 2 \r 0133240 d a t a A c t i o n b i t 2 0133260 \r s e e k O n l y b i t 0133300 1 \r e x c h a n g e D i 0133320 s k s b i t 1 \t / / c o n 0133340 t r o l l e r i n v e r t s 0133360 K C B . d i s k A d d r e s s 0133400 i f s e t \r ] \r ] \r \r m 0133420 a n i f e s t \r [ \r / / d i s 0133440 k c o m m a n d s a s f u 0133460 l l - w o r d c o n s t a n t 0133500 s \r c o m m a n d S e a l = 0133520 4 4 0 0 0 B \r \r r e a d H L D 0133540 = 4 4 0 0 0 B \t / / R e a d 0133560 H e a d e r , R e a d 0133600 L a b e l 376 001 \0 E 314 , R e a d 0133620 D a t a \r r e a d L D = 0133640 4 4 1 0 0 B \t \t / / C h e c k 0133660 H e a d e r , R e a d L 0133700 a b e l , R e a d D a t a 0133720 \r r e a d D = 4 4 1 2 0 B \t 0133740 \t / / C h e c k H e a d e r 0133760 , C h e c k L a b e l , R 0134000 e a d D a t a \r w r i t e H 0134020 L D = 4 4 2 5 0 B \t / / W 0134040 r i t e H e a d e r , W r i 0134060 t e L a b e l , W r i t e 0134100 D a t a \r w r i t e L D = 4 0134120 4 1 5 0 B \t / / C h e c k H 0134140 e a d e r , W r i t e L a b 0134160 e l , W r i t e D a t a \r w 0134200 r i t e D = 4 4 376 001 \0 N 316 1 0134220 3 0 B \t \t / / C h e c k H e 0134240 a d e r , C h e c k L a b e 0134260 l , W r i t e D a t a \r s e 0134300 e k O n l y = 4 4 0 0 2 B \t 0134320 / / n o t r a n s f e r \r ] 0134340 \r \r / / d i s k c o m m a n 0134360 d b l o c k . \r / / \t * = s e 0134400 t b y D o D i s k C o m m a 0134420 n d , \r / / \t $ = d e f a u l t 0134440 e d b y D o D i s k C o m m 0134460 a n d i f 0 \r / / - - - - - 0134500 - - - - - - - - - - - - - - - - * 0134600 - - - - - - - \r s t r u c t u 376 0134620 001 \0 I 272 r e K C B : \r / / - - 0134640 - - - - - - - - - - - - - - - - * 0134740 - - - - - - - - - - \r [ \r l i n 0134760 k w o r d \t \t / / * - > 0135000 n e x t K C B o r 0 i f 0135020 e n d o f c h a i n \r s t 0135040 a t u s @ D S T \t \t / / s e 0135060 t w h e n c o m m a n d i 0135100 s c o m p l e t e d \r c o m m 0135120 a n d @ D C \t \t / / * \r h e 0135140 a d e r A d d r e s s w o r d 0135160 \t / / * m e m o r y a d d 0135200 r e s s e s f o r h e a d e 0135220 r r e 376 001 \0 360 252 c o r d \r l a 0135240 b e l A d d r e s s w o r d \t 0135260 / / $ m e m o r y a d d r 0135300 e s s e s f o r h e a d e r 0135320 r e c o r d \r d a t a A d d r 0135340 e s s w o r d \t / / * m e 0135360 m o r y a d d r e s s e s f 0135400 o r h e a d e r r e c o r d 0135420 \r n o r m a l W a k e u p s w 0135440 o r d \t / / $ \r e r r o r W a 0135460 k e u p s w o r d \t / / $ \r 0135500 h e a d e r @ D H = \r 0135520 [ \r b l a n k w o r d \r 0135540 d i s k A d d r e s s @ 0135560 D A \t / / * i f D A a r 0135600 g u m e n t n e f i l l I n 0135620 D A \r ] \r ] 376 001 \0 221 5 \r m 0135640 a n i f e s t l K C B = s 0135660 i z e K C B / 1 6 \r \f \r / / 0135700 B F S s p e c i a l i z a t i 0135720 o n o f t h e D i s k C 0135740 B Z \r / / - - - - - - - - - - - 0135760 - - - - - - - - - - - - - - - - * 0136060 - \r s t r u c t u r e B F S C 0136100 B Z : \r / / - - - - - - - - - - 0136120 - - - - - - - - - - - - - - - - * 0136220 - - \r [ \r @ C B Z \t \t \t / / 376 001 0136240 \0 214 E s t a n d a r d p a r 0136260 t \r C B s w o r d 0 \t \t / / 0136300 * a s m a n y C B s a 0136320 s w i l l f i t s t a r t 0136340 h e r e \r ] \r m a n i f e s t 0136360 l B F S C B Z = s i z e 0136400 B F S C B Z / 1 6 \t / / f i x 0136420 e d p a r t o f C B Z \r \r 0136440 / / e a c h C B Z c o n t 0136460 a i n s a C B f o r e a 0136500 c h p o s s i b l e t r a n 0136520 s f e r e n q u e u e d \r / / 0136540 t h e K C B m u s t c o 0136560 m e f i r s t f o l l o w e 0136600 d b y t h e l a b e l ( 0136620 f o r c h a i n i n g ) \r / / 0136640 a 376 001 \0 027 ' f r e e C B 0136660 m u s t h a v e s t a t u s 0136700 = D S T f r e e S t a t u s 0136720 ( i n i t i a l i z a t i o n 0136740 d o e s t h a t ) \r / / * 0136760 = i n i t i a l i z e d b y 0137000 I n i t i a l i z e C b S t o r 0137020 a g e ; e v e r y t h i n g 0137040 e l s e i s z e r o e d \r / 0137060 / - - - - - - - - - - - - - - - 0137100 - - - - - - - - - - - - - - - - * 0137160 - - - - - - - - - - - - - \r s t 0137200 r u c t u r e C B : \r / / - - 0137220 - - - - - - - - - - - - - - - - 0137240 - - - - - - - - 376 001 \0 x 337 - - - 0137260 - - - - - - - - - - - - - - - - * 0137320 - - - - - - - - - - - - - - - \r 0137340 [ \r / / T h e K C B m u s 0137360 t c o m e f i r s t \r @ K C 0137400 B \t \t \t / / * f r e e C B 0137420 m u s t h a v e s t a t u 0137440 s = D S T g o o d S t a t u 0137460 s \r l a b e l @ D L \r t r u e 0137500 P a g e N u m b e r w o r d \r 0137520 / / r e m a i n i n g w o r 0137540 d s a r e n o t z e r o e 0137560 d b y B f s G e t C b \r c b 0137600 z w o r d \t \t / / * - > 0137620 C B Z w h i c h o w n s t 0137640 h i s c b \r n e x t C B 376 001 \0 0137660 265 D w o r d \t \t / / * - > 0137700 n e x t C B o n C B Z 0137720 q u e u e \r ] \r m a n i f e s t 0137740 \r [ \r l C B = s i z e C B 0137760 / 1 6 \r l V a r C B = o f f 0140000 s e t C B . c b z / 1 6 \r C B 0140020 z o n e L e n g t h = l B F 0140040 S C B Z + 3 * l C B \t / / 3 C 0140060 B s r e q u i r e d t o r 0140100 u n d i s k a t f u l l 0140120 s p e e d \r ] \r \f \r / / - - - - 0140140 - - - - - - - - - - - - - - - - * 0140240 - - - - - - - \r s t r u c t u r 0140260 e 376 001 \0 361 024 B F S D S K : \t / 0140300 / E x t e n d e d v e r s i 0140320 o n o f t h e D S K s t 0140340 r u c t u r e \r / / - - - - - - 0140360 - - - - - - - - - - - - - - - - * 0140460 - - - - - \r [ \r @ D S K \t \t \t / 0140500 / s t a n d a r d - - s e 0140520 e D i s k s . d \r @ K D H \t \t 0140540 \t / / s t a n d a r d - - 0140560 s e e A l t o F i l e S y s . 0140600 d \r i n i t m o d e w o r d \t 0140620 \t / / n o n z e r o i f p 0140640 e r m i t t e d t o c r e a 0140660 t e / d e l e 376 001 \0 206 O t e f 0140700 i l e s \r z o n e w o r d \t \t 0140720 / / z o n e f r o m w h i 0140740 c h t h i s D S K w a s 0140760 a l l o c a t e d \r d d M g r 0141000 w o r d \t \t / / - > d i s k 0141020 d e s c r i p t o r m a n a 0141040 g e r \r l a s t P a g e A l l o 0141060 c w o r d \t / / l a s t V 0141100 D A a l l o c a t e d - - 0141120 f o r b i a s i n g s e a r 0141140 c h \r f p B F S S y s D i r b l 0141160 k w o r d l F P \t / / s t 0141200 o r a g e f o r F P \r f p B 0141220 F S D D b l k w o r d l F P 0141240 \t / / s t o r a g e f o r 0141260 F P \r f p B F S W D b l 376 001 \0 n 0141300 [ k w o r d l F P \t / / s 0141320 t o r a g e f o r F P \r W D 0141340 N a m e b l k w o r d m a x 0141360 L e n g t h F n I n W o r d s 0141400 / / s t o r a g e f o r 0141420 w o r k i n g D i r n a m e \r 0141440 V D A d i s k D D ^ 1 , B F S m 0141460 a x D D P a g e w o r d \t / / 0141500 V D A s o f t h e d a t 0141520