$ od -c -N 50000 [Ivy]<Fiala>BitBlt>BAUDELAIRE>FEDSOURCES.DM!1 0000000 377 \0 \0 F E D . S R \0 376 001 \0 301 I \r 0000020 / / F O N T E D I T O R F O 0000040 R A L T O F O N T S \r / / O 0000060 T H E R F I L E S : F E D . 0000100 D E F S F E D A . S R F E D 0000120 B . S R F E D C . S R \r / / L 0000140 O A D W I T H B L D R / U 0000160 F E D F E D A F E D B F E 0000200 D C F O R M A T I N I T A L 0000220 T O I O \r / / C . T H A C K E 0000240 R 4 / 2 8 / 7 5 \r \n G E T " 0000260 F E D . D E F S " \r \n \r \n \r \n S 0000300 T A T I C \r \n [ \r \n F O N T V E 0000320 C \r \n C U R R E N T F O N T \r \n 0000340 C U R S O R \r \n F O N T \r \n S 4 0000360 2 0 \r \n N E W Y \r \n M A S K T A 0000400 B \r \n D I S P L A Y A R E A \r 376 0000420 001 \0 210 317 \n D C B \r \n ] \r \n \r \n \r 0000440 \n L E T M A I N ( ) B E \r \n 0000460 [ \r \n \t I N I T A L T O I O ( ) 0000500 \r \n L E T F O O X = T A 0000520 B L E \r \n \t [ \r \n \t 0 ; 1 0 0 0 0000540 0 0 B ; 1 4 0 0 0 0 B ; 1 6 0 0 0000560 0 0 B ; 1 7 0 0 0 0 B ; 1 7 4 0 0000600 0 0 B ; 1 7 6 0 0 0 B ; 1 7 7 0 0000620 0 0 B ; \r \n \t 1 7 7 4 0 0 B ; 1 0000640 7 7 6 0 0 B ; 1 7 7 7 0 0 B ; 1 0000660 7 7 7 4 0 B ; 1 7 7 7 6 0 B ; 1 0000700 7 7 7 7 0 B ; 1 7 7 7 7 4 B ; \r 0000720 \n \t 1 7 7 7 7 6 B ; 1 7 7 7 7 7 0000740 B ; \r \n \t ] \r \n \r \n \t M A S K T 0000760 A B = F O O X \r \n \t L E T 0001000 C U R T A B = T A B L E \r \n 0001020 \t [ 0 376 001 \0 # 337 ; 1 5 4 0 0 0 0001040 B ; 1 5 4 0 0 0 B ; 0 ; 1 5 4 0 0001060 0 0 B ; 1 5 4 0 0 0 B ; 0 ; 0 ; 0001100 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0001120 0 ] \r \n \t F O R I = 1 0001140 T O 1 6 D O R V ( 4 3 0 B 0001160 + I ) = C U R T A B ! I / 0001200 / C U R S O R S E T U P \r \n \t 0001220 C U R S O R = C U R T A B \r 0001240 \n \r \n \t R V M O U S E L I N K 0001260 = F A L S E \r \n \r \n \r \n \t L 0001300 E T V = V E C 4 \r \n \t F 0001320 O N T V E C = V \r \n \t C U R 0001340 R E N T F O N T = 0 \r \n \t F 0001360 O R I = 0 T O 2 D O 0001400 F O N T V E C ! I = R V 0001420 1 0 1 1 B \r \n \t F 376 001 \0 x 020 O N 0001440 T = R V 1 0 1 1 B \r \n \t F 0001460 O N T V E C ! 3 = I N I T A 0001500 L T O I O + 2 \r \n / / B U I L D 0001520 A F A K E F O N T 3 \r \n 0001540 \t F O R I = 0 T O 3 7 0001560 7 B D O ( F O N T V E C ! 3 0001600 ) ! I = 4 0 0 B - I \r \n \t ( 0001620 F O N T V E C ! 3 ) ! 4 0 0 B 0001640 = 1 \r \n \t ( F O N T V E C ! 3 0001660 ) ! 4 0 1 B = 0 \r \n \r \n \r \n 0001700 \r \n \t L E T V = V E C N 0001720 W R D S * L I N E S \r \n \t I F 0001740 ( V & 1 ) N E 0 T H E 0001760 N V = V + 1 \r \n \t D I S P L 0002000 A Y A R E A = V \r \n \t L E T 0002020 V = V E C 5 \r \n \t I 376 001 0002040 \0 227 e F ( V & 1 ) N E 0002060 0 T H E N V = V + 1 \r \n 0002100 \t D C B = V \r \n \t D C B ! 0 0002120 = 0 ; D C B ! 1 = N W 0002140 R D S ; D C B ! 2 = D I S 0002160 P L A Y A R E A ; D C B ! 3 0002200 = L I N E S / 2 \r \n \r \n \t S 4 0002220 2 0 = R V 4 2 0 B \r \n \t R 0002240 V 4 2 0 B = D C B \r \n \r \n 0002260 \t B S T O R E ( D I S P L A Y A 0002300 R E A , 0 , L I N E S * N W R D 0002320 S ) \r \n \r \n \t F E D I T ( ) \r \n 0002340 ] \r \n \r \n \r \n \r \n \r \n \r \n \r \n \r 0002360 \n \r \n A N D C L E A R B L O C 0002400 K ( I T E M P T R ) B E \r \n [ 0002420 \r \n \t L E T H E I G H T = 0002440 ( I T 376 001 \0 310 ( E M P T R > > I 0002460 T E M . Y M A X ) - ( I T E M P 0002500 T R > > I T E M . Y M I N ) \r 0002520 \n \r \n \t L E T W I D T H = 0002540 ( I T E M P T R > > I T E M . X 0002560 M A X ) - ( I T E M P T R > > 0002600 I T E M . X M I N ) \r \n \r \n \t 0002620 L E T S T A R T B I T = ( 0002640 I T E M P T R > > I T E M . X M 0002660 I N ) R E M 1 6 \r \n \r \n \t L 0002700 E T S T A R T W O R D = D 0002720 I S P L A Y A R E A + ( ( I 0002740 T E M P T R > > I T E M . Y M I 0002760 N ) * N W R D S ) + ( ( I T 0003000 E M P T R > > I T E M . X M I N 0003020 ) / 1 6 ) \r \n \r \n \t L E T L 0003040 = W I D T H 376 001 \0 363 262 G R 0003060 1 6 ? 1 6 , W I D T H \r \n \r \n 0003100 \t L E T M A S K = N O T ( 0003120 ( M A S K T A B ! L ) R S H 0003140 I F T S T A R T B I T ) \r \n \r 0003160 \n \t F O R P = S T A R T W 0003200 O R D B Y N W R D S T O 0003220 S T A R T W O R D + ( N W R D S 0003240 * H E I G H T ) - 1 D O R V 0003260 P = R V P & M A S K 0003300 \r \n \r \n \t I F S T A R T B I T 0003320 + W I D T H L E 1 6 T 0003340 H E N R E T U R N \r \n \r \n \t S 0003360 T A R T W O R D = S T A R T 0003400 W O R D + 1 \r \n \r \n \t W I D T H 0003420 = W I D T H - ( 1 6 - S T A R T 0003440 B I T ) \r \n \t U N T I L 376 001 \0 0003460 303 3 W I D T H L S 1 6 D O 0003500 \r \n \t [ \r \n \t \t F O R P = 0003520 S T A R T W O R D B Y N W R 0003540 D S T O S T A R T W O R D 0003560 + ( N W R D S * H E I G H T ) 0003600 - 1 D O R V P = 0 \r \n 0003620 \t \t W I D T H = W I D T H 0003640 - 1 6 \r \n \t \t S T A R T W O R 0003660 D = S T A R T W O R D + 0003700 1 \r \n \t ] \r \n \r \n \t I F W I D 0003720 T H E Q 0 T H E N R E T 0003740 U R N \r \n \r \n \t M A S K = N 0003760 O T ( M A S K T A B ! W I D 0004000 T H ) \r \n \r \n \t F O R P = 0004020 S T A R T W O R D B Y N W R 0004040 D S T O S T A R T W O R D 0004060 + 376 001 \0 : 242 ( N W R D S * H E 0004100 I G H T ) - 1 D O R V P 0004120 = R V P & M A S K \r \n \r 0004140 \n ] \r \n \r \n \r \n \r \n \r \n A N D 0004160 S E T B L O C K ( I T E M P T R 0004200 , X R E F , Y R E F ) B E \r \n 0004220 [ \r \n \t L E T H E I G H T = 0004240 ( I T E M P T R > > I T E M . 0004260 Y M A X ) - ( I T E M P T R > > 0004300 I T E M . Y M I N ) \r \n \r \n \t 0004320 L E T W I D T H = ( I T E 0004340 M P T R > > I T E M . X M A X ) 0004360 - ( I T E M P T R > > I T E M 0004400 . X M I N ) \r \n \r \n \t L E T 0004420 S T A R T B I T = ( X R E F 0004440 + I T E M P T R > > I T E M 0004460 . X M I N ) 376 001 \0 / R E M 0004500 1 6 \r \n \r \n \t L E T S T A R T 0004520 W O R D = D I S P L A Y A R 0004540 E A + ( ( Y R E F + I T 0004560 E M P T R > > I T E M . Y M I N 0004600 ) * N W R D S ) + ( ( X R E 0004620 F + I T E M P T R > > I T E 0004640 M . X M I N ) / 1 6 ) \r \n \r \n \t 0004660 L E T L = W I D T H G R 0004700 1 6 ? 1 6 , W I D T H \r \n \r 0004720 \n \t L E T M A S K = ( M A 0004740 S K T A B ! L ) R S H I F 0004760 T S T A R T B I T \r \n \r \n \t F 0005000 O R P = S T A R T W O R D 0005020 B Y N W R D S T O S T A 0005040 R T W O R D + ( N W R D S * H E 0005060 I G H T ) - 1 D O R 376 001 \0 026 0005100 202 V P = R V P % M A 0005120 S K \r \n \r \n \t I F S T A R T B 0005140 I T + W I D T H L E 1 6 0005160 T H E N R E T U R N \r \n \r \n 0005200 \t S T A R T W O R D = S T A 0005220 R T W O R D + 1 \r \n \r \n \t W I D 0005240 T H = W I D T H - ( 1 6 - S 0005260 T A R T B I T ) \r \n \t U N T I L 0005300 W I D T H L S 1 6 D O \r 0005320 \n \t [ \r \n \t \t F O R P = S 0005340 T A R T W O R D B Y N W R D 0005360 S T O S T A R T W O R D + 0005400 ( N W R D S * H E I G H T ) - 0005420 1 D O R V P = 1 7 7 7 0005440 7 7 B \r \n \t \t W I D T H = W 0005460 I D T H - 1 6 \r \n \t \t S T A 0005500 R 376 \0 264 360 265 T W O R D = S T 0005520 A R T W O R D + 1 \r \n \t ] \r 0005540 \n \r \n \t I F W I D T H E Q 0005560 0 T H E N R E T U R N \r \n \r 0005600 \n \t M A S K = M A S K T A B 0005620 ! W I D T H \r \n \r \n \t F O R 0005640 P = S T A R T W O R D B 0005660 Y N W R D S T O S T A R T 0005700 W O R D + ( N W R D S * H E 0005720 I G H T ) - 1 D O R V P 0005740 = R V P % M A S K \r \n \r 0005760 \n \r \n ] \r \n \r \n \r \n 377 \0 \0 F E D 0006000 A . S R \0 376 001 \0 350 210 \r \n G E T 0006020 " F E D . D E F S " \r \n \r \n S T 0006040 A T I C \r \n [ \r \n G A P = 1 0006060 \t / / G A P B E T W E E N B 0006100 O X E S I N F E D I T \r \n E 0006120 X T E N S I O N C O U N T \r \n F 0006140 C W I D T H \r \n F C H E I G H T 0006160 \r \n L O C K X P O I N T \r \n L O 0006200 C K Y P O I N T \r \n F A R R A Y 0006220 \r \n C L M A R G I N = L W M 0006240 A R G I N * 1 6 \t / / M U S T 0006260 B E O N A W O R D B O U 0006300 N D A R Y T O O U T P U T 0006320 C U F O R M A T \r \n C T O P M 0006340 A R G I N = 5 0 \r \n ] \r \n \r 0006360 \n \r \n \r \n \r \n \r \n \r \n \r \n \r \n L 0006400 E T F E D I T ( ) 376 001 \0 230 021 0006420 B E \r \n [ \r \n \t D C B ! 3 = O 0006440 L I N E S / 2 ; D C B ! 0 = 0006460 S 4 2 0 ; \r \n \t B S T O R E ( 0006500 D I S P L A Y A R E A , 0 , N W 0006520 R D S * L I N E S ) \r \n \t F A R 0006540 R A Y = D I S P L A Y A R E 0006560 A + O L I N E S * N W R D S 0006600 \r \n \r \n / / S E T U P A S 0006620 E P A R A T E D C B F O R 0006640 F A R R A Y \r \n \r \n \t L E T S 0006660 D C B = V E C 6 \r \n \t I F 0006700 ( S D C B & 1 ) N E 0 0006720 T H E N S D C B = S D C 0006740 B + 1 \r \n \t S D C B ! 0 = S 0006760 4 2 0 \t / / S Y S T E M D I S 0007000 P L A Y A R E A \r \n \t S D C 376 0007020 001 \0 321 \v B ! 1 = 1 4 0 0 B 0007040 + F W M A X / / T A B 3 \r 0007060 \n \t S D C B ! 2 = F A R R A 0007100 Y \r \n \t S D C B ! 3 = F H M 0007120 A X / 2 \r \n \r \n \t D C B ! 3 = 0007140 ( O L I N E S - F H M A X ) / 0007160 2 \r \n \t D C B ! 0 = S D C B 0007200 \t \t / / H O O K U P B I G 0007220 A R E A , F A R R A Y , S Y S 0007240 A R R A Y \r \n \r \n / / D R A W 0007260 B O U N D A R I E S \r \n \t C L M 0007300 A R G I N = C L M A R G I N 0007320 - B O X S I Z E \t / / T E M 0007340 P O R A R I L Y O F F S E T 0007360 O R I G I N \r \n \t C T O P M A R 0007400 G I N = C T O P M A R G I N 0007420 - B 376 001 \0 227 243 O X S I Z E \r 0007440 \n \t F O R I = 0 T O ( 0007460 F W M A X * 1 6 ) + 1 D O \r \n 0007500 \t [ \r \n \t \t S E T B O X ( I , 0 0007520 , T R U E ) \t / / T O P A N D 0007540 B O T T O M \r \n \t \t S E T B O 0007560 X ( I , F H M A X + 1 , T R U E 0007600 ) \r \n \t ] \r \n \r \n \r \n \t F O R 0007620 I = 0 T O F H M A X + 1 0007640 D O \r \n \t [ \r \n \t \t S E T B O 0007660 X ( 0 , I , T R U E ) \r \n \t \t S 0007700 E T B O X ( ( F W M A X * 1 6 0007720 ) + 1 , I , T R U E ) / / S 0007740 I D E S \r \n \t ] \r \n \t C L M A R 0007760 G I N = C L M A R G I N + B 0010000 O X S I Z E \r \n \t C T O P M A R 0010020 G I N = C T O 376 001 \0 h 311 P M 0010040 A R G I N + B O X S I Z E \r \n \r 0010060 \n \t W S ( " * N F O N T 3 * N 0010100 ! " ) ; C U R R E N T F O N T 0010120 = 3 ; \r \n \t F O N T = F O 0010140 N T V E C ! C U R R E N T F O N 0010160 T \r \n \t [ / / T R A C K M O 0010200 U S E A N D A D D O R D 0010220 E L E T E B I T S \r \n \t \t I F 0010240 R V 4 2 4 B G R N W R D 0010260 S * 1 6 T H E N R V 4 2 4 0010300 B = N W R D S * 1 6 \r \n \t \t 0010320 I F R V 4 2 4 B L S 0 0010340 T H E N R V 4 2 4 B = 0 0010360 \r \n \t \t I F R V 4 2 5 B G 0010400 R O L I N E S T H E N R V 0010420 4 2 5 B = O L I N E S 376 001 0010440 \0 - 031 \r \n \t \t I F R V 4 2 5 0010460 B L S 0 T H E N R V 4 0010500 2 5 B = 0 \r \n \r \n \t \t R V 0010520 4 2 6 B = R V 4 2 4 B \r \n 0010540 \t \t R V 4 2 7 B = R V 4 0010560 2 5 B \r \n \r \n \t \t L E T X = 0010600 ( R V 4 2 4 B ) - C L M A R 0010620 G I N + 2 \r \n \t \t L E T Y = 0010640 ( R V 4 2 5 B ) - C T O P M 0010660 A R G I N + 2 \r \n \t \r \n \t \t X 0010700 = X L S 0 ? 0 , X / B O 0010720 X S I Z E \r \n \t \t Y = Y L 0010740 S 0 ? 0 , Y / B O X S I Z E 0010760 \r \n \r \n \t \t X = X L S ( 0011000 F W M A X * 1 6 ) ? X , ( F W 0011020 M A X * 1 6 ) - 1 \r \n \t \t Y = 0011040 Y 376 001 \0 255 376 L S F H M A X 0011060 ? Y , F H M A X - 1 \r \n \r 0011100 \n \t \t S W I T C H O N ( ( R V 0011120 1 7 7 0 3 0 B ) & 7 ) I 0011140 N T O \r \n \t \t [ \r \n \t \t \t C A S 0011160 E 0 : \r \n \t \t \t C A S E 1 : 0011200 \r \n \t \t \t C A S E 2 : \r \n \t \t 0011220 \t C A S E 3 : S E T B O X ( 0011240 X , Y , T R U E ) ; S E T A R R 0011260 A Y ( F A R R A Y , X , Y , T R 0011300 U E ) ; E N D C A S E \r \n 0011320 0011340 C A S E 5 : T R 0011360 A N S L A T E C H A R ( X , Y 0011400 ) ; E N D C A S E \r \n \t \t \t C 0011420 A S E 6 : \t S E T B O X ( X , 0011440 Y , F A L S E ) 376 001 \0 , 225 ; S E 0011460 T A R R A Y ( F A R R A Y , X , 0011500 Y , F A L S E ) ; E N D C A S E 0011520 \r \n \t \t ] \r \n \r \n \t \t I F E N 0011540 D O F S ( K E Y S ) T H E N 0011560 L O O P \r \n \r \n \t \t L E T C H 0011600 A R = G E T C H A R ( ) \r \n 0011620 \t \t S W I T C H O N C H A R 0011640 I N T O \r \n \t \t [ \r \n \t \t \t C A 0011660 S E 3 3 B : \t \t \r \n \t \t \t \t W 0011700 S ( " * N C O N F I R M W I T 0011720 H C R T O Q U I T " ) ; \r 0011740 \n \t \t \t \t I F G E T C H A R ( 0011760 ) E Q $ * N T H E N \r \n \t 0012000 \t \t \t [ R V M O U S E L I N 0012020 K = T R U E ; F I N I S H 0012040 ] \r \n \t \t \t \t E N D C 376 001 \0 0012060 X 345 A S E ; \r \n \t \t \t C A S E 0012100 3 : \t \t C U O U T ( ) ; E N D C 0012120 A S E / / . C U F O R M A T 0012140 O U T P U T \r \n \t \t \t C A S E 0012160 2 0 B : \t / / C O N T R O L 0012200 P - P U T B A C K I N F O 0012220 N T \r \n \t \t \t \t P U T I T B A C 0012240 K ( ) ; E N D C A S E \r \n \t \t \t 0012260 C A S E 6 : \t / / C O N T R O 0012300 L F . C H A N G E F O N T 0012320 \r \n \t \t \t \t C U R R E N T F O N 0012340 T = G E T C H A R ( ) & 3 \r 0012360 \n \t \t \t \t W S ( " F O N T " ) 0012400 ; P U T S ( D S P , 6 0 B + C U 0012420 R R E N T F O N T ) \r \n \t \t \t \t 0012440 F O N T = F O N T V E C ! C 0012460 U R 376 001 \0 266 323 R E N T F O N T \r 0012500 \n \t \t \t \t E N D C A S E ; \r \n \t 0012520 \t \t C A S E 1 1 B : \t / / C O 0012540 N T R O L I . I N P U T F O 0012560 N T \r \n \t \t \t \t R E A D F O N T 0012600 ( ) ; E N D C A S E \r \n \t \t \t C 0012620 A S E 1 7 B : \t / / C O N T R 0012640 O L O . O U T P U T F O N T 0012660 \r \n \t \t \t \t W R I T E F O N T ( 0012700 ) ; E N D C A S E \r \n \t \t \t C A 0012720 S E 2 3 B : \t / / C O N T R O 0012740 L S - S H O W C H A R A 0012760 C T E R \r \n \t \t \t \t S H O W C H 0013000 A R ( G E T C H A R ( ) ) \r \n \t 0013020 \t \t \t E N D C A S E \r \n 0013040 0013060 C A S 376 001 \0 317 325 E 2 7 0013100 B : / / C O N T R 0013120 O L W - S E T C H A R W I 0013140 D T H \r \n 0013160 0013200 S E T C H A R W I D T 0013220 H ( ) \r \n 0013240 0013260 E N D C A S E \r \n \t \t 0013300 \t C A S E 4 : \t / / C O N T R 0013320 O L D - D I S P L A Y A L 0013340 L C H A R A C T E R S \r \n \t \t 0013360 \t \t F O R I = 0 T O 3 0013400 7 7 B D O \r \n \t \t \t \t [ \r \n \t 0013420 \t \t \t \t S H O W C H A R ( I ) ; 0013440 I F G E T C H A R ( ) N E 0013460 $ * S T H E N B R 376 001 \0 261 0013500 271 E A K \r \n \t \t \t \t ] \r \n \t \t \t 0013520 \t E N D C A S E \r \n \t \t \t D E F 0013540 A U L T : \t \t E N D C A S E \r \n 0013560 \t \t ] \r \n \r \n \t \t W S ( " * N ! 0013600 " ) \r \n \t ] R E P E A T \r \n \r 0013620 \n ] \r \n \r \n \r \n A N D S H O W 0013640 C H A R ( C H A R ) B E \r \n [ 0013660 \r \n \t E X T E N S I O N C O U N 0013700 T = 0 \r \n \t B S T O R E ( F 0013720 A R R A Y , 0 , F W M A X * F H 0013740 M A X ) \r \n \t F C H E I G H T 0013760 = 0 \r \n \t F C W I D T H = 0014000 C O P Y C H ( C H A R , F A R R 0014020 A Y ) \r \n \t B U I L D C H A R ( 0014040 ) \r \n S E T T I 0014060 C K ( F C W I D T H , T R U E ) 0014100 \r 376 001 \0 324 F \n \t W S ( F O R M A 0014120 T N ( " * N C H A R A C T E R 0014140 I S < C > ( < B > ) , T O T 0014160 A L W I D T H = < D > , 0014200 H E I G H T = < D > , < D 0014220 > E X T E N S I O N S " , C H 0014240 A R , C H A R , F C W I D T H , 0014260 F C H E I G H T , E X T E N S I 0014300 O N C O U N T - 1 ) ) \r \n ] \r 0014320 \n \r \n \r \n A N D S E T T I C K 0014340 ( X , S C ) B E \r \n [ \r \n 0014360 L E T V = V E C 6 \r \n 0014400 V > > I T E M . X M I N = 0014420 C L M A R G I N + B O X S 0014440 I Z E * X - G A P \r \n V 0014460 > > I T E M . Y M I N = C T 0014500 O P M A R G 376 001 \0 % 323 I N - 1 \r 0014520 \n V > > I T E M . X M A X 0014540 = C L M A R G I N + B O X 0014560 S I Z E * X - G A P + 1 0014600 \r \n V > > I T E M . Y M A X 0014620 = C T O P M A R G I N + 0014640 F H M A X * B O X S I Z E \r \n 0014660 T E S T S C I F S O S E 0014700 T B L O C K ( V , 0 , 0 ) I F 0014720 N O T C L E A R B L O C K ( V 0014740 ) \r \n ] \r \n \r \n \r \n A N D S E 0014760 T B O X ( X , Y , S C ) B E \r 0015000 \n [ \r \n \t L E T V = V E C 0015020 6 \r \n \t V > > I T E M . X M I 0015040 N = C L M A R G I N + ( 0015060 B O X S I Z E * X ) \r \n \t V > > 0015100 I T E M . Y M I N = 376 001 \0 K j 0015120 C T O P M A R G I N + ( B 0015140 O X S I Z E * Y ) \r \n \t V > > I 0015160 T E M . X M A X = C L M A R 0015200 G I N + ( B O X S I Z E * ( 0015220 X + 1 ) ) - G A P \r \n \t V > > 0015240 I T E M . Y M A X = C T O P 0015260 M A R G I N + ( B O X S I Z 0015300 E * ( Y + 1 ) ) - G A P \r \n \t 0015320 T E S T S C I F S O S E T 0015340 B L O C K ( V , 0 , 0 ) I F N 0015360 O T C L E A R B L O C K ( V ) 0015400 \r \n ] \r \n \r \n \r \n A N D S E T 0015420 A R R A Y ( A R R A Y , X , Y , 0015440 S C ) B E \r \n [ \r \n \t L E T 0015460 I N D E X = ( F W M A X * Y 0015500 ) + ( X / 1 6 ) \r \n \t L E T 0015520 376 001 \0 265 336 X B I T = 1 0 0 0015540 0 0 0 B R S H I F T ( X R 0015560 E M 1 6 ) \r \n \t T E S T S C 0015600 \t I F S O A R R A Y ! I N D E 0015620 X = ( A R R A Y ! I N D E X 0015640 ) % X B I T \r \n \t I F N O T 0015660 A R R A Y ! I N D E X = ( 0015700 A R R A Y ! I N D E X ) & ( 0015720 N O T X B I T ) \r \n ] \r \n \r \n 0015740 \r \n \r \n / / C O P Y A C H A 0015760 R A C T E R F R O M T H E 0016000 C U R R E N T F O N T I N T 0016020 O F A R R A Y . \r \n / / R E T 0016040 U R N T H E W I D T H I N 0016060 B I T S \r \n \r \n A N D C O P 0016100 Y C H ( C H A R , A R R A Y ) 0016120 = V A L 376 001 \0 a 004 O F \r \n [ \r 0016140 \n \t L E T P = F O N T + 0016160 C H A R \r \n \t P = P + 0016200 R V P \r \n \t L E T H D = 0016220 ( ( R V ( P + 1 ) ) R S H I 0016240 F T 8 ) \r \n \t L E T X H 0016260 = ( R V ( P + 1 ) ) & 1 0016300 7 7 B \r \n \t E X T E N S I O N C 0016320 O U N T = E X T E N S I O N 0016340 C O U N T + 1 \r \n \t F C H E 0016360 I G H T = ( H D + X H ) G 0016400 R F C H E I G H T ? ( H D + 0016420 X H ) , F C H E I G H T \r \n \r \n 0016440 \t F O R I = 0 T O X H 0016460 + H D - 1 D O R V ( A R R A 0016500 Y + ( F W M A X * I ) ) = ( 0016520 I G E H D ) ? 376 001 \0 A 307 R 0016540 V ( P - X H + I - H D ) , 0 \r \n 0016560 \r \n \t T E S T ( ( R V P ) 0016600 & 1 ) N E 0 \r \n \t I F S O 0016620 R E S U L T I S ( ( R V P ) 0016640 R S H I F T 1 ) / / N O 0016660 E X T E N S I O N \r \n \r \n \t I F 0016700 N O T R E S U L T I S ( 1 6 0016720 + C O P Y C H ( ( R V P ) 0016740 R S H I F T 1 , A R R A Y + 1 0016760 ) ) \r \n ] \r \n \r \n \r \n / / B U I 0017000 L D A C H A R A C T E R I 0017020 N T H E D I S P L A Y A R 0017040 E A F R O M F A R R A Y \r \n 0017060 A N D B U I L D C H A R ( ) 0017100 B E \r \n [ \r \n \t L E T V = 0017120 V E C 6 \r \n \t V > > I T E M 376 0017140 001 \0 a 351 . X M I N = C L M A 0017160 R G I N \r \n \t V > > I T E M . Y 0017200 M I N = C T O P M A R G I N 0017220 - 1 \r \n \t V > > I T E M . X M A 0017240 X = C L M A R G I N + B 0017260 O X S I Z E * F W M A X * 1 6 \r 0017300 \n \t V > > I T E M . Y M A X = 0017320 C T O P M A R G I N + B O X 0017340 S I Z E * F H M A X \r \n \t C L E 0017360 A R B L O C K ( V ) \r \n \t F O R 0017400 I = 0 T O F W M A X - 0017420 1 D O \r \n \t [ \r \n \t \t F O R 0017440 J = 0 T O F H M A X - 0017460 1 D O \r \n \t \t [ \r \n \t \t \t L 0017500 E T X = R V ( F A R R A Y 0017520 + ( F W M A X * J ) + I ) \r \n \t 0017540 \t \t I F 376 001 \0 8 ! X E Q 0 0017560 T H E N L O O P \r \n \t \t \t L 0017600 E T K = 0 \r \n \t \t \t U N T 0017620 I L X E Q 0 D O \r \n \t \t 0017640 \t [ \r \n \t \t \t \t I F X L S 0017660 0 T H E N S E T B O X ( 1 6 0017700 * I + K , J , T R U E ) \r \n 0017720 \t \t \t \t X = X L S H I F T 0017740 1 \r \n \t \t \t \t K = K + 1 \r 0017760 \n \t \t \t ] \r \n \t \t ] \r \n \t ] \r \n 0020000 ] \r \n \r \n \r \n \r \n A N D P U T 0020020 I T B A C K ( ) B E \r \n [ \r \n 0020040 / / F I R S T I N T E R P R E 0020060 T F A R R A Y , A N D V E 0020100 R I F Y T H A T A L L I S 0020120 W E L L W I T H \r \n / / T H 0020140 E U S E R \r \n \r 376 001 \0 354 371 \n \t 0020160 L E T F D V E C = V E C 0020200 ( 3 * F W M A X ) \r \n 0020220 L E T W T M P = N I 0020240 L \r \n \r \n \t L E T E X T C O U 0020260 N T = 0 \r \n \t F O R I = 0020300 0 T O F W M A X - 1 D O 0020320 \r \n \t [ \r \n \t \t L E T P = 0020340 F A R R A Y + I \r \n \t \t L E T 0020360 W = 0 \r \n \t \t L E T D = 0020400 0 \r \n \t \t L E T F I R S T 0020420 = 0 \r \n \t \t L E T L A S T 0020440 = 0 \r \n \t \t F O R J = 0 0020460 T O F H M A X - 1 D O \r \n 0020500 \t \t [ \r \n \t \t \t I F ( R V P 0020520 ) N E 0 T H E N [ \r \n \t 0020540 \t \t E X T C O U N T = 376 001 0020560 \0 ) v I \r \n \t \t \t D = 0020600 ( D % ( R V P ) ) \r \n \t \t 0020620 \t I F F I R S T E Q 0 0020640 T H E N F I R S T = P \r 0020660 \n \t \t \t L A S T = P ] \r 0020700 \n \t \t \t P = P + F W M A X \r 0020720 \n \t \t ] \r \n \t \t F D V E C ! ( 3 0020740 * I ) = F I R S T E Q 0 0020760 ? 0 , ( F I R S T - F A R R A Y 0021000 - I ) / F W M A X / / H D \r \n 0021020 \t \t F D V E C ! ( ( 3 * I ) + 1 0021040 ) = F I R S T E Q 0 ? 0 0021060 , 1 + ( L A S T - F I R S T ) / 0021100 F W M A X / / X H \r \n \t \t U N 0021120 T I L D E Q 0 D O [ 0021140 D = D L S H I F T 1 ; W = 0021160 W + 1 376 001 \0 R 312 ] \r \n 0021200 I F 0021220 I * 1 6 L S F C W I D T H - 0021240 1 T H E N [ \r \n 0021260 E X T C 0021300 O U N T = I \r \n 0021320 I F F 0021340 I R S T E Q 0 T H E N W 0021360 T M P = 1 6 \r \n 0021400 I F ( I + 0021420 1 ) * 1 6 G E F C W I D T H 0021440 - 1 T H E N W T M P = ( F C 0021460 W I D T H - 1 ) R E M 1 6 \r \n 0021500 0021520 ] \r \n \t \t F D V E C ! ( ( 3 0021540 * I ) + 2 ) = W G R W T 0021560 M P ? W , W 376 001 \0 c < T M P 0021600 / / W I D T H O F I N K \r 0021620 \n \t ] \r \n \r \n \r \n \r \n / / D O 0021640 T H E J O B \r \n \t W S ( " * N 0021660 T Y P E C H A R A C T E R T 0021700 O B E R E P L A C E D " ) \r 0021720 \n \t L E T C H A R = G E T 0021740 C H A R ( ) \r \n \t L E T G O T 0021760 B A C K = C O M P A C T F O 0022000 N T ( C H A R ) \r \n / / F I N D 0022020 T H E L A S T P O I N T E 0022040 R ( I N C L U D I N G E X T 0022060 E N S I O N S ) \r \n \t L E T L 0022100 A S T E = B I G G E S T C H 0022120 A R ( ) \r \n \r \n \r \n / / M O V E 0022140 T H E B I T M A P S P A C 0022160 E U P B Y T H E N 376 001 \0 0022200 271 345 U M B E R O F E X T E N 0022220 S I O N S R E Q U I R E D \r \n 0022240 \t L E T E F O N T = G E T 0022260 L A S T ( ) / / R E T U R N S 0022300 E N D O F F O N T + 1 0022320 \r \n \t F O R I = ( E F O N 0022340 T - 1 ) B Y - 1 T O ( F 0022360 O N T + L A S T E + 1 ) D O 0022400 R V ( I + E X T C O U N T ) = R 0022420 V I \r \n / / M O V E T H E 0022440 P O I N T E R S U P \r \n \t F O 0022460 R I = F O N T T O ( F 0022500 O N T + L A S T E ) D O R V 0022520 I = ( R V I ) + E X 0022540 T C O U N T \r \n / / M O V E E 0022560 F O N T U P \r \n \t E F O N T 0022600 = 376 001 \0 343 \n E F O N T + E X T 0022620 C O U N T \r \n / / C O P Y F R 0022640 O M F A R R A Y I N T O T 0022660 H E F O N T \r \n \t F O R I 0022700 = 0 T O E X T C O U N T 0022720 D O \r \n \t [ \r \n \t \t L E T H D 0022740 = F D V E C ! ( 3 * I ) \r \n 0022760 \t \t L E T X H = F D V E C 0023000 ! ( ( 3 * I ) + 1 ) \r \n \t \t 0023020 L E T W I D T H = I E 0023040 Q E X T C O U N T ? 1 + 2 * 0023060 ( F D V E C ! ( 3 * I + 2 ) ) , 0023100 2 * ( L A S T E + 1 + I ) \r \n 0023120 \r \n \r \n / / C O P Y F R O M 0023140 F A R R A Y \r \n \t \t I F ( H D 0023160 + X H ) G R 0 D O F O R 0023200 K = 0 376 001 \0 \f 322 T O X 0023220 H - 1 D O \r \n \t \t [ \r \n \t \t \t 0023240 R V E F O N T = R V ( F A 0023260 R R A Y + I + ( ( H D + K ) * F 0023300 W M A X ) ) \r \n \t \t \t E F O N T 0023320 = E F O N T + 1 \r \n \t \t ] \r 0023340 \n \t \t R V E F O N T = W I 0023360 D T H \r \n \t \t R V ( E F O N T 0023400 + 1 ) = ( H D L S H I F T 0023420 8 ) % X H \r \n / / S E T 0023440 U P A P O I N T E R T O 0023460 E F O N T I N T H E R I G 0023500 H T P L A C E I N T H E 0023520 P O I N T E R \r \n / / A R E A . 0023540 I F I = 0 , T H E R I 0023560 G H T P L A C E I S F O N 0023600 T ! C H A R , O T H E 376 001 \0 350 0023620 R R W I S E I T \r \n / / I S 0023640 A T L A S T E \r \n \t \t L E T 0023660 P X X = I E Q 0 ? C H 0023700 A R , L A S T E + I \r \n \t \t P X 0023720 X = F O N T + P X X \r \n \t \t 0023740 R V P X X = E F O N T - 0023760 P X X \r \n \t \t E F O N T = 0024000 E F O N T + 2 \r \n \t ] \r \n \r \n 0024020 \t \r \n ] \r \n \r \n \r \n A N D C H 0024040 A S E ( X ) = V A L O F \r \n 0024060 [ \r \n \t I F F O N T ! X E Q 0024100 0 T H E N R E S U L T I S 0024120 X \r \n \t L E T Q = R V ( 0024140 F O N T + X + ( F O N T 0024160 ! X ) ) \r \n \t I F ( Q & 1 ) 0024200 N E 0 T H E N R E S U L T 0024220 I 376 001 \0 s 362 S X \r \n \t L E T 0024240 T = Q R S H I F T 1 \r \n 0024260 \t L E T R = C H A S E ( T 0024300 ) \r \n \t R E S U L T I S X G 0024320 R R ? X , R \r \n ] \r \n \r \n \r 0024340 \n A N D G E T L A S T ( ) = 0024360 V A L O F / / F I N D T 0024400 H E F I R S T W O R D B E 0024420 Y O N D T H E F O N T \r \n [ 0024440 \r \n \t L E T L A S T X = 0 0024460 \r \n \t F O R I = 0 T O 0024500 3 7 7 B D O \r \n \t [ \r \n \t \t L 0024520 E T T = G E T B I G G E S 0024540 T ( I ) \r \n \t \t I F T G R 0024560 L A S T X T H E N L A S T X 0024600 = T \r \n \t ] \r \n \t R E S U L 0024620 T I S L A 376 001 \0 243 242 S T X + 0024640 2 \r \n ] \r \n \r \n \r \n A N D G E 0024660 T B I G G E S T ( C H A R ) = 0024700 V A L O F \r \n [ \r \n \t I F F 0024720 O N T ! C H A R E Q 0 T H 0024740 E N R E S U L T I S 0 \r \n \t 0024760 L E T T = F O N T + C 0025000 H A R + ( F O N T ! C H A R 0025020 ) \r \n \t L E T E X T = R V 0025040 T \r \n \t I F ( E X T & 1 0025060 ) N E 0 T H E N R E S U 0025100 L T I S T \r \n \t L E T U = 0025120 G E T B I G G E S T ( E X T 0025140 R S H I F T 1 ) \r \n \t R E S 0025160 U L T I S U G R T ? U , 0025200 T \r \n ] \r \n \r \n \r \n / / C O M P 0025220 A C T F O N T B Y 376 001 \0 333 \a 0025240 R E M O V I N G C H A R . 0025260 R E T U R N S N U M B E R 0025300 O F W O R D S R E C O V E R 0025320 E D \r \n \r \n A N D C O M P A C 0025340 T F O N T ( C H A R ) = V A 0025360 L O F \r \n [ \r \n \r \n \t L E T E 0025400 N D O F F O N T = G E T L A 0025420 S T ( ) \r \n \t L E T G E T B A 0025440 C K = 0 \r \n \t L E T E X T 0025460 C H A R = R V ( F O N T + C 0025500 H A R + ( F O N T ! C H A R ) ) 0025520 \r \n \t I F ( E X T C H A R & 0025540 1 ) E Q 0 T H E N G E 0025560 T B A C K = C O M P A C T F 0025600 O N T ( E X T C H A R R S H 0025620 I F T 1 ) \r \n \t L E T P = 0025640 376 001 \0 374 327 F O N T + C H A R 0025660 + ( F O N T ! C H A R ) \r \n \r 0025700 \n \t L E T O U R V A L = C 0025720 H A R + ( F O N T ! C H A R ) 0025740 \r \n \t F O N T ! C H A R = 0 0025760 \t / / Z A P T H E C H A R A 0026000 C T E R \r \n \t L E T E L A S T 0026020 = B I G G E S T C H A R ( ) 0026040 \t / / L A S T P O I N T E R \r 0026060 \n \t E N D O F F O N T = E N 0026100 D O F F O N T - G E T B A C 0026120 K \r \n / / D E T E R M I N E T 0026140 H E A M O U N T O F S P A 0026160 C E W E W I L L G E T B 0026200 A C K F R O M T H E B I T 0026220 M A P \r \n / / A R E A \r \n \t L E 0026240 T X H 376 001 \0 5 d = ( R V ( 0026260 P + 1 ) ) & 1 7 7 B \r \n \t X H 0026300 = X H E Q 0 ? 0 , X H + 0026320 2 \t / / D O N ' T Z A P 0 0026340 W I D T H C H A R A C T E R S 0026360 \r \n \r \n \t I F E N D O F F O N 0026400 T G R P T H E N / / D O 0026420 T H E F O L L O W I N G O 0026440 N L Y I F T H E D E L E T 0026460 E D C H A R A C T E R I S 0026500 N O T T H E L A S T O N E 0026520 I N T H E B I T M A P A 0026540 R E A \r \n \r \n \t [ \r \n / / M O V 0026560 E T H E B I T M A P D O W 0026600 N B Y X H W O R D S \r \n \t 0026620 F O R I = P + 2 T O E 0026640 N D O F F O N T - 1 376 001 \0 346 337 0026660 D O R V ( I - X H ) = R V 0026700 I \r \n \r \n / / D E C R E M E N 0026720 T P O I N T E R S B Y T 0026740 H E A M O U N T O F S P A 0026760 C E R E M O V E D \r \n \t F O R 0027000 I = 0 T O E L A S T 0027020 D O I F ( I + ( F O N T ! I 0027040 ) ) G R O U R V A L T H E 0027060 N F O N T ! I = ( F O N T 0027100 ! I ) - X H \r \n \t E N D O F F O 0027120 N T = E N D O F F O N T - X 0027140 H \t / / B E C A U S E W E M 0027160 O V E D I T D O W N \r \n \r \n 0027200 \t ] \r \n \t I F C H A R L S 0027220 4 0 0 B T H E N R E S U L T 0027240 I S G E T B A C K + X H \r \n 376 0027260 001 \0 264 304 \r \n / / T H E C H A R 0027300 A C T E R I S A N E X T E 0027320 N S I O N . W E M U S T R 0027340 E M O V E I T S P L A C E \r 0027360 \n / / I N T H E E X T E N S 0027400 I O N T A B L E ( P A I N F 0027420 U L L Y ) . \r \n \t F O R I = 0027440 0 T O 3 7 7 B D O T A 0027460 N D D ( I , C H A R ) \t / / D E 0027500 C R E M E N T P S E U D O \r \n 0027520 / / C H A R A C T E R S I N 0027540 T H E B I T M A P A R E A 0027560 W H I C H P O I N T T O T 0027600 H I N G S B E Y O N D C H A 0027620 R \r \n \t F O R I = F O N T 0027640 + C H A R T O E N D O F F O 0027660 N T - 1 376 001 \0 263 s D O R V 0027700 I = R V ( I + 1 ) / / M 0027720 O V E \r \n / / F O N T D O W N 0027740 \r \n \r \n \t F O R I = 0 T 0027760 O C H A R - 1 D O F O N T 0030000 ! I = ( F O N T ! I ) - 1 0030020 / / D E C R E M E N T \r \n \r \n 0030040 \t R E S U L T I S G E T B A C 0030060 K + X H + 1 \r \n \r \n ] \r \n \r \n \r 0030100 \n \r \n \r \n A N D T A N D D ( I 0030120 , C H A R ) B E \r \n [ \r \n \t I 0030140 F F O N T ! I E Q 0 T H 0030160 E N R E T U R N \r \n \t L E T 0030200 P = F O N T + I + ( F O N T 0030220 ! I ) \r \n \t L E T Q = R V 0030240 P \r \n \t I F ( Q & 1 ) 0030260 E Q 0 T H E N 376 001 \0 361 H \r \n 0030300 \t [ \r \n \t \t I F ( Q R S H I 0030320 F T 1 ) G R C H A R T H 0030340 E N R V P = Q - 2 / / 0030360 D E C R E M E N T \r \n / / I F 0030400 P S E U D O - C H A R A C T E R 0030420 I S G R E A T E R T H A N 0030440 O U R S \r \n \r \n \t \t T A N D D 0030460 ( Q R S H I F T 1 , C H A 0030500 R ) / / F O L L O W T H E 0030520 P O I N T E R \r \n \t ] \r \n ] \r \n 0030540 \r \n A N D B I G G E S T C H A 0030560 R ( ) = V A L O F \r \n [ \r \n 0030600 \t L E T L A S T E = 0 \r \n 0030620 \t F O R I = 0 T O 3 7 0030640 7 B D O \r \n \t [ \r \n \t \t L E T 0030660 T = C H A S E ( I ) \r 376 \0 0030700 : 240 004 \n \t \t L A S T E = L A 0030720 S T E G R T ? L A S T E , 0030740 T \r \n \t ] \r \n \t R E S U L T I S 0030760 L A S T E \r \n ] \r \n \r \n 377 \0 \0 0031000 F E D B . S R \0 376 001 \0 q 177 \r \n \r 0031020 \n G E T " F E D . D E F S " \r 0031040 \n \r \n L E T R E A D F O N T ( 0031060 ) B E \t / / R E A D I N T O 0031100 C U R R E N T F O N T \r \n [ 0031120 \r \n \t L E T V = V E C 5 0031140 0 \r \n \t W S ( " * N I N P U T 0031160 F O N T F I L E : " ) \r \n \t 0031200 I F N O T G E T K E Y S T ( 0031220 V ) T H E N R E T U R N \r \n 0031240 \t L E T S T R = O P E N A 0031260 F I L E ( V , 0 ) \r \n \t I F S 0031300 T R E Q 0 T H E N [ W 0031320 S ( " * N N O S U C H F I L 0031340 E ! " ) ; R E T U R N ] 0031360 \r \n \t L E T W O R D X = F 0031400 O N T - 2 \r \n \r \n \t U N T 376 001 \0 0031420 325 \f I L E N D O F S ( S T R ) 0031440 D O \r \n \t [ \r \n \t \t R V W O 0031460 R D X = G E T S ( S T R ) ; 0031500 W O R D X = W O R D X + 0031520 1 \r \n \t ] \r \n \t W S ( F O R M 0031540 A T N ( " * N < D > W O R D 0031560 S " , W O R D X - F O N T + 2 ) 0031600 ) \r \n \t C L O S E A F I L E ( S 0031620 T R ) \r \n ] \r \n \r \n A N D W R 0031640 I T E F O N T ( ) B E \r \n [ \r 0031660 \n \t L E T V = V E C 5 0 0031700 \r \n \t W S ( " * N O U T P U T 0031720 F O N T F I L E : " ) \r \n \t 0031740 I F N O T G E T K E Y S T ( 0031760 V ) T H E N R E T U R N \r \n 0032000 \t L E T S T R = G E T A F 0032020 I L 376 001 \0 017 232 E ( V , 1 ) \r \n \t 0032040 G E T H W ( ) \r \n \t L E T M A 0032060 X W O R D = G E T L A S T ( 0032100 ) \r \n \t F O R I = F O N T - 0032120 2 T O M A X W O R D D O 0032140 P U T S ( S T R , R V I ) \r \n 0032160 \t C L O S E A F I L E ( S T R ) 0032200 \r \n ] \r \n \r \n \r \n \r \n A N D G 0032220 E T H W ( ) B E \r \n [ \r \n \t R 0032240 V ( F O N T - 1 ) = 0 \t / / W I 0032260 D T H \r \n \t R V ( F O N T - 2 ) 0032300 = 0 \t / / H E I G H T \r \n \t F O 0032320 R I = 0 T O 3 7 7 B D O 0032340 \r \n \t [ \r \n \t \t L E T W = 0032360 G E T H W X ( I ) \r \n \t \t I F 0032400 W G R R V ( F O N T - 1 ) 0032420 T H E N R V 376 001 \0 @ m ( F O N 0032440 T - 1 ) = W \r \n \t ] \r \n ] \r \n 0032460 \r \n \r \n A N D G E T H W X ( C 0032500 H A R ) = V A L O F \r \n [ \r 0032520 \n \t L E T P = F O N T + C 0032540 H A R + F O N T ! C H A R \r \n \t 0032560 L E T H G T = ( R V ( P 0032600 + 1 ) R S H I F T 8 ) + 0032620 ( R V ( P + 1 ) & 1 7 7 B ) 0032640 \r \n \t I F H G T G R R V ( 0032660 F O N T - 2 ) T H E N R V ( 0032700 F O N T - 2 ) = H G T \r \n \t 0032720 I F ( ( R V P ) & 1 ) 0032740 N E 0 T H E N R E S U L T 0032760 I S ( R V P ) R S H I F T 0033000 1 \r \n \t R E S U L T I S 1 6 0033020 + G E T H W X ( R V 376 001 \0 210 0033040 257 P R S H I F T 1 ) \r \n ] \r 0033060 \n \r \n \r \n A N D C U O U T ( ) 0033100 B E \t / / O U T P U T I N 0033120 C U F O R M A T , M A G N I F 0033140 I E D 7 T I M E S \r \n [ \r \n 0033160 \t L E T V = V E C 5 0 \r 0033200 \n \t W S ( " * N . C U F O R M 0033220 A T O U T P U T F I L E : 0033240 " ) \r \n \t I F N O T G E T K 0033260 E Y S T ( V ) T H E N R E T 0033300 U R N \r \n \t L E T S T R = 0033320 G E T A F I L E ( V , 1 ) \r \n \r 0033340 \n \t G E T H W ( ) \t / / S E T 0033360 H E I G H T A N D W I D T H 0033400 \r \n \t P U T S ( S T R , B O X 0033420 S I Z E * R V ( F O N T - 2 ) ) 0033440 \t 376 001 \0 D 331 / / O U T P U T H 0033460 E I G H T I N B I T S \r \n \t 0033500 L E T W O R D W = ( B O X 0033520 S I Z E * R V ( F O N T - 1 ) ) 0033540 / 1 6 + 1 \r \n \t P U T S ( S T 0033560 R , W O R D W ) / / W I D 0033600 T H I N W O R D S \r \n \r \n \t 0033620 G A P = 0 \r \n \t F O R I 0033640 = 0 T O 3 7 7 B D O \r \n 0033660 \t [ \r \n \t \t L E T P = F O 0033700 N T + I + F O N T ! I \r \t \t / / 0033720 D U M M Y C H A R A C T E R 0033740 ( 0 W I D T H ) D O N O T 0033760 P U T O U T \r \n \t \t I F R 0034000 V ( P ) E Q 1 T H E N 0034020 L O O P \r \t \t I F ( ( R V ( P 0034040 ) & 1 ) 376 001 \0 + 227 E Q 1 0034060 ) & ( ( R V ( P + 1 ) & 0034100 # 4 7 7 ) E Q 0 ) T H E N 0034120 L O O P \r \n \r \n / / P U T T 0034140 H E C H A R A C T E R O N T 0034160 O T H E S C R E E N , F R 0034200 O M W H I C H I T W I L L 0034220 B E O U T P U T \r \n \t \t B S 0034240 T O R E ( F A R R A Y , 0 , F H 0034260 M A X * F W M A X ) \r \n \t \t F C 0034300 H E I G H T = 0 \r \n \t \t F C 0034320 W I D T H = C O P Y C H ( I 0034340 , F A R R A Y ) \r \n \t \t B U I L 0034360 D C H A R ( ) \r \n / / N O W W 0034400 E H A V E T H E C H A R A 0034420 C T E R I N F A R R A Y A 0034440 N D I N T H E D 376 001 \0 } 4 0034460 I S P L A Y A R E A \r \n \r \n \t 0034500 \t P U T S ( S T R , I ) \t / / O 0034520 U T P U T T H E C H A R A C 0034540 T E R C O D E \r \n \t \t P U T S 0034560 ( S T R , F C W I D T H * B O X 0034600 S I Z E ) / / W I D T H O 0034620 F T H I S C H A R A C T E R 0034640 I N B I T S \r \n \t \t F O R 0034660 J = 0 T O B O X S I Z E 0034700 * R V ( F O N T - 2 ) - 1 D O 0034720 / / F O R A L L S C A N 0034740 L I N E S \r \n \t \t [ \r \n \t \t \t 0034760 L E T O F F S = D I S P L 0035000 A Y A R E A + ( C T O P M A R G 0035020 I N + J ) * N W R D S + L W 0035040 M A R G I N \r \n \t \t \t F O R K 0035060 376 001 \0 006 275 = 0 T O W O R 0035100 D W - 1 D O \r \n \t \t \t P U T 0035120 S ( S T R , R V ( O F F S + K ) 0035140 ) \r \n \t \t ] \r \n \t ] \r \n \t G A P 0035160 = 1 \r \n \t C L O S E A F I L 0035200 E ( S T R ) \r \n ] \r \n \r \n \r \n \r 0035220 \n A N D G E T K E Y S T ( V ) 0035240 = V A L O F \r \n [ \r \n \t V > 0035260 > S T R . L E N G T H = 0 \r 0035300 \n \t [ \r \n \t \t L E T C H A R 0035320 = G E T C H A R ( ) \r \n \t \t S 0035340 W I T C H O N C H A R I N T 0035360 O \r \n \t \t [ \r \n \t \t \t C A S E 0035400 $ * N : \t B R E A K \r \n \t \t \t C 0035420 A S E 3 3 B : \t R E S U L T I 0035440 S 0 \r \n \t \t \t C A S E 1 0 B 0035460 : \t / / B 376 001 \0 % 002 A C K S P A 0035500 C E \r \n \t \t \t \t I F V > > S T 0035520 R . L E N G T H G R 0 D O 0035540 \r \n \t \t \t \t [ \r \n \t \t \t \t \t P U 0035560 T S ( D S P , $ / ) \r \n \t \t \t 0035600 \t \t P U T S ( D S P , V > > S 0035620 T R . C H A R ^ ( V > > S T R . 0035640 L E N G T H ) ) \r \n \t \t \t \t \t ( 0035660 V > > S T R . L E N G T H ) = 0035700 ( V > > S T R . L E N G T H ) - 0035720 1 \r \n \t \t \t \t ] \r \n \t \t \t \t E N 0035740 D C A S E \r \n \t \t \t D E F A U L 0035760 T : \t P U T S ( D S P , C H A R 0036000 ) \r \n \t \t \t \t V > > S T R . L E 0036020 N G T H = V > > S T R . L E 0036040 N G T H + 1 \r \n \t \t \t \t V > > S 0036060 T R . C H A R ^ ( V 376 \0 H 376 244 > 0036100 > S T R . L E N G T H ) = C 0036120 H A R \r \n \t \t ] \r \n \t ] R E P 0036140 E A T \r \n \t R E S U L T I S V 0036160 > > S T R . L E N G T H \r \n ] \r 0036200 \n \r \n \r \n \r \n 377 \0 \0 F E D C . S 0036220 R \0 376 001 \0 027 236 \r \n \r \n G E T " 0036240 F E D . D E F S " \r \n \r \n \r \n L 0036260 E T T R A N S L A T E C H A R 0036300 ( X X , Y Y ) B E \r \n [ \r \n 0036320 L E T T M P , N W A , 0036340 N B A , O W A , O B A = N I 0036360 L , N I L , N I L , N I L , N I 0036400 L \r \n [ T M P = ( 0036420 R V 1 7 7 0 3 0 B ) & 7 ] R 0036440 E P E A T U N T I L T M P E 0036460 Q 7 \r \n [ R V 4 2 0036500 6 B = - 1 \r \n 0036520 T M P = ( R V 1 7 7 0 3 0 0036540 B ) & 7 \r \n R V 0036560 4 2 6 B = R V 4 2 4 B \r \n 0036600 R V 4 2 7 B = 0036620 R V 4 2 5 B 376 001 \0 ! h ] R E 0036640 P E A T U N T I L T M P E Q 0036660 5 \r \n L E T N X = 0036700 ( R V 4 2 4 B ) - C L M 0036720 A R G I N + 2 \r \n L 0036740 E T N Y = ( R V 4 2 5 B 0036760 ) - C T O P M A R G I N + 0037000 2 \r \n N X = N X 0037020 L S 0 ? 0 , N X / B O X S 0037040 I Z E \r \n N Y = N Y 0037060 L S 0 ? 0 , N Y / B O X 0037100 S I Z E \r \n N X = N 0037120 X L S ( F W M A X * 1 6 ) ? 0037140 N X , ( F W M A X * 1 6 ) 0037160 - 1 \r \n N Y = N Y 0037200 L S F H M A X ? N Y , F 0037220 H M A X - 1 \r \n \r \n 376 001 \0 326 0037240 332 L E T D X = N X 0037260 - X X \r \n L E T D 0037300 Y = N Y - Y Y \r \n 0037320 L E T N F A R R A Y = V 0037340 E C F W M A X * F H M A X \r \n 0037360 B S T O R E ( N F A R R 0037400 A Y , 0 , F W M A X * F H M 0037420 A X - 1 ) \r \n \r \n T M P 0037440 = D X ; I F D X L S 0037460 0 T H E N T M P = - D X 0037500 \r \n T E S T D X E Q 0037520 0 I F N O T [ \r \n 0037540 F O R I = 0 T O F H 0037560 M A X - 1 D O [ \r \n 0037600 T E S T D X G 0037620 R 0 I F S O [ \r \n 0037640 376 001 \0 243 001 0037660 N W A = N F A R R A Y + ( 0037700 I + 1 ) * F W M A X - 1 \r \n 0037720 0037740 N B A = 1 5 \r \n 0037760 O W A = 0040000 F A R R A Y + ( I + 1 ) * F W 0040020 M A X - 1 - D X / 1 6 \r 0040040 \n 0040060 O B A = N B A - D X 0040100 R E M 1 6 ] \r \n 0040120 I F N O T [ \r 0040140 \n 0040160 N W A = N F A R R A Y + 0040200 I * F W M A X \r \n 0040220 N B A = 0040240 0 \r \n 376 001 \0 & 035 0040260 O W A = F A 0040300 R R A Y + I * F W M A X - 0040320 D X / 1 6 \r \n 0040340 O B A = N B 0040360 A + T M P R E M 1 6 ] \r 0040400 \n F O R 0040420 J = 0 T O F W M A X * 1 6 0040440 - T M P - 1 D O [ \r \n 0040460 0040500 I F R V O W A N E 0 T 0040520 H E N \r \n 0040540 R V N W A 0040560 = R V N W A % ( 1 0 0 0 0 0 0040600 B R S H I F T O B A & R 0040620 V O W A ) R S H I F T ( N 0040640 B A - O B A ) \r \n 376 001 \0 202 216 0040660 0040700 T E S T D X G R 0 I F S 0040720 O [ \r \n 0040740 N B A = N B 0040760 A - 1 \r \n 0041000 I F N B 0041020 A L S 0 T H E N [ N B 0041040 A = 1 5 ; N W A = N W 0041060 A - 1 ] \r \n 0041100 O B A = 0041120 O B A - 1 \r \n 0041140 I F 0041160 O B A L S 0 T H E N [ 0041200 O B A = 1 5 ; O W A = 0041220 O W A - 1 ] ] \r \n 0041240 0041260 376 001 \0 1 K I F N O T [ \r \n 0041300 0041320 N B A = N B A + 1 \r \n 0041340 0041360 I F N B A G R 1 5 0041400 T H E N [ N B A = 0 ; 0041420 N W A = N W A + 1 ] \r 0041440 \n 0041460 O B A = O B A + 0041500 1 \r \n 0041520 I F O B A G 0041540 R 1 5 T H E N [ O B A 0041560 = 0 ; O W A = O W A + 0041600 1 ] ] ] ] ] \r \n 0041620 I F S O B M O V E ( F A R R 0041640 A Y , N F A R R A Y , F H M 0041660 A X * F W 376 001 \0 - 006 M A X - 0041700 1 ) \r \n B S T O R E ( F 0041720 A R R A Y , 0 , F H M A X * 0041740 F W M A X - 1 ) \r \n \r \n 0041760 T E S T D Y G E 0 I 0042000 F S O [ \r \n F 0042020 O R I = F H M A X - 1 T 0042040 O D Y B Y - 1 D O \r \n 0042060 B M O V E 0042100 ( N F A R R A Y + ( I - D Y ) * 0042120 F W M A X , F A R R A Y + ( I ) 0042140 * F W M A X , F W M A X - 1 ) ] 0042160 \r \n I F N O T [ 0042200 \r \n F O R I = 0042220 0 T O F H M A X - 1 + D Y 0042240 D O \r \n 0042260 B M O V E ( N F A R 376 001 \0 036 R R 0042300 A Y + ( I - D Y ) * F W M A X , 0042320 F A R R A Y + ( I ) * F W M A X 0042340 , F W M A X - 1 ) ] \r \n \r \n 0042360 B U I L D C H A R ( ) \r \n 0042400 S E T T I C K ( F C W I D 0042420 T H , T R U E ) \r \n ] \r 0042440 \n \r \n A N D S E T C H A R W I 0042460 D T H ( ) B E \r \n [ \r \n L 0042500 E T T M P = N I L \r \n 0042520 W S ( " * N B U G R I G H T M 0042540 O S T D E S I R E D B I T " 0042560 ) \r \n [ T M P = ( R V 0042600 1 7 7 0 3 0 B ) & 7 ] R E P 0042620 E A T U N T I L T M P E Q 0042640 7 \r \n [ T M P = ( R V 0042660 1 7 7 0 3 0 B ) & 7 \r \n 376 0042700 \0 377 317 - R V 4 2 6 B = 0042720 R V 4 2 4 B \r \n R V 0042740 4 2 7 B = R V 4 2 5 B ] 0042760 R E P E A T U N T I L T M P 0043000 E Q 3 \r \n W S ( " * N ! " 0043020 ) \r \n L E T N X = ( R 0043040 V 4 2 4 B ) - C L M A R G 0043060 I N + 2 \r \n N X = N 0043100 X L S 0 ? 0 , N X / B O 0043120 X S I Z E \r \n N X = N X 0043140 L S ( F W M A X * 1 6 ) ? 0043160 N X , ( F W M A X * 1 6 ) - 0043200 1 \r \n F C W I D T H = 0043220 N X + 1 \r \n B U I L D C H A 0043240 R ( ) \r \n S E T T I C K ( F 0043260 C W I D T H , T R U E ) \r \n ] \r 0043300 \n \r \n 377 \0 \0 F E D . D E F S \0 376 0043320 001 \0 245 342 \r \n M A N I F E S T \r \n 0043340 [ \r \n N W R D S = 3 6 \r \n L 0043360 I N E S = 7 6 0 \r \n O L I N 0043400 E S = 8 0 8 - 8 4 \t / / S Y 0043420 S T E M D I S P L A Y A R E 0043440 A I S 8 4 L I N E S \r \n S 0043460 C A L E = 7 \r \n / / F O N T 0043500 E D I T P A R A M E T E R S 0043520 \r \n F W M A X = 4 \r \n F H M A 0043540 X = 6 4 \r \n B O X S I Z E 0043560 = 7 \r \n L W M A R G I N = 0043600 3 \t / / W O R D S O F M A R 0043620 G I N F O R B I G B O X 0043640 I N F O N T E D I T O R \r \n 0043660 L M A R G I N = 1 0 0 \r \n ] 0043700 \r \n \r \n \r \n E X T E R N A L / 0043720 / S T A 376 001 \0 344 031 T I C S \r \n [ 0043740 \r \n G A P \r \n M O U S E L I N K 0043760 \r \n F C H E I G H T \r \n F A R R 0044000 A Y \r \n C L M A R G I N \r \n C 0044020 T O P M A R G I N \r \n E X T E N 0044040 S I O N C O U N T \r \n F C W I D 0044060 T H \r \n F O N T V E C \r \n C U R 0044100 R E N T F O N T \r \n C U R S O R 0044120 \r \n F O N T \r \n S 4 2 0 \r \n N E 0044140 W Y \r \n M A S K T A B \r \n D I S 0044160 P L A Y A R E A \r \n D C B \r \n ] 0044200 \r \n \r \n E X T E R N A L \t / / O 0044220 . S . P R O C E D U R E S \r \n 0044240 \r \n [ \r \n G E T C H A R \r \n E N 0044260 D O F S \r \n W O S \r \n D S P \r \n 0044300 W S \r \n W S S \r \n P U T S \r \n G 0044320 E T S \r \n G E T A 376 001 \0 256 i F I 0044340 L E \r \n O P E N A F I L E \r \n F 0044360 O R M A T N \r \n C L O S E A F I 0044400 L E \r \n I N I T A L T O I O \r \n 0044420 B S T O R E \r \n B M O V E \r \n K 0044440 E Y S \r \n ] \r \n \r \n \r \n E X T E 0044460 R N A L \t / / P R O C E D U R E 0044500 S \r \n \r \n [ \r \n F O R M A T \r \n 0044520 C U O U T \r \n C O P Y C H \r \n P 0044540 U T I T B A C K \r \n C H A S E \r 0044560 \n G E T L A S T \r \n G E T B I G 0044600 G E S T \r \n C O M P A C T F O N 0044620 T \r \n T A N D D \r \n B I G G E S 0044640 T C H A R \r \n B U I L D C H A R 0044660 \r \n R E A D F O N T \r \n W R I T 0044700 E F O N T \r \n G E T H W \r \n G E 0044720 T H W X \r \n F E D I T \r \n S 376 001 0044740 \0 333 5 E T T I C K \r \n S E T B O 0044760 X \r \n S E T A R R A Y \r \n C L E 0045000 A R B L O C K \r \n S E T B L O C 0045020 K \r \n G E T K E Y S T \r \n T R A 0045040 N S L A T E C H A R \r \n S E T C 0045060 H A R W I D T H \r \n \r \n ] \r \n \r 0045100 \n \r \n \r \n S T R U C T U R E S 0045120 T R : \r \n [ \r \n \t L E N G T H 0045140 B Y T E \r \n \t C H A R ^ 1 , 2 5 0045160 5 B Y T E \r \n ] \r \n \r \n \r \n \r 0045200 \n S T R U C T U R E I T E M : 0045220 \r \n [ \r \n \t L I N K W O R D \r 0045240 \n \t X M I N W O R D \r \n \t Y M 0045260 I N W O R D \r \n \t X M A X W 0045300 O R D \r \n \t F O N T B I T 3 0045320 \r \n \t Y M A X B I T 1 3 \r \n 0045340 \t S T 376 \0 024 267 314 R I N G : \t \t @ 0045360 S T R \r \n \r \n ] \r \n \r \n 374 0045375