Announcement

Collapse

New Sub-Forum

In an effort to help make sure there are appropriate categories for topics of discussion that are happening, there is now a sub-forum for databases and database programming under Special Interest groups. Please direct questions, etc., about this topic to that sub-forum moving forward. Thank you.
See more
See less

Looking for code to display large numbers

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Looking for code to display large numbers

    I need to provide easily readable numeric displays, larger than
    the print command produces. I can do it from scratch, but if
    anyone knows of an available means of doing it, I'd appreciate it
    . Does PB/Xtra include such routines? Thanks!

    ------------------

  • #2
    I'm not quite sure I understand what you are looking for. As it
    happens, I am developing DOS font(s) for a special program I am
    developing. The below example is extremely raw and incomplete but
    it shows you how I am tackling the problem. This code was written
    in PB 2.1f but it should be easily translatable into your particular
    version. This program is for the screen only and does not include
    any printer support. That will come later.

    screen 12
    color 14,1
    cls
    defint a-z

    col = 1
    row = 1
    Restore capsA : call display.char
    col = col + cols + 3 : Restore capsB : call display.char
    col = col + cols + 3 : Restore capsC : call display.char
    col = col + cols + 3 : Restore capsD : call display.char
    col = col + cols + 3 : Restore capsE : call display.char
    col = col + cols + 3 : Restore capsF : call display.char

    end

    sub display.char
    shared rows,cols,row,col

    save.row = row
    read rows,cols
    for x = 1 to rows
    read t$
    call show.row(t$)
    incr row
    next x
    row = save.row
    end sub

    sub show.row(t$)
    shared rows,cols,row,col
    save.col = col
    for x = 1 to len(t$)
    if mid$(t$,x,1) = "1" then
    pset(col,row),10
    end if
    col = col + 1
    next x
    col = save.col
    end sub


    CapsA:

    Data 32, 32
    Data 00000000000000011000000000000000
    Data 00000000000000011000000000000000
    Data 00000000000000011100000000000000
    Data 00000000000000111100000000000000
    Data 00000000000000111100000000000000
    Data 00000000000001111110000000000000
    Data 00000000000001111110000000000000
    Data 00000000000001111111000000000000
    Data 00000000000011011111000000000000
    Data 00000000000011011111000000000000
    Data 00000000000110001111100000000000
    Data 00000000000110001111100000000000
    Data 00000000000110001111110000000000
    Data 00000000001100000111110000000000
    Data 00000000001100000111110000000000
    Data 00000000011000000011111000000000
    Data 00000000011000000011111000000000
    Data 00000000011000000011111100000000
    Data 00000000110000000001111100000000
    Data 00000000110000000001111100000000
    Data 00000001111111111111111110000000
    Data 00000001111111111111111110000000
    Data 00000001100000000000111111000000
    Data 00000011000000000000011111000000
    Data 00000011000000000000011111000000
    Data 00000110000000000000011111100000
    Data 00000110000000000000001111100000
    Data 00000110000000000000001111110000
    Data 00001100000000000000000111110000
    Data 00011100000000000000000111111000
    Data 00111110000000000000001111111100
    Data 11111111110000000000111111111111

    CapsB:

    Data 32,27
    Data 000000000000000000000000000
    Data 111111111111111111100000000
    Data 000111111111111111111100000
    Data 000011111000000001111110000
    Data 000011111000000000011111000
    Data 000011111000000000001111100
    Data 000011111000000000001111100
    Data 000011111000000000000111110
    Data 000011111000000000000111110
    Data 000011111000000000000111110
    Data 000011111000000000000111110
    Data 000011111000000000000111110
    Data 000011111000000000001111100
    Data 000011111000000000011111100
    Data 000011111000000001111110000
    Data 000011111111111111111100000
    Data 000011111111111111111000000
    Data 000011111000000001111110000
    Data 000011111000000000011111100
    Data 000011111000000000001111110
    Data 000011111000000000000111110
    Data 000011111000000000000111111
    Data 000011111000000000000011111
    Data 000011111000000000000011111
    Data 000011111000000000000011111
    Data 000011111000000000000111111
    Data 000011111000000000000111110
    Data 000011111000000000001111110
    Data 000011111000000000011111100
    Data 000011111000000001111111000
    Data 000111111111111111111110000
    Data 111111111111111111110000000

    CapsC:

    Data 33,27
    Data 000000000001111111000000100
    Data 000000001111111111111001100
    Data 000000011111100000011111100
    Data 000000111111000000000111100
    Data 000001111110000000000011100
    Data 000011111100000000000001110
    Data 000111111000000000000000110
    Data 001111111000000000000000110
    Data 001111110000000000000000110
    Data 011111110000000000000000010
    Data 011111110000000000000000000
    Data 011111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 111111100000000000000000000
    Data 011111100000000000000000000
    Data 011111110000000000000000000
    Data 011111110000000000000000000
    Data 001111110000000000000000000
    Data 001111111000000000000000001
    Data 000111111000000000000000010
    Data 000111111100000000000000100
    Data 000011111110000000000001100
    Data 000001111111000000000011000
    Data 000000111111110000001110000
    Data 000000001111111111111000000
    Data 000000000001111111100000000

    CapsD:

    Data 32,30
    Data 111111111111111111100000000000
    Data 000111111111111111111100000000
    Data 000011111100000011111111000000
    Data 000011111000000000011111100000
    Data 000011111000000000001111110000
    Data 000011111000000000000111111000
    Data 000011111000000000000011111100
    Data 000011111000000000000011111100
    Data 000011111000000000000001111110
    Data 000011111000000000000001111110
    Data 000011111000000000000001111110
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000000111111
    Data 000011111000000000000001111110
    Data 000011111000000000000001111110
    Data 000011111000000000000001111110
    Data 000011111000000000000011111100
    Data 000011111000000000000011111000
    Data 000011111000000000000111111000
    Data 000011111000000000001111110000
    Data 000011111000000000011111100000
    Data 000011111100000011111110000000
    Data 000111111111111111111100000000
    Data 111111111111111111000000000000

    CapsE:
    Data 31,26
    Data 11111111111111111111111100
    Data 00011111111111111111111100
    Data 00001111100000000000011100
    Data 00001111100000000000001100
    Data 00001111100000000000001100
    Data 00001111100000000000000100
    Data 00001111100000000000000100
    Data 00001111100000000000000000
    Data 00001111100000000000000000
    Data 00001111100000000000000000
    Data 00001111100000000000100000
    Data 00001111100000000000100000
    Data 00001111100000000001100000
    Data 00001111100000000001100000
    Data 00001111111111111111100000
    Data 00001111111111111111100000
    Data 00001111100000000001100000
    Data 00001111100000000001100000
    Data 00001111100000000000100000
    Data 00001111100000000000100000
    Data 00001111100000000000000000
    Data 00001111100000000000000000
    Data 00001111100000000000000000
    Data 00001111100000000000000001
    Data 00001111100000000000000011
    Data 00001111100000000000000010
    Data 00001111100000000000000110
    Data 00001111100000000000001110
    Data 00001111100000000000111100
    Data 00011111111111111111111100
    Data 11111111111111111111111100

    CapsF:
    Data 31,24
    Data 111111111111111111111111
    Data 000111111111111111111111
    Data 000011111000000000000111
    Data 000011111000000000000011
    Data 000011111000000000000011
    Data 000011111000000000000001
    Data 000011111000000000000001
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000001000
    Data 000011111000000000001000
    Data 000011111000000000011000
    Data 000011111000000000011000
    Data 000011111111111111111000
    Data 000011111111111111111000
    Data 000011111000000000011000
    Data 000011111000000000011000
    Data 000011111000000000001000
    Data 000011111000000000001000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000011111000000000000000
    Data 000111111111000000000000
    Data 111111111111111000000000

    Data 0,0


    ------------------
    There are no atheists in a fox hole or the morning of a math test.
    If my flag offends you, I'll help you pack.

    Comment


    • #3
      Kevin

      You may not be able to use these, they are pretty large. I've
      called them several different ways and haven't had any problems.
      Either 10 or 12 charecters fills the screen in SCREEN12 mode,
      from left to right.


      Code:
      eight:
            wide% = 48
            Draw "bu9 u9 e1 u2 e5 r1 e2 h1 l1 h1 l1 h2 u1 h1 u1 h1 u5"
            Draw "e1 u1 e1 u1 e1 u1 e1 r1 e1 r1 e1 r1 e1 r14 f1 r1 f1 r1"
            Draw "f1 r1 f2 d1 f1 d1 f1 d7 g1 d1 g4 l1 l1 f2 r1 f4 d1"
            Draw "f1 d1 f1 d7 g1 d2 g1 d1 g5 l1 g1 l1 g1 l4 g1 l5"
            Draw "h1 l4 h1 l2 h2 l1 h3 u1 h1 u1"
            Draw "br10 u1 h1 u8 e5 r7 f5 d7 g1 d1 g3 l1 g1 l5 h1 l1"
            Draw "h2 br3 bu21 u1 h4 u6 e4 r6 f4 d6 g4 l5 bd2"
            Draw "p7,7 bd28 br31"
         Return
      
         seven:
           wide% = 38
           draw "br8 u7 e1 u5 e1 u2 e1 u2 e1 u2 e1 u1 e1 u1 e1 u1 e1 u1 e1 u1 "
           Draw "e1 u1 e3 u1 e4 u1 l27 u8 r37 d7 g6 d1 g3 d1 g1 d2 g1 d1 g1 d1"
           Draw "g1 d1 g1 d2 g1 d2 g1 d2 g1 d3 g1 d5 g1 d4 l8 be1"
           Draw "p7,7 bd1 br36"
         Return
      
      
          six:
            wide% = 50
            Draw "br13 u1 h1 l1 h1 l1 h5 u1 h1 u2 h1 u2 h1 u6 h1 u6 e1 u6"
            Draw "e1 u2 e1 u2 e1 u1 e6 r1 e1 r2 e1 r12 f1 r1 f1 r1 f4 d1"
            Draw "f1 d1 f1 d2 l10 u1 h1 u1 h2 l6 g4 d1 g1 d3 g1 d4 f1"
            Draw "e2 r1 e1 r2 e1 r6 f1 r2 f1 r1 f1 r1 f4 d1 f1 d2 f1 d10"
            Draw "g1 d3 g7 l1 g1 l3 g1 l8 h1 l2 bu9 u1 h1 u1 h1 u8"
            Draw "e1 u1 e3 r7 f4 d1 f1 d9 g1 d1 g3 l1 g1 l3 h1 l1 h2"
            Draw "bd2"
            Draw "p7,7 bd6 br35"
          Return
      
          five:
             wide% = 50
             Draw "bu10 u2 r11 d2 f5 r6 e5 u1 e1 u8 h1 u1 h3 l1 h1 l6"
             Draw "g1 l1 g1 l1 g2 l2 h1 l5 u2 e1 u4 e1 u4 e1 u4 e1 u5 e1 u4"
             Draw "r29 d9 l20 d2 g1 d3 g1 d2 f1 e1 r2 e1 r7 f1 r2 f1 r1"
             Draw "f1 r1 f4 d1 f1 d2 f1 d12 g1 d1 g1 d1 g1 d1 g4 l1 g1 l2"
             draw "g1 l3 g1 l7 h1 l3 h1 l1 h1 l1 h1 l1 h4 u2 h1 u1 br1"
             Draw "p7,7 bd11 br48"
          Return
      
      
          three:
            wide% = 48
            Draw "bu11 u2 r5 e1 r4 d2 f1 d1 f3 r2 f1 r3 e1 r1 e5 u7 h5 l7"
            Draw "u7 r5  e5 u4 h4 l5 g5 d2 l2 h1 l4 h1 l2 u1 e1 u1 e2 u1 e4 r1 e1"
            Draw "r3 e1 r6 f1 r3 f1 r2 f1 r1 f5 d2 f1 d5 g6 l1 g1 f1 r1 f1 r1 f1"
            Draw "r1 f3 d1 f1 d10 g2 d1 g5 l1 g1 l2 g1 l3 g1 l5 h1 l4 h1 l1 h1 l1"
            Draw "h5 u1 h1 u1 h1 br1"
            Draw "p7,7 bd10 br47"
          Return:
      
         four:
            wide% = 51
            Draw "bu10 u9 ta320 u42 ta0 r9 d33 r7 d8 l7 d10 l10 u10 l25 be7 r2"
            Draw "ta320 u25 ta0 d18 l14 bd2"
            Draw "p7,7 bd16 br39"
         Return
      
          two:
             wide% = 50
             DRAW "r1 l1 u1 e1 u3 e1 u1 e1 u1 e1 u1 e12 r1 e11 u1 e1 u5 h1 u1 h2 l1"
             Draw "h1 l6 g1 l1 g3 d2 g1 d1 l6 h1 l4 e1 u3 e1 u1 e1 u1 e3 r1"
             Draw "e1 r1 e1 r2 e1 r12 f1 r2 f1 r1 f1 r1 f3 d1 f1 d1 f1 d7"
             Draw "g1 d2 g1 d1 g1 d1 g12 l1 g8 f1 r23 d8 l37 be1"
             Draw "p7,7 bd1 br48"
          Return
      
          one:
            wide% = 38
            Draw "br14 r1 l1 u38 h1 g4 l1 g1 l1 g1 l1 g1 l2 g1 l1 u8 e1 r2 e1 r1"
            Draw " e1 r1 e2 r1 e5 u1 e1 u1 r8 d53 l9 be2"
            Draw "p7,7 bd2 br20"
          Return
      
      
          zero:
             wide% = 49
             DRAW "br15 bd1 u1 l3 h1 l1 h1 l1 h5 u1 h1 u2 h1 u6 h1 u13 e1 u5"
             Draw "e1 u1 e1 u2 e1 u1 e5 r2 e1 r3 e1 r5 f1 r3 f1 r1 f1 r1"
             Draw "F4 d1 f1 d1 f1 d3 f1 d5 f1 d11 g1 d5 g1 d3 g1 d1 g1 d1"
             Draw "g5 l1 g1 l3 g1 l6 bu8 u1 h4 u3 h1 u20 e1 u3 e1 u1 e3 r5"
             Draw "f4 d3 f1 d21 g1 d3 g4 l4 bd1"
             Draw "p7,7 bd8 br32"
         return
      
      
          nine:
             wide% = 48
             Draw "br12 bd 1u1 l3 h1 l1 h5 u1 h1 u2 h1 r3 h1 r6 f1 d1 f3 r5"
             Draw "e5 u2 e1 u5 h1 g1 l1 g1 l1 g1 l9 h1 l2 h1 l1 h4 u1 h1 u1"
             Draw "h1 u2 h1 u6 e1 u3 e1 u1 e1 u1 e5 r1 e1 r1 e1 r4 e1 r3"
             draw "f1 r4 f1 r1 f1 r1 f6 d2 f1 d2 f1 d4 f1 d12 g1 d5 g1 d2"
             Draw "g1 d1 g1 d1 g5 l1 g1 l1 g1 l3 g1 l7 bu26 u1 h3 u1"
             Draw "h1 u7 e1 u1 e4 r5 f1 r1 f4 d9 g1 d1 g3 l1 g1 l3 h1 l1"
             draw "bd1"
             Draw "p7,7 bd25 br33"
          Return



      ------------------

      Comment


      • #4
        Thanks - this is what I wanted, although I also found GPRINT under the "Downloads" / PB/DOS / Graphics section of the PowerBasic web site.
        Originally posted by Mel Bishop:
        I'm not quite sure I understand what you are looking for. As it
        * Excessive quoting deleted by Administrator!!!

        Comment


        • #5
          Glad to be of help. Here's a couple of function that may be of
          use. Bin.2.Quad&&() converts a rather long binary string to a
          quad number and Binari$() converts a quad number to a rather
          long binary string (more that is built into PB). This will
          drastically reduce the size of your source code.
          Code:
          function bin.2.quad&&(tt$) public               
          	mm$ = ""                                
          	for x = len(tt$) to 1 step -1           
          	mm$ = mm$ + mid$(tt$,x,1)               
          	next x                                  
           						
          	for x = 1 to len(mm$)                   
          	  z$ = mid$(mm$,x,1)                      
          	  if z$ = "1" then                        
          	    t&& = t&& + (2 ^ (x-1))                 
          	  end if                                  
          	next x                                  
          	bin.2.quad&& = t&&                      
          end function                            
           						
          function binari$(t&&)                           
          	if t&& = 0 then                         
          	  binari$ = "0"                          
          	  exit function                         
          	end if                               
          						
          	p&& = t&& + 1                           
          	te$ = ""                               
          	test&& = 1                            
          						
          	do until test&& => p&&                  
          	 test&& = test&& * 2                    
          	loop                                  
          						
          	test&& = test&& / 2                     
          						
          	do until test&& = 0                     
          	  if test&& < p&& then                    
          	    te$ = te$ + "1"                        
          	    p&& = p&& - test&&                    
          	  else                                 
          	    te$ = te$ + "0"                     
          	  end if                             
                    test&& = test&& / 2                  
          	loop                                    
          						
          	binari$ = te$                           
          end function
          ------------------
          There are no atheists in a fox hole or the morning of a math test.
          If my flag offends you, I'll help you pack.

          Comment


          • #6

            'This will display latter in any size.

            'gary.bas by gary russell
            DECLARE SUB NORMAL0 ()
            DECLARE SUB LAYER2 ()
            DECLARE SUB LAYER1 ()
            DECLARE SUB TRANSLATE ()
            DECLARE SUB LETTERS ()

            DEFINT A-Z '
            DIM P$(122)
            SHARED P$()
            SHARED P$, SIZE$
            SHARED C1$, C2$, C3$
            SHARED C4$, BGC, DOT$
            SHARED SPACING$, WORD$
            SHARED PFT, PFL
            CALL LETTERS '
            SCREEN 9 '''''''''''''''''''''

            EFFECT1:
            LINE (1, 1)-(590, 72), 4, BF
            LINE (202, 3)-(588, 70), 1, BF
            WORD$ = "GARY RUSSELL" '
            SPACING$ = "L1"
            SIZE$ = "24" '
            DOT$ = "N" '
            BGC = 4 '
            CALL TRANSLATE '
            C1$ = "C14": C2$ = "C 8": C3$ = "C 0": C4$ = "C15" '
            PFT = 52: PFL = 13: CALL LAYER1 '
            PFT = 52: PFL = 9: CALL LAYER1 '
            PFT = 51: PFL = 10: CALL LAYER1 '
            PFT = 51: PFL = 11: CALL LAYER1
            t$ = INPUT$(1)

            EFFECT2:
            LINE (3, 78)-(494, 130), 13, B
            LINE (5, 80)-(492, 128), 7, BF
            WORD$ = "DAVID RUSSELL"
            SPACING$ = "L1"
            SIZE$ = "20"
            DOT$ = "N"
            BGC = 7
            CALL TRANSLATE
            C1$ = "C 5": C2$ = "C 8": C3$ = "C 8": C4$ = "C 8"
            PFT = 117: PFL = 17: CALL LAYER2
            PFT = 117: PFL = 15: CALL LAYER2
            PFT = 117: PFL = 13: CALL LAYER2
            C1$ = "C 5": C2$ = "C 0": C3$ = "C 0": C4$ = "C15"
            PFT = 115: PFL = 19: CALL LAYER2
            PFT = 115: PFL = 18: CALL LAYER2
            t$ = INPUT$(1)

            EFFECT3:
            LINE (3, 136)-(178, 192), 8, BF
            LINE (3, 136)-(415, 192), 9, B
            WORD$ = "JAMES RUSSELL"
            SPACING$ = "L1"
            SIZE$ = "16"
            DOT$ = "N"
            BGC = 8
            CALL TRANSLATE
            C1$ = "C 0": C2$ = "C 0": C3$ = "C 0": C4$ = "C 0"
            PFT = 167: PFL = 12: CALL LAYER1
            C1$ = "C 8": C2$ = "C 7": C3$ = "C15": C4$ = "C 0"
            PFT = 167: PFL = 13: CALL LAYER2
            PFT = 167: PFL = 12: CALL LAYER2
            PFT = 166: PFL = 13: CALL LAYER2
            PFT = 167: PFL = 11: CALL LAYER2
            t$ = INPUT$(1)

            EFFECT4:
            LINE (2, 206)-(636, 303), 12, BF
            LINE (1, 204)-(639, 306), 15, B
            LINE (19, 280)-(620, 280), 14, B
            LINE (20, 281)-(619, 281), 0, B
            LINE (21, 282)-(618, 282), 0, B
            WORD$ = "JOHN RUSSELL"
            SPACING$ = "L1"
            SIZE$ = "28"
            DOT$ = "N"
            BGC = 12
            CALL TRANSLATE
            C1$ = "C12": C2$ = "C 4": C3$ = "C 0": C4$ = "C 0"
            PFT = 266: PFL = 24: CALL LAYER1
            C1$ = "C12": C2$ = "C 4": C3$ = "C 0": C4$ = "C 0"
            PFT = 265
            FOR XX = 25 TO 33 STEP 2
            PFL = XX: CALL LAYER1
            PFT = PFT - 1
            NEXT
            C1$ = "C15": C2$ = "C 6": C3$ = "C 6": C4$ = "C14"
            PFT = 259: PFL = 40: CALL LAYER1
            PFT = 259: PFL = 36: CALL LAYER1
            PFT = 258: PFL = 38: CALL LAYER1
            t$ = INPUT$(1)

            ALPHABET:
            LINE (1, 315)-(639, 331), 7, B
            LINE (2, 316)-(638, 330), 15, BF
            WORD$ = " THE RUSSELL BOYS MOMY JULIE ANN RUSSELL"
            SPACING$ = "R0"
            SIZE$ = "4"
            DOT$ = "N"
            BGC = 15
            CALL TRANSLATE
            C1$ = "C 1"
            PFT = 324: PFL = 5: CALL NORMAL0
            t$ = INPUT$(1)

            SUB LAYER1
            PSET (PFL + 2, PFT + 5), BGC: DRAW C3$ + P$
            PSET (PFL + 0, PFT + 5), BGC: DRAW C3$ + P$
            PSET (PFL + 1, PFT + 5), BGC: DRAW C3$ + P$
            PSET (PFL + 0, PFT + 4), BGC: DRAW C3$ + P$
            PSET (PFL + 1, PFT + 2), BGC: DRAW C2$ + P$
            PSET (PFL + 2, PFT + 4), BGC: DRAW C1$ + P$
            PSET (PFL + 3, PFT + 3), BGC: DRAW C4$ + P$
            PSET (PFL + 3, PFT + 2), BGC: DRAW C2$ + P$
            PSET (PFL + 4, PFT + 4), BGC: DRAW C2$ + P$
            PSET (PFL + 5, PFT + 2), BGC: DRAW C3$ + P$
            PSET (PFL + 5, PFT + 3), BGC: DRAW C2$ + P$
            PSET (PFL + 4, PFT + 3), BGC: DRAW C1$ + P$
            END SUB

            SUB LAYER2
            PSET (PFL + 0, PFT + 5), BGC: DRAW C4$ + P$
            PSET (PFL + 0, PFT + 3), BGC: DRAW C4$ + P$
            PSET (PFL + 2, PFT + 3), BGC: DRAW C1$ + P$
            PSET (PFL + 1, PFT + 2), BGC: DRAW C1$ + P$
            PSET (PFL + 2, PFT + 4), BGC: DRAW C4$ + P$
            PSET (PFL + 3, PFT + 3), BGC: DRAW C3$ + P$
            PSET (PFL + 3, PFT + 2), BGC: DRAW C1$ + P$
            PSET (PFL + 4, PFT + 4), BGC: DRAW C1$ + P$
            PSET (PFL + 5, PFT + 2), BGC: DRAW C1$ + P$
            PSET (PFL + 5, PFT + 3), BGC: DRAW C2$ + P$
            PSET (PFL + 4, PFT + 3), BGC: DRAW C1$ + P$
            END SUB

            SUB LETTERS
            P$(32) = "BR4" 'space
            P$(65) = "BD1U7E1R3F1D3L5R5D4BR4BU1" 'A
            P$(66) = "BD1U8R4F1D2G1L4R4F1D2G1L4BU1BR9" 'B
            P$(67) = "BD1BU1U6E1R3F1BD6G1L3H1F1R3BR4BU1" 'C
            P$(68) = "BD1U8R4F1D6G1L4BR9BU1" 'D
            P$(69) = "BD1U8R4L4D4R3L3D4R4BU1BR4" 'E
            P$(70) = "BD1U8R5L5D4R4L4D4BR8BU1" 'F
            P$(71) = "BD1BU1U6E1R3F1BD6G1L3H1F1R3E1U3L2RD3BR4" 'G
            P$(72) = "BD1U8D4R4U4D8BR4BU1" 'H
            P$(73) = "BD1BR1U8L1R2L1D8L1R2BR4BU1" 'I
            P$(74) = "BD1BU1F1R2E1U7L1R2L1D7BR5" 'J
            P$(75) = "BD1BU8D8U4R1E4G4F4BR4BU1" 'K
            P$(76) = "BD1BU8D8R4BU1BR4" 'L
            P$(77) = "BD1U7E1R2F1D7U7E1R2F1D7BU1BR4" 'M
            P$(78) = "BD1U8F7D1U8D8BR4BU1" 'N
            P$(79) = "BD1BU1U6E1R3F1BD6G1L3H1BR5U6D6BR4" 'O
            P$(80) = "BD1U8R4F1D2G1L4D4BR9BU1" 'P
            P$(81) = "BD1BU1U6E1R3F1BD6G1L3H1BR5U6BL3BD5F3BG3BR7BU5" 'Q
            P$(82) = "BD1U8R4F1D2G1L4R1F4BR4BU1" 'R
            P$(83) = "BD1BU5U2E1R3F1BD2BL5F1R3F1D2G1L3H1BR9" 'S
            P$(84) = "BR3BD1BU8L4R6L3D8BR6BU1" 'T
            P$(85) = "BD1BU1U7D7F1R3E1U7D7BR4" 'U
            P$(86) = "BD1BU8D5F2D1U1E2U5D5BR5BD2" 'V 'P$(86) = "BD1BU8D5F2D1U1E2U5D5BR5BD2"
            P$(87) = "BD1BU1U7D7F1R2E1U7D7F1R2E1U7D7BD1BR4BU1" 'W
            P$(88) = "BD1BU8D1F3E3U1D1G6D1U1E3F3D1BU1BR5" 'X
            P$(89) = "BL1BU5U2D2F3E3U2D2G3D3BU1BR7" 'Y
            P$(90) = "BU7R5D2G5D1R5BR4BU1" 'Z
            END SUB

            SUB NORMAL0
            PSET (PFL + 0, PFT + 0), BGC: DRAW C1$ + P$
            END SUB

            SUB TRANSLATE
            SPACING$ = "B" + UCASE$(SPACING$)
            SIZE$ = "S" + UCASE$(SIZE$)
            P$(105) = "BR0BD1U6BU2BD7BR4" 'i
            P$(106) = "BR1BD1U6BU2BD7D3G1L2BU4BR8" 'j
            IF DOT$ = "Y" THEN P$(105) = "BR0BD1U6BU1U1BD7BR4"
            IF DOT$ = "Y" THEN P$(106) = "BR1BD1U6BU1U1BD7D3G1L2BU4BR8"
            P$ = SIZE$
            FOR J = 1 TO LEN(WORD$)
            P$ = P$ + P$(ASC(MID$(WORD$, J, 1))) + SPACING$
            NEXT J
            END SUB



            ------------------

            Comment

            Working...
            X