package Text; # #Originally written in C 1992 - dcronin #Converted to PERL 2001.Nov.03 converted to PERL - dcronin #Revised to include Hortizonal, Vertical, and Size 2009.Jan.17 - dcronin # # Font table extract from BIOS # From dos debug-command... # c>debug # -a 100 # xxxx:0100 MOV AX,1130 # xxxx:0103 MOV BH,2 # xxxx:0105 INT 10 # xxxx:0107 NOP # xxxx:0108 INT 20 # xxxx:010A # -G=100 107 # # AX=1130 BX=0200 CX=0008 DX=0031 SP=FFEE BP=D7D2 SI=0000 DI=0000 # DS=0B55 ES=C000 SS=0B55 CS=0B55 IP=0107 NV UP EI PL NZ NA PO NC # 0B55:0107 90 NOP # # ES:BP is beginning of ROM BIOS font table. However, I begin from chr(1) rather than chr(0). # # -D C000:D7D2 # C000:D7D0 00 00 00 00 00 00-00 00 00 00 00 00 00 00 .............. # C000:D7E0 00 00 00 00 7E 81 A5 81-81 A5 99 81 81 7E 00 00 ....~........~.. # C000:D7F0 00 00 00 00 7E FF DB FF-FF DB E7 FF FF 7E 00 00 ....~........~.. sub Banner { @matrix=(0x7E,0x81,0xA5,0x81,0xBD,0x99,0x81,0x7E, 0x7E,0xFF,0xDB,0xFF,0xC3,0xE7,0xFF,0x7E, 0x6C,0xFE,0xFE,0xFE,0x7C,0x38,0x10,0x00, 0x10,0x38,0x7C,0xFE,0x7C,0x38,0x10,0x00, 0x38,0x7C,0x38,0xFE,0xFE,0x7C,0x38,0x7C, 0x10,0x10,0x38,0x7C,0xFE,0x7C,0x38,0x7C, 0x00,0x00,0x18,0x3C,0x3C,0x18,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x3C,0x66,0x42,0x42,0x66,0x3C,0x00, 0xFF,0xC3,0x99,0xBD,0xBD,0x99,0xC3,0xFF, 0x0F,0x07,0x0F,0x7D,0xCC,0xCC,0xCC,0x78, 0x3C,0x66,0x66,0x66,0x3C,0x18,0x7E,0x18, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x7F,0x63,0x7F,0x63,0x63,0x67,0xE6,0xC0, 0x99,0x5A,0x3C,0xE7,0xE7,0x3C,0x5A,0x99, 0x80,0xE0,0xF8,0xFE,0xF8,0xE0,0x80,0x00, 0x02,0x0E,0x3E,0xFE,0x3E,0x0E,0x02,0x00, 0x18,0x3C,0x7E,0x18,0x18,0x7E,0x3C,0x18, 0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x00, 0x7F,0xDB,0xDB,0x7B,0x1B,0x1B,0x1B,0x00, 0x3E,0x63,0x38,0x6C,0x6C,0x38,0xCC,0x78, 0x00,0x00,0x00,0x00,0x7E,0x7E,0x7E,0x00, 0x18,0x3C,0x7E,0x18,0x7E,0x3C,0x18,0xFF, 0x18,0x3C,0x7E,0x18,0x18,0x18,0x18,0x00, 0x18,0x18,0x18,0x18,0x7E,0x3C,0x18,0x00, 0x00,0x18,0x0C,0xFE,0x0C,0x18,0x00,0x00, 0x00,0x30,0x60,0xFE,0x60,0x30,0x00,0x00, 0x00,0x00,0xC0,0xC0,0xC0,0xFE,0x00,0x00, 0x00,0x24,0x66,0xFF,0x66,0x24,0x00,0x00, 0x00,0x18,0x3C,0x7E,0xFF,0xFF,0x00,0x00, 0x00,0xFF,0xFF,0x7E,0x3C,0x18,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00, 0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00, 0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00, 0x30,0x7C,0xC0,0x78,0x0C,0xF8,0x30,0x00, 0x00,0xC6,0xCC,0x18,0x30,0x66,0xC6,0x00, 0x38,0x6C,0x38,0x76,0xDC,0xCC,0x76,0x00, 0x60,0x60,0xC0,0x00,0x00,0x00,0x00,0x00, 0x18,0x30,0x60,0x60,0x60,0x30,0x18,0x00, 0x60,0x30,0x18,0x18,0x18,0x30,0x60,0x00, 0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00, 0x00,0x30,0x30,0xFC,0x30,0x30,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x60, 0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00, 0x06,0x0C,0x18,0x30,0x60,0xC0,0x80,0x00, 0x7C,0xC6,0xCE,0xDE,0xF6,0xE6,0x7C,0x00, 0x30,0x70,0x30,0x30,0x30,0x30,0xFC,0x00, 0x78,0xCC,0x0C,0x38,0x60,0xCC,0xFC,0x00, 0x78,0xCC,0x0C,0x38,0x0C,0xCC,0x78,0x00, 0x1C,0x3C,0x6C,0xCC,0xFE,0x0C,0x1E,0x00, 0xFC,0xC0,0xF8,0x0C,0x0C,0xCC,0x78,0x00, 0x38,0x60,0xC0,0xF8,0xCC,0xCC,0x78,0x00, 0xFC,0xCC,0x0C,0x18,0x30,0x30,0x30,0x00, 0x78,0xCC,0xCC,0x78,0xCC,0xCC,0x78,0x00, 0x78,0xCC,0xCC,0x7C,0x0C,0x18,0x70,0x00, 0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x00, 0x00,0x30,0x30,0x00,0x00,0x30,0x30,0x60, 0x18,0x30,0x60,0xC0,0x60,0x30,0x18,0x00, 0x00,0x00,0xFC,0x00,0x00,0xFC,0x00,0x00, 0x60,0x30,0x18,0x0C,0x18,0x30,0x60,0x00, 0x78,0xCC,0x0C,0x18,0x30,0x00,0x30,0x00, 0x7C,0xC6,0xDE,0xDE,0xDE,0xC0,0x78,0x00, 0x30,0x78,0xCC,0xCC,0xFC,0xCC,0xCC,0x00, 0xFC,0x66,0x66,0x7C,0x66,0x66,0xFC,0x00, 0x3C,0x66,0xC0,0xC0,0xC0,0x66,0x3C,0x00, 0xF8,0x6C,0x66,0x66,0x66,0x6C,0xF8,0x00, 0xFE,0x62,0x68,0x78,0x68,0x62,0xFE,0x00, 0xFE,0x62,0x68,0x78,0x68,0x60,0xF0,0x00, 0x3C,0x66,0xC0,0xC0,0xCE,0x66,0x3E,0x00, 0xCC,0xCC,0xCC,0xFC,0xCC,0xCC,0xCC,0x00, 0x78,0x30,0x30,0x30,0x30,0x30,0x78,0x00, 0x1E,0x0C,0x0C,0x0C,0xCC,0xCC,0x78,0x00, 0xE6,0x66,0x6C,0x78,0x6C,0x66,0xE6,0x00, 0xF0,0x60,0x60,0x60,0x62,0x66,0xFE,0x00, 0xC6,0xEE,0xFE,0xFE,0xD6,0xC6,0xC6,0x00, 0xC6,0xE6,0xF6,0xDE,0xCE,0xC6,0xC6,0x00, 0x38,0x6C,0xC6,0xC6,0xC6,0x6C,0x38,0x00, 0xFC,0x66,0x66,0x7C,0x60,0x60,0xF0,0x00, 0x78,0xCC,0xCC,0xCC,0xDC,0x78,0x1C,0x00, 0xFC,0x66,0x66,0x7C,0x6C,0x66,0xE6,0x00, 0x78,0xCC,0xE0,0x70,0x1C,0xCC,0x78,0x00, 0xFC,0xB4,0x30,0x30,0x30,0x30,0x78,0x00, 0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xFC,0x00, 0xCC,0xCC,0xCC,0xCC,0xCC,0x78,0x30,0x00, 0xC6,0xC6,0xC6,0xD6,0xFE,0xEE,0xC6,0x00, 0xC6,0xC6,0x6C,0x38,0x38,0x6C,0xC6,0x00, 0xCC,0xCC,0xCC,0x78,0x30,0x30,0x78,0x00, 0xFE,0xC6,0x8C,0x18,0x32,0x66,0xFE,0x00, 0x78,0x60,0x60,0x60,0x60,0x60,0x78,0x00, 0xC0,0x60,0x30,0x18,0x0C,0x06,0x02,0x00, 0x78,0x18,0x18,0x18,0x18,0x18,0x78,0x00, 0x10,0x38,0x6C,0xC6,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, 0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x78,0x0C,0x7C,0xCC,0x76,0x00, 0xE0,0x60,0x60,0x7C,0x66,0x66,0xDC,0x00, 0x00,0x00,0x78,0xCC,0xC0,0xCC,0x78,0x00, 0x1C,0x0C,0x0C,0x7C,0xCC,0xCC,0x76,0x00, 0x00,0x00,0x78,0xCC,0xFC,0xC0,0x78,0x00, 0x38,0x6C,0x60,0xF0,0x60,0x60,0xF0,0x00, 0x00,0x00,0x76,0xCC,0xCC,0x7C,0x0C,0xF8, 0xE0,0x60,0x6C,0x76,0x66,0x66,0xE6,0x00, 0x30,0x00,0x70,0x30,0x30,0x30,0x78,0x00, 0x0C,0x00,0x0C,0x0C,0x0C,0xCC,0xCC,0x78, 0xE0,0x60,0x66,0x6C,0x78,0x6C,0xE6,0x00, 0x70,0x30,0x30,0x30,0x30,0x30,0x78,0x00, 0x00,0x00,0xCC,0xFE,0xFE,0xD6,0xC6,0x00, 0x00,0x00,0xF8,0xCC,0xCC,0xCC,0xCC,0x00, 0x00,0x00,0x78,0xCC,0xCC,0xCC,0x78,0x00, 0x00,0x00,0xDC,0x66,0x66,0x7C,0x60,0xF0, 0x00,0x00,0x76,0xCC,0xCC,0x7C,0x0C,0x1E, 0x00,0x00,0xDC,0x76,0x66,0x60,0xF0,0x00, 0x00,0x00,0x7C,0xC0,0x78,0x0C,0xF8,0x00, 0x10,0x30,0x7C,0x30,0x30,0x34,0x18,0x00, 0x00,0x00,0xCC,0xCC,0xCC,0xCC,0x76,0x00, 0x00,0x00,0xCC,0xCC,0xCC,0x78,0x30,0x00, 0x00,0x00,0xC6,0xD6,0xFE,0xFE,0x6C,0x00, 0x00,0x00,0xC6,0x6C,0x38,0x6C,0xC6,0x00, 0x00,0x00,0xCC,0xCC,0xCC,0x7C,0x0C,0xF8, 0x00,0x00,0xFC,0x98,0x30,0x64,0xFC,0x00, 0x1C,0x30,0x30,0xE0,0x30,0x30,0x1C,0x00, 0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x00, 0xE0,0x30,0x30,0x1C,0x30,0x30,0xE0,0x00, 0x76,0xDC,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x10,0x38,0x6C,0xC6,0xC6,0xFE,0x00, 0x3C,0x66,0x60,0x66,0x3C,0x18,0x0C,0x38, 0x00,0x66,0x00,0x66,0x66,0x66,0x3F,0x00, 0x0E,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00, 0x7E,0xC3,0x3C,0x06,0x3E,0x66,0x3F,0x00, 0x66,0x00,0x3C,0x06,0x3E,0x66,0x3F,0x00, 0x70,0x00,0x3C,0x06,0x3E,0x66,0x3F,0x00, 0x18,0x18,0x3C,0x06,0x3E,0x66,0x3F,0x00, 0x00,0x00,0x3C,0x60,0x60,0x3C,0x18,0x38, 0x7E,0xC3,0x3C,0x66,0x7E,0x60,0x3C,0x00, 0x66,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00, 0x70,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00, 0x66,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, 0x3E,0x63,0x1C,0x0C,0x0C,0x0C,0x1E,0x00, 0x70,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, 0x63,0x1C,0x36,0x63,0x7F,0x63,0x63,0x00, 0x18,0x18,0x00,0x3C,0x66,0x7E,0x66,0x00, 0x0E,0x00,0x7E,0x30,0x3C,0x30,0x7E,0x00, 0x00,0x00,0x7F,0x0C,0x7F,0xCC,0x7F,0x00, 0x3F,0x6C,0xCC,0xFF,0xCC,0xCC,0xCF,0x00, 0x3C,0x66,0x00,0x3C,0x66,0x66,0x3C,0x00, 0x00,0x66,0x00,0x3C,0x66,0x66,0x3C,0x00, 0x00,0x70,0x00,0x3C,0x66,0x66,0x3C,0x00, 0x3C,0x66,0x00,0x66,0x66,0x66,0x3F,0x00, 0x00,0x70,0x00,0x66,0x66,0x66,0x3F,0x00, 0x00,0x66,0x00,0x66,0x66,0x3E,0x06,0x7C, 0xC3,0x18,0x3C,0x66,0x66,0x3C,0x18,0x00, 0x66,0x00,0x66,0x66,0x66,0x66,0x3C,0x00, 0x0C,0x0C,0x3F,0x60,0x60,0x3F,0x0C,0x0C, 0x1C,0x36,0x32,0x78,0x30,0x73,0x7E,0x00, 0x66,0x66,0x3C,0x7E,0x18,0x7E,0x18,0x18, 0xF8,0xCC,0xCC,0xFA,0xC6,0xCF,0xC6,0xC7, 0x0E,0x1B,0x18,0x3C,0x18,0x18,0x18,0x70, 0x0E,0x00,0x3C,0x06,0x3E,0x66,0x3F,0x00, 0x1C,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, 0x00,0x0E,0x00,0x3C,0x66,0x66,0x3C,0x00, 0x00,0x0E,0x00,0x66,0x66,0x66,0x3F,0x00, 0x3B,0x6E,0x00,0x3E,0x33,0x33,0x33,0x00, 0x3B,0x6E,0x33,0x3B,0x3F,0x37,0x33,0x00, 0x3C,0x6C,0x6C,0x3E,0x00,0x7E,0x00,0x00, 0x38,0x6C,0x6C,0x38,0x00,0x7C,0x00,0x00, 0x18,0x00,0x18,0x30,0x60,0x66,0x3C,0x00, 0x00,0x00,0x00,0x7E,0x60,0x60,0x00,0x00, 0x00,0x00,0x00,0x7E,0x06,0x06,0x00,0x00, 0xC3,0xC6,0xCC,0xDE,0x33,0x66,0xCC,0x0F, 0xC3,0xC6,0xCC,0xDB,0x37,0x6F,0xCF,0x03, 0x18,0x00,0x18,0x18,0x3C,0x3C,0x18,0x00, 0x00,0x33,0x66,0xCC,0x66,0x33,0x00,0x00, 0x00,0xCC,0x66,0x33,0x66,0xCC,0x00,0x00, 0x88,0x22,0x88,0x22,0x88,0x22,0x88,0x22, 0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55, 0xBB,0xEE,0xBB,0xEE,0xBB,0xEE,0xBB,0xEE, 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0xF8,0x18,0x18,0x18, 0x18,0x18,0xF8,0x18,0xF8,0x18,0x18,0x18, 0x36,0x36,0x36,0x36,0xF6,0x36,0x36,0x36, 0x00,0x00,0x00,0x00,0xFE,0x36,0x36,0x36, 0x00,0x00,0xF8,0x18,0xF8,0x18,0x18,0x18, 0x36,0x36,0xF6,0x06,0xF6,0x36,0x36,0x36, 0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, 0x00,0x00,0xFE,0x06,0xF6,0x36,0x36,0x36, 0x36,0x36,0xF6,0x06,0xFE,0x00,0x00,0x00, 0x36,0x36,0x36,0x36,0xFE,0x00,0x00,0x00, 0x18,0x18,0xF8,0x18,0xF8,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xF8,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x1F,0x00,0x00,0x00, 0x18,0x18,0x18,0x18,0xFF,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xFF,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0x1F,0x18,0x18,0x18, 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, 0x18,0x18,0x18,0x18,0xFF,0x18,0x18,0x18, 0x18,0x18,0x1F,0x18,0x1F,0x18,0x18,0x18, 0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36, 0x36,0x36,0x37,0x30,0x3F,0x00,0x00,0x00, 0x00,0x00,0x3F,0x30,0x37,0x36,0x36,0x36, 0x36,0x36,0xF7,0x00,0xFF,0x00,0x00,0x00, 0x00,0x00,0xFF,0x00,0xF7,0x36,0x36,0x36, 0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36, 0x00,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00, 0x36,0x36,0xF7,0x00,0xF7,0x36,0x36,0x36, 0x18,0x18,0xFF,0x00,0xFF,0x00,0x00,0x00, 0x36,0x36,0x36,0x36,0xFF,0x00,0x00,0x00, 0x00,0x00,0xFF,0x00,0xFF,0x18,0x18,0x18, 0x00,0x00,0x00,0x00,0xFF,0x36,0x36,0x36, 0x36,0x36,0x36,0x36,0x3F,0x00,0x00,0x00, 0x18,0x18,0x1F,0x18,0x1F,0x00,0x00,0x00, 0x00,0x00,0x1F,0x18,0x1F,0x18,0x18,0x18, 0x00,0x00,0x00,0x00,0x3F,0x36,0x36,0x36, 0x36,0x36,0x36,0x36,0xFF,0x36,0x36,0x36, 0x18,0x18,0xFF,0x18,0xFF,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0xF8,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x1F,0x18,0x18,0x18, 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF, 0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0, 0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F, 0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00, 0x00,0x00,0x3B,0x6E,0x6C,0x6E,0x3B,0x00, 0x3C,0x66,0x66,0x6C,0x66,0x66,0x7C,0x60, 0x00,0x7E,0x66,0x60,0x60,0x60,0x60,0x00, 0x00,0x00,0x7F,0x36,0x36,0x36,0x36,0x00, 0x7F,0x31,0x18,0x0C,0x18,0x31,0x7F,0x00, 0x00,0x00,0x3F,0x66,0x66,0x66,0x3C,0x00, 0x00,0x00,0x33,0x33,0x33,0x33,0x3E,0x60, 0x00,0x3B,0x6E,0x0C,0x18,0x18,0x18,0x00, 0x7E,0x18,0x3C,0x66,0x66,0x3C,0x18,0x7E, 0x1C,0x36,0x63,0x7F,0x63,0x36,0x1C,0x00, 0x1C,0x36,0x63,0x63,0x36,0x36,0x77,0x00, 0x1C,0x30,0x18,0x3C,0x66,0x66,0x3C,0x00, 0x00,0x00,0x7E,0xDB,0xDB,0x7E,0x00,0x00, 0x06,0x0C,0x7E,0xDB,0xDB,0x7E,0x60,0xC0, 0x1C,0x30,0x60,0x7C,0x60,0x30,0x1C,0x00, 0x1C,0x36,0x63,0x63,0x63,0x63,0x63,0x00, 0x00,0x7E,0x00,0x7E,0x00,0x7E,0x00,0x00, 0x18,0x18,0x7E,0x18,0x18,0x00,0x7E,0x00, 0x30,0x18,0x0C,0x18,0x30,0x00,0x7E,0x00, 0x0C,0x18,0x30,0x18,0x0C,0x00,0x7E,0x00, 0x00,0x0E,0x1B,0x1B,0x18,0x18,0x18,0x18, 0x18,0x18,0x18,0x18,0xD8,0xD8,0x70,0x00, 0x18,0x18,0x00,0x7E,0x00,0x18,0x18,0x00, 0x00,0x70,0xDB,0x0E,0x70,0xDB,0x0E,0x00, 0x3C,0x66,0x66,0x3C,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00, 0x0F,0x0C,0x0C,0x0C,0xCC,0x6C,0x3C,0x1C, 0x78,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00, 0x38,0x6C,0x18,0x30,0x7C,0x00,0x00,0x00, 0x00,0x00,0x3C,0x3C,0x3C,0x3C,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); =begin Syntax Text::Banner(iFiller, iFactor, cOrientation, "text 1", "text 2", ... ); iFiller is a 3-digit ASCII code for the banner draw. (001 to 255 for valid ascii codes, > 255 character itself. iFactor is the magnification factor. cOrientation generate either a (H)ortizonal or (V)ertical banner. Enter as many lines of text as you like delimited by commas. Sample code: prints a Hortizonal banner using ASCII char(65) 'A' as filler for two lines. #!/usr/bin/perl use Banner; print Text::Banner(65,1,"H","Line 1","Longer line","Short 1"); # print a Vertical banner using the rendering character as it's own filler. print Text::Banner(999,1,"v","Line 1","Longer line","Short 1"); =cut ($iCHF,$iFAC,$HV,@aLst) = @_; $sRLST=""; if ($HV =~ /[Hh]/) { for ($nPARM=0; $nPARM <= $#aLst; $nPARM++) { $cBANNER = $aLst[$nPARM]; for ($nROW=0;$nROW<=7;$nROW++) { for ($nBIG=1;$nBIG<=$iFAC;$nBIG++) { for ($nPOS=0;$nPOS=0;$nBITR--) { if ($iCHF > 0 && $iCHF <= 255) {$nVAR=chr($iCHF); } else {$nVAR=chr($nPTR); } if ($matrix[($nPTR-1) * 8 + $nROW] & $nBIT) {$sRLST .= "$nVAR" x $iFAC; } else { $sRLST .= " " x $iFAC; } $nBIT = $nBIT >> 1; } } $sRLST .= "\n"; } } } } elsif ($HV =~ /[Vv]/) { undef @aTEXT; $nMaxLen=0; for ($nPARM=0; $nPARM <= $#aLst; $nPARM++) { $hold=$aLst[$nPARM]; push (@aTEXT,$hold); $nMaxLen=length($hold) if length($hold) > $nMaxLen; } for ($nHelm=0;$nHelm<=$#aTEXT;$nHelm++){ $aTEXT[$nHelm] = $aTEXT[$nHelm] . " " x ($nMaxLen - length($aTEXT[$nHelm])); } for ($nLine=0;$nLine<$nMaxLen;$nLine++){ $cBANNER=""; for ($hold=$#aTEXT;$hold>=0;$hold--){ $cBANNER = $cBANNER . substr($aTEXT[$hold],$nLine,1); } undef @aa; for ($nPOS=0;$nPOS=0;$BITROW--) { $nBIT=2**$BITROW; for($nBFF=0;$nBFF<8;$nBFF++){ for ($nBIG=0;$nBIG<$iFAC;$nBIG++){ $hold=($nPTR-1)*8+7-$nBFF; $byte = $matrix[$hold]; if ($iCHF > 0 && $iCHF <= 255) {$nVAR=chr($iCHF); } else {$nVAR=chr($nPTR); } if ($byte & $nBIT) { $aa[$BITROW][$nPOS] = $aa[$BITROW][$nPOS] . "$nVAR" x $iFAC; } else { $aa[$BITROW][$nPOS] = $aa[$BITROW][$nPOS] . " " x $iFAC; } } } } } for($BITROW=7;$BITROW>=0;$BITROW--) { for ($nBIG=0;$nBIG<$iFAC;$nBIG++){ for ($nPOS=0;$nPOS