.lo 3,2 .lm 0.rm 72 .fl bold.fl break.fl capitalize.fl hyphenate.fl index.xl.fl period .nhd .c;^*MAKE__BANNER - Create Banner-Style Block Letters\* .b .c;by ^&Rodrick A. Eldridge\& ^* .hl1 Introduction \* .b The MAKE__BANNER routine will create one line of block letters. Subsequent calls to the MAKE__BANNER routine will create subsequent lines. Taken together, these lines produce banner-style block letters. .b The following rules are used to determine if the character will be printed: .ls "o" .le;All printable ASCII characters are defined for use (i.e. 20 hex to 7E hex). .le;All lower case letters will be converted to upper case. .le;All other characters, 00 hex through 1F hex and 7F hex through FF hex, will be converted to blanks. .els .tp 7 ^* .hl1 Using MAKE__BANNER \* ^* .hl2 Format \* The following shows the format for calling the MAKE__BANNER program: .b .lt MAKE_BANNER text,spaces,width,height,spacing, font,line-no,buffer,length .el .b .tp 5 ^* .hl2 Arguments \* .lm 9 .i -9 ^&text\& .b Text to use to create the banner-style block letters. The ^&text\& argument is an address of a descriptor pointing to this string of text. .b .tp 5 .i -9 ^&spaces\& .b Number of leading spaces to insert before creating the line. The ^&spaces\& argument is an address of a longword that contains this value. Slanted block letters can be produced by incrementing or decrementing this value between each call to the MAKE__BANNER routine. .b .tp 5 .i -9 ^&width\& .b Number of times to repeat each character on a line. This controls the width of the block letters. The ^&width\& argument is an address of a longword that contains this value. .b .tp 5 .i -9 ^&height\& .b Number of times each line is produced. This controls the height of the block letters. The ^&height\& argument is an address of a longword that contains this value. .b .tp 5 .i -9 ^&spacing\& .b Number of spaces between each block letter. The ^&spacing\& argument is an address of a longword that contains this value. .b .tp 5 .i -9 ^&font\& .b Banner construction character. This controls what the block letter will be made of. The ^&font\& argument is an address of a byte that contains this value. If ^&font\& contains the value zero, then the MAKE__BANNER routine will use the corresponding character in the text string as the construction character. .b .tp 5 .i -9 ^&line-no\& .b Current line number. The ^&line-no\& argument is an address of a longword that contains this value and must range from 0 to _(7 _* ^&height\&_) _- 1, incrementing by 1 between each call to the MAKE__BANNER routine. .b .tp 5 .i -9 ^&buffer\& .b Buffer for one line of block letters. The ^&buffer\& argument is an address of a descriptor pointing to this line. .b .tp 5 .i -9 ^&length\& .b Resultant length of buffer. The ^&length\& argument is an address of a word that contains the actual length of the current line created. .lm 0 ^* .hl2 Linking \* .b To use the MAKE__BANNER routine, link your program to the TOOLS.OLB library in ISU__COMMON:[LIB]. .b For example: .b .lt LINK your_program+ISU_COMMON:[LIB]TOOLS/LIBR .el .tp 7 ^* .hl2 Examples \* .b The following examples show the effect of changing the ^&width\& and ^&height\& values. In the examples, the ^&spacing\& value is 2 and the ^&font\& value is 0. .tp 22 ^&^* .hl3 Example 1 \&\* if both ^&width\& and ^&heigth\& have the value 2, then the text ^*ABC\* will appear as: .b .lt AAAAAA BBBBBBBB CCCCCCCC AAAAAA BBBBBBBB CCCCCCCC AA AA BB BB CC AA AA BB BB CC AA AA BB BB CC AA AA BB BB CC AA AA BBBBBBBB CC AA AA BBBBBBBB CC AAAAAAAAAA BB BB CC AAAAAAAAAA BB BB CC AA AA BB BB CC AA AA BB BB CC AA AA BBBBBBBB CCCCCCCC AA AA BBBBBBBB CCCCCCCC .el .tp 22 ^&^* .hl3 Example 2 \&\* if ^&width\& is 1 and ^&heigth\& is 2, then the text ^*ABC\* will appear as: .b .lt AAA BBBB CCCC AAA BBBB CCCC A A B B C A A B B C A A B B C A A B B C A A BBBB C A A BBBB C AAAAA B B C AAAAA B B C A A B B C A A B B C A A BBBB CCCC A A BBBB CCCC .el .tp 15 ^&^* .hl3 Example 3 \&\* if ^&width\& is 2 and ^&heigth\& is 1, then the text ^*ABC\* will appear as: .b .lt AAAAAA BBBBBBBB CCCCCCCC AA AA BB BB CC AA AA BB BB CC AA AA BBBBBBBB CC AAAAAAAAAA BB BB CC AA AA BB BB CC AA AA BBBBBBBB CCCCCCCC .el .tp 15 ^&^* .hl3 Example 4 \&\* if both ^&width\& and ^&height\& have the value 1, then the text ^*ABC\* will appear as: .b .lt AAA BBBB CCCC A A B B C A A B B C A A BBBB C AAAAA B B C A A B B C A A BBBB CCCC .el .tp 7 ^* .hl1 Condition Value Returned \* The following condition value will always be returned by the MAKE__BANNER routine: .b .lm 9 .i -9 ^*SS$__NORMAL\* .b Routine successfully completed. .lm 0