Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - madscijr

Pages: [1] 2 3 4
1
I'm looking for a way to automate selecting which file details (columns) Windows Explorer displays for a given path. (For example Frame Width, Frame Height, Frame Rate, Date Created, etc.)

The manual way to do this in Windows is to right-click the column header row in Explorer and click More, then scroll through the many options and check off each one you want to see, then click OK, and wait while Windows refreshes the Explorer window.

This method is quite unwieldy when working with files across many subdirectories and I'm wondering how this might be automated or scripted to accept a path as input, and the program either opens the path in an Explorer window showing the desired columns, or updates the system default for that path (in the registry or wherever it is that would need to be updated) so that when you do open it in Explorer, the desired columns are visible. (Bonus points for also programatically setting the column order!)

Any ideas on accomplishing this in QB64?

2
Quick question (though I am not under the illusion there may be a quick answer! lol).

If you have a numberic variable (Integer, Long, etc.), how might you convert it to a string like with
Code: QB64: [Select]
  1. MyString$ = _Trim$(Str$(MyNumber))
except formatted like wtih
Code: QB64: [Select]
  1. Print Using "###,###,###,###,###,###"; MyNumber
Is there a command for this, or do you just have to write a function to do it?
Example / attempt below. I defined a custom function to format the number.
(Actually, I had to define 3 separate functions for Integer, Long, and _Integer64. So a bonus question: is there a way to do that all with one function?)

Help me, Obi Wan!
Code: QB64: [Select]
  1. ' Question 1: Is there an alternative to Print Using?
  2.  
  3. Dim MyInteger%
  4. Dim MyLong&
  5. Dim My_Integer64&&
  6.  
  7. 'Screen _NewImage(1024, 768, 32): _ScreenMove 0, 0
  8.  
  9. Print "Attempt to format integer:"
  10. MyInteger% = 32767
  11. Print "MyInteger%=" + _Trim$(Str$(MyInteger%))
  12. Print "FormatInteger$(" + _Trim$(Str$(MyInteger%)) + ") returns " + Chr$(34) + FormatInteger$(MyInteger%) + Chr$(34)
  13. Print Using "MyInteger with PrintUsing: ###,###,###,###,###,###"; MyInteger%
  14. Print "PRESS ANY KEY TO CONTINUE": Sleep
  15.  
  16. MyLong& = 2147483647
  17. Print "MyLong&=" + _Trim$(Str$(MyLong&))
  18. Print "FormatLong$(" + _Trim$(Str$(MyLong&)) + ") returns " + Chr$(34) + FormatLong$(MyLong&) + Chr$(34)
  19. Print Using "MyLong with PrintUsing: ###,###,###,###,###,###"; MyLong&
  20. Print "PRESS ANY KEY TO CONTINUE": Sleep
  21.  
  22. My_Integer64&& = 9223372036854775807
  23. Print "My_Integer64&&=" + _Trim$(Str$(My_Integer64&&))
  24. Print "Format_Integer64$(" + _Trim$(Str$(My_Integer64&&)) + ") returns " + Chr$(34) + Format_Integer64$(My_Integer64&&) + Chr$(34)
  25. Print Using "My_Integer64 with PrintUsing: ###,###,###,###,###,###,###"; My_Integer64&&
  26. Print "PRESS ANY KEY TO CONTINUE": Sleep
  27.  
  28. 'Screen 0
  29.  
  30. ' Question 2 (BONUS): Is there a way to define just one function that receives
  31. '                     a variant (like in VB6/VBA) so you don't have to define
  32. '                     seperate nearly identical functions for each type?
  33.  
  34. Function FormatInteger$ (MyValue%)
  35.     Dim StringValue$: StringValue$ = ""
  36.     Dim TempString$: TempString$ = _Trim$(Str$(MyValue%))
  37.     Dim iLoop As Long
  38.     Dim iCount As Integer: iCount = 0
  39.     'Print "TempString$=" + TempString$
  40.     For iLoop = Len(TempString$) To 1 Step -1
  41.         iCount = iCount + 1: If iCount > 3 Then StringValue$ = "," + StringValue$: iCount = 1 ': Print "added comma: " + StringValue$
  42.         StringValue$ = Mid$(TempString$, iLoop, 1) + StringValue$ ': Print "next value: " + StringValue$
  43.     Next iLoop
  44.     FormatInteger$ = StringValue$
  45. End Function ' FormatInteger$
  46.  
  47. Function FormatLong$ (MyValue&)
  48.     Dim StringValue$: StringValue$ = ""
  49.     Dim TempString$: TempString$ = _Trim$(Str$(MyValue&))
  50.     Dim iLoop As Long
  51.     Dim iCount As Integer: iCount = 0
  52.     'Print "TempString$=" + TempString$
  53.     For iLoop = Len(TempString$) To 1 Step -1
  54.         iCount = iCount + 1: If iCount > 3 Then StringValue$ = "," + StringValue$: iCount = 1 ': Print "added comma: " + StringValue$
  55.         StringValue$ = Mid$(TempString$, iLoop, 1) + StringValue$ ': Print "next value: " + StringValue$
  56.     Next iLoop
  57.     FormatLong$ = StringValue$
  58. End Function ' FormatLong$
  59.  
  60. Function Format_Integer64$ (MyValue&&)
  61.     Dim StringValue$: StringValue$ = ""
  62.     Dim TempString$: TempString$ = _Trim$(Str$(MyValue&&))
  63.     Dim iLoop As Long
  64.     Dim iCount As Integer: iCount = 0
  65.     'Print "TempString$=" + TempString$
  66.     For iLoop = Len(TempString$) To 1 Step -1
  67.         iCount = iCount + 1: If iCount > 3 Then StringValue$ = "," + StringValue$: iCount = 1 ': Print "added comma: " + StringValue$
  68.         StringValue$ = Mid$(TempString$, iLoop, 1) + StringValue$ ': Print "next value: " + StringValue$
  69.     Next iLoop
  70.     Format_Integer64$ = StringValue$
  71. End Function ' Format_Integer64$
  72.  

3
QB64 Discussion / how to time something (ie do loop for n seconds)
« on: February 23, 2022, 11:01:09 am »
Thanks to @SMcNeill who taught me a little something:
"How do you time QB64 to do something for a certain amount of time?"

I thought maybe an example would come in handy for other QB64 newbies or users who haven't seen this.
(It certainly came in handy for me.)

Code: QB64: [Select]
  1.     ' DO SOMETHING FOR 3 SECONDS
  2.     t# = Timer + 3
  3.     Do
  4.         '(SOMETHING)
  5.     Loop Until Timer > t#


Original thread this came from, where Steve explains hardware images, which speed up graphics in QB64 big time:
https://qb64forum.alephc.xyz/index.php?topic=4674.0

4
QB64 Discussion / Nintendo Switch or Wii or 32k Atari 2600 support?
« on: February 20, 2022, 10:57:30 am »
I'm just curious how impossible it would be to get QB64 to compile applications for these platforms? I'd imagine you would need the equivalent C routines and libraries (and for Atari VCS, kernel routines and some kind of i/o layer). It would just be neat to be able to make games for these consoles in QB64...

5
I'm looking to find the fastest way to draw 2-color tiles to the screen,
where the tiles are 8x8, and the 2 colors can be changed for each tile.
Here is my test code, comparing various methods,
like line, pset, putimage w/color swap,
pre-calculated screen & tileset coordinates,
alongside various square and circle routines.
I even tried a version that uses pre-calculated bit patterns for each of the 8 lines in a tile.
That version was slightly slower than the putimage with swap colors.

The fastest drawing method by far is the simple
Code: QB64: [Select]
  1. Line (iX, iY)-(iX2, iY2), fgColor, BF ' Draw a solid box
which is 10-20x faster than the various tile drawing methods.
The plain circle command was pretty fast too.
The fastest method to draw a shape (a vector shape, not a raster tile)
was with the line command, however I am looking to draw 8x8 raster tiles.

The version which pre-calculates the tilesheet position and screen coordinates was surprisingly NOT much faster than without.

Any thoughts on a faster way to achieve drawing an 8x8 2-color tile (with variable colors)?

Here is the test program in case you want to see it in action:

Code: QB64: [Select]
  1. ' What is the fastest way to draw a 2-color 8x8 tile,
  2. ' where the 2 colors (foreground, background)
  3. ' are variable?
  4.  
  5. ' ################################################################################################################################################################
  6. ' #CONSTANTS = GLOBAL CONSTANTS
  7.  
  8. ' BOOLEAN VALUES
  9. Const FALSE = 0
  10. Const TRUE = Not FALSE
  11.  
  12. ' ################################################################################################################################################################
  13. ' #UDT #TYPES = USER DEFINED TYPES
  14.  
  15. ' UDT TO HOLD COLOR CODE INFO
  16. Type ColorType
  17.     name As String
  18.     value As _Unsigned Long
  19. End Type ' ColorType
  20.  
  21. ' UDT FOR PRECALCULATED TILESHEET
  22. Type TileSheetMapType
  23.     xStart As Integer
  24.     xEnd As Integer
  25.     yStart As Integer
  26.     yEnd As Integer
  27.  
  28. ' UDT FOR PRECALCULATED TILE MAP
  29. Type TileMapType
  30.     xPos As Integer
  31.     yPos As Integer
  32.  
  33. ' ################################################################################################################################################################
  34. ' #VARS = GLOBAL VARIABLES
  35.  
  36. ' ENABLE / DISABLE DEBUG CONSOLE
  37. Dim Shared m_bDebug As Integer: m_bDebug = TRUE
  38.  
  39. ' BASIC PROGRAM METADATA
  40. Dim Shared m_ProgramPath$: m_ProgramPath$ = Left$(Command$(0), _InStrRev(Command$(0), "\"))
  41. Dim Shared m_ProgramName$: m_ProgramName$ = Mid$(Command$(0), _InStrRev(Command$(0), "\") + 1)
  42.  
  43. ' USED BY TIMER
  44. Dim Shared m_iTimerCount As Long
  45.  
  46. ' =============================================================================
  47. ' LOCAL VARIABLES
  48. Dim in$
  49.  
  50. ' ****************************************************************************************************************************************************************
  51. ' ACTIVATE DEBUGGING WINDOW
  52. If m_bDebug = TRUE Then
  53.     $Console
  54.     _Delay 4
  55.     _Console On
  56.     _Echo "Started " + m_ProgramName$
  57.     _Echo "Debugging on..."
  58. ' ****************************************************************************************************************************************************************
  59.  
  60. ' =============================================================================
  61. ' START THE MAIN ROUTINE
  62. main
  63. 'GeneratePset8BitPatternCode
  64.  
  65. ' =============================================================================
  66. ' FINISH
  67. 'Print m_ProgramName$ + " finished."
  68. 'Input "Press <ENTER> to continue", in$
  69.  
  70. ' ****************************************************************************************************************************************************************
  71. ' DEACTIVATE DEBUGGING WINDOW
  72. If m_bDebug = TRUE Then
  73. ' ****************************************************************************************************************************************************************
  74.  
  75. System ' return control to the operating system
  76.  
  77. ' /////////////////////////////////////////////////////////////////////////////
  78.  
  79. Sub Main
  80.     Dim sError As String : sError = ""
  81.         Dim bContinue As Integer : bContinue = TRUE
  82.        
  83.         ' FOR SCREEN AND GRAPHICS
  84.         Dim imgScreen&
  85.     Dim imgTiles&
  86.    
  87.         ' FOR PRECALCULATED TILESHEET
  88.         ReDim arrTileSheet8Map(255) As TileSheetMapType
  89.         ReDim arrTile8Map(128, 96) As TileMapType
  90.         dim TileCount%
  91.         dim TilesheetCols%
  92.         dim TilesheetRows%
  93.         dim tileWidthPx%
  94.         dim tileHeightPx%
  95.         dim xOffset%
  96.         dim yOffset%
  97.         dim numTilesX%
  98.         dim numTilesY%
  99.        
  100.         ' TEST COUNTS
  101.         Dim iDrawBoxLineCount As Long : iDrawBoxLineCount = 0
  102.         Dim iDrawBoxDrawCount As Long : iDrawBoxDrawCount = 0
  103.         Dim iDrawBoxPsetCount As Long : iDrawBoxPsetCount = 0
  104.         Dim iCircleCount1 As Long : iCircleCount1 = 0
  105.         Dim iCircleCount2 As Long : iCircleCount2 = 0
  106.         Dim iCircleCount3 As Long : iCircleCount3 = 0
  107.         Dim iDraw1Count As Long : iDraw1Count = 0
  108.         Dim iDraw2Count As Long : iDraw2Count = 0
  109.         Dim iPsetCount As Long : iPsetCount = 0
  110.         Dim iLineCount As Long : iLineCount = 0
  111.         Dim iDrawColorTileCount As Long : iDrawColorTileCount = 0
  112.         Dim iDrawPrecalcColorTileCount As Long : iDrawPrecalcColorTileCount = 0
  113.         Dim iTileCount3 As Long : iTileCount3 = 0
  114.         Dim iTileCount4 As Long : iTileCount4 = 0
  115.         Dim iTileCount5 As Long : iTileCount5 = 0
  116.        
  117.         ' OTHER TEST VARIABLES
  118.         Dim iMS As Integer : iMS = 0
  119.         Dim iStartX As Integer : iStartX = 0
  120.         Dim iMaxX As Integer : iMaxX = 1024-8
  121.         Dim iStartY As Integer : iStartY = 0
  122.         Dim iMaxY As Integer : iMaxY = 1
  123.         Dim iX As Integer : iX = iStartX
  124.         Dim iY As Integer : iY = iStartY
  125.         Dim arrColor(0 To 12) As _UNSIGNED Long
  126.         Dim iColor As Integer : iColor = 1
  127.         Dim iStartColor As Integer
  128.         Dim iEndColor As Integer
  129.         Dim timerhandle%
  130.         Dim iStartLine As Integer
  131.         Dim bgColor As _UNSIGNED Long
  132.         Dim iTestLines As Integer
  133.         Dim iTimerMax As Integer
  134.         Dim iNumTests As Integer: iNumTests = 14
  135.         Dim iDiameter As Integer : iDiameter = 7
  136.         Dim iNextTile As Integer : iNextTile = 65
  137.         Dim iOffsetX As Integer : iOffsetX = 0
  138.         Dim iOffsetY As Integer : iOffsetY = 0
  139.         Dim iRows As Integer
  140.         Dim iCols As Integer
  141.         Dim iRow As Integer
  142.         Dim iCol As Integer
  143.         Dim iStartRow As Integer
  144.         Dim iStartCol As Integer
  145.         Dim iMaxRow As Integer
  146.         Dim iMaxCol As Integer
  147.         ReDim arrColor2(-1) As ColorType
  148.        
  149.         ' TILE V2 VERSION
  150.         ReDim arrTileData(0 to 255, 0 To 7, 0 To 7) As Integer
  151.        
  152.         ' TILE V3 VERSION
  153.         ReDim arrTileBytes(0 to 255, 0 To 7) As Integer
  154.        
  155.         ' ================================================================================================================================================================
  156.         ' INIT VALUES
  157.         ' ================================================================================================================================================================
  158.         if len(sError)=0 then
  159.                 iTestLines = 3
  160.                 iTimerMax = 3
  161.                 arrColor(0) = cBlack
  162.                 arrColor(1) = cRed
  163.                 arrColor(2) = cLime
  164.                 arrColor(3) = cBlue
  165.                 arrColor(4) = cMagenta
  166.                 arrColor(5) = cYellow
  167.                 arrColor(6) = cOrange
  168.                 arrColor(7) = cGray
  169.                 arrColor(8) = cSilver
  170.                 arrColor(9) = cWhite
  171.                 arrColor(10) = cDodgerBlue
  172.                 arrColor(11) = cCyan
  173.                 arrColor(12) = cDeepPurple
  174.                 bgColor = arrColor(0)
  175.         end if
  176.    
  177.         ' ================================================================================================================================================================
  178.     ' INITIALIZE GRAPHICS TILES
  179.     ' ================================================================================================================================================================
  180.     if len(sError)=0 then
  181.         ' LOAD TILES (16 cols x 16 rows of 8x8 tiles)
  182.         ' LOAD TILES FROM TEXT DEFINITIONS IN Sub GetTileText
  183.         sError = GetTiles$(imgTiles&, cBlack, cEmpty)
  184.     end if
  185.        
  186.         ' ================================================================================================================================================================
  187.     ' INITIALIZE GRAPHICS TILES v2
  188.     ' ================================================================================================================================================================
  189.         if len(sError)=0 then
  190.                 sError = GetTiles2$(arrTileData())
  191.         end if
  192.        
  193.         ' ================================================================================================================================================================
  194.     ' INITIALIZE GRAPHICS TILES v3
  195.     ' ================================================================================================================================================================
  196.         if len(sError)=0 then
  197.                 sError = GetTiles3$(arrTileBytes())
  198.         end if
  199.        
  200.         ' ================================================================================================================================================================
  201.     ' PRECALCULATE TILESHEET AND SCREEN POSITIONS
  202.     ' ================================================================================================================================================================
  203.     if len(sError)=0 then
  204.                 ' COMPUTE LOCATIONS FOR 16X16 TILESHEET + SCREEN (FOR GRAPHICS)
  205.                 TileCount% = 256 ' # OF TILES
  206.                 TilesheetCols% = 16 ' # OF COLUMNS ON SOURCE TILE SHEET
  207.                 TilesheetRows% = 16 ' # OF ROWS    ON SOURCE TILE SHEET
  208.                 tileWidthPx% = 8 ' TILE WIDTH
  209.                 tileHeightPx% = 8 ' TILE HEIGHT
  210.                 xOffset% = 0 ' SCREEN OFFSET FROM LEFT
  211.                 yOffset% = 0 ' CREEN OFFSET FROM TOP
  212.                 numTilesX% = 128 ' HOW MANY TILES ACROSS
  213.                 numTilesY% = 96 ' HOW MANY TILES UP/DOWN
  214.                 ComputeTileLocations arrTileSheet8Map(), arrTile8Map(), TileCount%, TilesheetCols%, TilesheetRows%, tileWidthPx%, tileHeightPx%, xOffset%, yOffset%, numTilesX%, numTilesY%
  215.         end if
  216.        
  217.         ' ================================================================================================================================================================
  218.     ' LOAD BACKGROUND IMAGE
  219.     ' ================================================================================================================================================================
  220.     if len(sError)=0 then
  221.         imgScreen& = _NewImage(1024, 768, 32)
  222.         Screen imgScreen& : _ScreenMove 0, 0
  223.         Cls , bgColor ' set the background color
  224.     end if
  225.        
  226.         ' ================================================================================================================================================================
  227.         ' TILE TEST 2
  228.         ' ================================================================================================================================================================
  229.     IF TRUE=FALSE THEN
  230.         'if len(sError)=0 then
  231.         AddColors arrColor2()
  232.                 iColor = lbound(arrColor2)+2
  233.                
  234.                 iCols = _Width(0) \ _FontWidth
  235.         iRows = _Height(0) \ _FontHeight
  236.                 iStartX = iCols * 0.25
  237.                 iMaxX = iCols * 0.75
  238.                 iStartY = iRows * 0.25
  239.                 iMaxY = iRows * 0.75
  240.                 iX = iStartX
  241.                 iY = iStartY
  242.                 for iNextTile = 0 to 255
  243.                         'DrawColorTile imgScreen&, imgTiles&, iNextTile, _
  244.                         '       arrColor2(iColor).value, bgColor, _
  245.                         '       iX, iY, _
  246.                         '       iOffsetX, iOffsetY
  247.                        
  248.                         DrawTileBoxLine imgScreen&, arrTileData(), _
  249.                             iNextTile, iX, iY, arrColor2(iColor).value, bgColor
  250.                        
  251.                         iX = iX + 1
  252.                         if iX > iMaxX then
  253.                                 iX = iStartX
  254.                                 iY = iY + 1
  255.                                 if iY > iMaxY then Exit For
  256.                         end if
  257.                         iColor = iColor + 1
  258.                         if iColor >= ubound(arrColor2) then iColor = lbound(arrColor2)+2
  259.                 next iNextTile
  260.                
  261.                 bContinue = FALSE
  262.     end if
  263.        
  264.         ' ================================================================================================================================================================
  265.         ' BEGIN RUN TESTS
  266.         ' ================================================================================================================================================================
  267.         if len(sError)=0 and bContinue = TRUE then
  268.         'if len(sError)=0 then
  269.                 ' SETUP TIMER + INITIALIZE TESTS
  270.                 timerhandle% = _FreeTimer ' get a timer number from _FREETIMER ONLY!
  271.                 On Timer(timerhandle%, 1) CheckTime
  272.                 Timer(timerhandle%) On
  273.                
  274.                 iStartLine = 0
  275.                 iCols = _Width(0) \ _FontWidth
  276.         iRows = _Height(0) \ _FontHeight
  277.                 iStartX = _Width(0) * 0.25 ' iCols * 0.25
  278.                 iMaxX = _Width(0) * 0.75 ' iCols * 0.75
  279.                 'iStartY = iRows * 0.25
  280.                 'iMaxY = iRows * 0.75
  281.                
  282.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  283.                 ' OTHER METHODS?
  284.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  285.                 ' TO TRY:
  286.                 ' 4-bit pattern (hexidecimal)?
  287.                 ' 64-bit pattern (would be lots of code, 4096 routines!)
  288.                
  289.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  290.                 ' TEST COLOR TILES - PSET 8 BYTE 8-BIT PATTERN
  291.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  292.                 iStartLine = iStartLine + 1
  293.                 Locate iStartLine, 1: Print "Testing DrawTileBitPattern8PSET..."
  294.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  295.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  296.         iStartColor = 1: iEndColor = 3 : iColor = iStartColor
  297.                
  298.                 iNextTile = 65
  299.                 iStartRow = (iStartY \ 8)
  300.                 iStartCol = (iStartX \ 8)
  301.                 iMaxRow = (iMaxY \ 8)
  302.                 iMaxCol = (iMaxX \ 8)
  303.                 iRow = iStartRow
  304.                 iCol = iStartCol
  305.                
  306.                 Do
  307.                         DrawTileBitPattern8PSET imgScreen&, arrTileBytes(), _
  308.                             iNextTile, iCol, iRow, arrColor(iColor), bgColor
  309.                         iTileCount5 = iTileCount5 + 1
  310.                         iCol = iCol + 1 : if iCol > iMaxCol then iCol = iStartCol : iRow = iRow + 1 : if iRow > iMaxRow then iRow = iStartRow
  311.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  312.                 Loop Until m_iTimerCount > iTimerMax
  313.                
  314.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  315.                 ' TEST COLOR TILES - PSET PIXEL-BY-PIXEL
  316.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  317.                 iStartLine = iStartLine + 1
  318.                 Locate iStartLine, 1: Print "Testing DrawTilePSET..."
  319.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  320.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  321.         iStartColor = 10: iEndColor = 12 : iColor = iStartColor
  322.                
  323.                 iNextTile = 65
  324.                 iStartRow = (iStartY \ 8)
  325.                 iStartCol = (iStartX \ 8)
  326.                 iMaxRow = (iMaxY \ 8)
  327.                 iMaxCol = (iMaxX \ 8)
  328.                 iRow = iStartRow
  329.                 iCol = iStartCol
  330.                
  331.                 Do
  332.                         DrawTilePSET imgScreen&, arrTileData(), _
  333.                             iNextTile, iCol, iRow, arrColor(iColor), bgColor
  334.                         iTileCount4 = iTileCount4 + 1
  335.                         iCol = iCol + 1 : if iCol > iMaxCol then iCol = iStartCol : iRow = iRow + 1 : if iRow > iMaxRow then iRow = iStartRow
  336.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  337.                 Loop Until m_iTimerCount > iTimerMax
  338.                
  339.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  340.                 ' TEST COLOR TILES - LINE PIXEL-BY-PIXEL
  341.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  342.                 iStartLine = iStartLine + 1
  343.                 Locate iStartLine, 1: Print "Testing DrawTileBoxLine..."
  344.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  345.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  346.         iStartColor = 4: iEndColor = 6 : iColor = iStartColor
  347.                
  348.                 iNextTile = 65
  349.                 iStartRow = (iStartY \ 8)
  350.                 iStartCol = (iStartX \ 8)
  351.                 iMaxRow = (iMaxY \ 8)
  352.                 iMaxCol = (iMaxX \ 8)
  353.                 iRow = iStartRow
  354.                 iCol = iStartCol
  355.                
  356.                 Do
  357.                         DrawTileBoxLine imgScreen&, arrTileData(), _
  358.                             iNextTile, iCol, iRow, arrColor(iColor), bgColor
  359.                         iTileCount3 = iTileCount3 + 1
  360.                         iCol = iCol + 1 : if iCol > iMaxCol then iCol = iStartCol : iRow = iRow + 1 : if iRow > iMaxRow then iRow = iStartRow
  361.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  362.                 Loop Until m_iTimerCount > iTimerMax
  363.                
  364.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  365.                 ' TEST COLOR TILES - PRECALCULATED
  366.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  367.                 iStartLine = iStartLine + 1
  368.                 Locate iStartLine, 1: Print "Testing DrawColorTileFast..."
  369.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  370.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  371.                
  372.         AddColors arrColor2()
  373.                 iStartColor = lbound(arrColor2)+2
  374.                 iEndColor = ubound(arrColor2)-2
  375.                 iColor = iStartColor
  376.                
  377.                 iNextTile = 65
  378.                 iStartRow = (iStartY \ 8) + 1
  379.                 iStartCol = (iStartX \ 8) + 1
  380.                 iMaxRow = (iMaxY \ 8) + 1
  381.                 iMaxCol = (iMaxX \ 8) + 1
  382.                 iRow = iStartRow
  383.                 iCol = iStartCol
  384.                 iStartColor = 10: iEndColor = 12 : iColor = iStartColor
  385.                
  386.                 Do
  387.                         DrawColorTileFast imgScreen&, imgTiles&, _
  388.                                 arrTileSheet8Map(), arrTile8Map(), _
  389.                                 tileWidthPx%, tileHeightPx%, _
  390.                                 iNextTile, arrColor2(iColor).value, bgColor, _
  391.                                 iCol, iRow
  392.                         iDrawPrecalcColorTileCount = iDrawPrecalcColorTileCount + 1
  393.                         iCol = iCol + 1 : if iCol > iMaxCol then iCol = iStartCol : iRow = iRow + 1 : if iRow > iMaxRow then iRow = iStartRow
  394.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  395.                 Loop Until m_iTimerCount > iTimerMax
  396.                
  397.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  398.                 ' TEST COLOR TILES
  399.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  400.                 iStartLine = iStartLine + 1
  401.                 Locate iStartLine, 1: Print "Testing DrawColorTile..."
  402.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  403.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  404.                
  405.         AddColors arrColor2()
  406.                 iStartColor = lbound(arrColor2)+2
  407.                 iEndColor = ubound(arrColor2)-2
  408.                 iColor = iStartColor
  409.                
  410.                 iNextTile = 65
  411.                 iStartRow = iStartY \ 8
  412.                 iStartCol = iStartX \ 8
  413.                 iMaxRow = iMaxY \ 8
  414.                 iMaxCol = iMaxX \ 8
  415.                 iRow = iStartRow
  416.                 iCol = iStartCol
  417.                 iStartColor = 1: iEndColor = 3 : iColor = iStartColor
  418.                
  419.                 Do
  420.                         DrawColorTile imgScreen&, imgTiles&, iNextTile, _
  421.                                 arrColor2(iColor).value, bgColor, _
  422.                                 iCol, iRow, _
  423.                                 iOffsetX, iOffsetY
  424.                         iDrawColorTileCount = iDrawColorTileCount + 1
  425.                         iCol = iCol + 1 : if iCol > iMaxCol then iCol = iStartCol : iRow = iRow + 1 : if iRow > iMaxRow then iRow = iStartRow
  426.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  427.                 Loop Until m_iTimerCount > iTimerMax
  428.                
  429.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  430.                 ' TEST BOXES - PSET
  431.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  432.                 iStartLine = iStartLine + 1
  433.                 Locate iStartLine, 1: Print "Testing DrawBoxPset..."
  434.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  435.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  436.                 iStartColor = 4: iEndColor = 6 : iColor = iStartColor
  437.                 Do
  438.                         DrawBoxPset iX, iY, 8, arrColor(iColor)
  439.                         iDrawBoxPsetCount = iDrawBoxPsetCount + 1
  440.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  441.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  442.                 Loop Until m_iTimerCount > iTimerMax
  443.                
  444.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  445.                 ' TEST BOXES - DRAW
  446.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  447.                 iStartLine = iStartLine + 1
  448.                 Locate iStartLine, 1: Print "Testing DrawBoxDraw..."
  449.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  450.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  451.                 iStartColor = 1: iEndColor = 3 : iColor = iStartColor
  452.                 Do
  453.                         DrawBoxDraw iX, iY, 8, arrColor(iColor)
  454.                         iDrawBoxDrawCount = iDrawBoxDrawCount + 1
  455.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  456.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  457.                 Loop Until m_iTimerCount > iTimerMax
  458.                
  459.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  460.                 ' TEST BOXES - LINE
  461.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  462.                 iStartLine = iStartLine + 1
  463.                 Locate iStartLine, 1: Print "Testing DrawBoxLine..."
  464.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  465.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  466.                 iStartColor = 7: iEndColor = 9 : iColor = iStartColor
  467.                 Do
  468.                         DrawBoxLine iX, iY, 8, arrColor(iColor)
  469.                         iDrawBoxLineCount = iDrawBoxLineCount + 1
  470.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  471.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  472.                 Loop Until m_iTimerCount > iTimerMax
  473.                
  474.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  475.                 ' TEST CIRCLES fcircTopLeft
  476.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  477.                 iStartLine = iStartLine + 1
  478.                 Locate iStartLine, 1: Print "Testing fcircTopLeft..."
  479.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  480.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  481.                 iStartColor = 1: iEndColor = 3 : iColor = iStartColor
  482.                 Do
  483.                         fcircTopLeft iX, iY, iDiameter, arrColor(iColor)
  484.                         iCircleCount1 = iCircleCount1 + 1
  485.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  486.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  487.                 Loop Until m_iTimerCount > iTimerMax
  488.                
  489.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  490.                 ' TEST BOXES - DrawCircleOutlineTopLeft
  491.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  492.                 iStartLine = iStartLine + 1
  493.                 Locate iStartLine, 1: Print "Testing DrawCircleOutlineTopLeft..."
  494.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  495.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  496.                 iStartColor = 4: iEndColor = 6 : iColor = iStartColor
  497.                 Do
  498.                         DrawCircleOutlineTopLeft iX, iY, iDiameter, arrColor(iColor), bgColor, 2
  499.                         iCircleCount2 = iCircleCount2 + 1
  500.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  501.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  502.                 Loop Until m_iTimerCount > iTimerMax
  503.                
  504.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  505.                 ' TEST BOXES - DrawCircleTopLeft
  506.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  507.                 iStartLine = iStartLine + 1
  508.                 Locate iStartLine, 1: Print "Testing DrawCircleTopLeft..."
  509.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  510.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  511.                 iStartColor = 7: iEndColor = 9 : iColor = iStartColor
  512.                 Do
  513.                         DrawCircleTopLeft iX, iY, iDiameter, arrColor(iColor)
  514.                         iCircleCount3 = iCircleCount3 + 1
  515.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  516.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  517.                 Loop Until m_iTimerCount > iTimerMax
  518.                
  519.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  520.                 ' TEST ARROWS - PSET
  521.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  522.                 iStartLine = iStartLine + 1
  523.                 Locate iStartLine, 1: Print "Testing PsetLeftArrow..."
  524.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  525.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  526.                 iStartColor = 1: iEndColor = 3 : iColor = iStartColor
  527.                 Do
  528.                         PsetLeftArrow iX, iY, arrColor(iColor)
  529.                         iPsetCount = iPsetCount + 1
  530.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  531.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  532.                 Loop Until m_iTimerCount > iTimerMax
  533.                
  534.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  535.                 ' TEST ARROWS - DrawLeftArrow1
  536.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  537.                 iStartLine = iStartLine + 1
  538.                 Locate iStartLine, 1: Print "Testing DrawLeftArrow1..."
  539.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  540.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  541.                 iStartColor = 4: iEndColor = 6 : iColor = iStartColor
  542.                 Do
  543.                         DrawLeftArrow1 iX, iY, arrColor(iColor)
  544.                         iDraw1Count = iDraw1Count + 1
  545.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  546.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  547.                 Loop Until m_iTimerCount > iTimerMax
  548.                
  549.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  550.                 ' TEST ARROWS - DrawLeftArrow2
  551.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  552.                 iStartLine = iStartLine + 1
  553.                 Locate iStartLine, 1: Print "Testing DrawLeftArrow2..."
  554.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  555.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  556.                 iStartColor = 7: iEndColor = 9 : iColor = iStartColor
  557.                 Do
  558.                         DrawLeftArrow2 iX, iY, arrColor(iColor)
  559.                         iDraw2Count = iDraw2Count + 1
  560.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  561.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  562.                 Loop Until m_iTimerCount > iTimerMax
  563.                
  564.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  565.                 ' TEST ARROWS - LINE
  566.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  567.                 iStartLine = iStartLine + 1
  568.                 Locate iStartLine, 1: Print "Testing DrawLeftArrowLine..."
  569.                 iStartY = (iNumTests*16)+(iStartLine*( (iTestLines+1)*8)): iMaxY = iStartY + (iTestLines*8)
  570.                 m_iTimerCount = 0 : iX = iStartX : iY = iStartY
  571.                 iStartColor = 10: iEndColor = 12 : iColor = iStartColor
  572.                 Do
  573.                         DrawLeftArrowLine iX, iY, arrColor(iColor)
  574.                         'DrawA iX, iY, arrColor(iColor)
  575.                         iLineCount = iLineCount + 1
  576.                         iX = iX + 8 : if iX > iMaxX then iX = iStartX : iY = iY + 8 : if iY > iMaxY then iY = iStartY
  577.                         iColor = iColor + 1 : if iColor > iEndColor then iColor = iStartColor
  578.                 Loop Until m_iTimerCount > iTimerMax
  579.                
  580.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  581.                 ' CONCLUDE TEST + SHOW RESULTS
  582.                 ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  583.                 Timer(timerhandle%) Off
  584.                 Timer(timerhandle%) Free ' release timer
  585.                
  586.                 Color cWhite, cBlack
  587.                 iRow = 1
  588.                
  589.                  
  590.                 Locate iRow, 1 : Print "DrawTileBitPattern8PSET : " + right$("          " + _Trim$(Str$(iTileCount5)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  591.                 Locate iRow, 1 : Print "DrawTilePSET            : " + right$("          " + _Trim$(Str$(iTileCount4)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  592.                 Locate iRow, 1 : Print "DrawTileBoxLine         : " + right$("          " + _Trim$(Str$(iTileCount3)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  593.                 Locate iRow, 1 : Print "DrawColorTileFast       : " + right$("          " + _Trim$(Str$(iDrawPrecalcColorTileCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  594.                 Locate iRow, 1 : Print "DrawColorTile           : " + right$("          " + _Trim$(Str$(iDrawColorTileCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  595.                 Locate iRow, 1 : Print "DrawBoxPset             : " + right$("          " + _Trim$(Str$(iDrawBoxPsetCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  596.                 Locate iRow, 1 : Print "DrawBoxDraw             : " + right$("          " + _Trim$(Str$(iDrawBoxDrawCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  597.                 Locate iRow, 1 : Print "DrawBoxLine             : " + right$("          " + _Trim$(Str$(iDrawBoxLineCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  598.                 Locate iRow, 1 : Print "fcircTopLeft            : " + right$("          " + _Trim$(Str$(iCircleCount1)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  599.                 Locate iRow, 1 : Print "DrawCircleOutlineTopLeft: " + right$("          " + _Trim$(Str$(iCircleCount2)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  600.                 Locate iRow, 1 : Print "DrawCircleTopLeft       : " + right$("          " + _Trim$(Str$(iCircleCount3)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  601.                 Locate iRow, 1 : Print "PsetLeftArrow           : " + right$("          " + _Trim$(Str$(iPSetCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  602.                 Locate iRow, 1 : Print "DrawLeftArrow1          : " + right$("          " + _Trim$(Str$(iDraw1Count)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  603.                 Locate iRow, 1 : Print "DrawLeftArrow2          : " + right$("          " + _Trim$(Str$(iDraw2Count)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  604.                 Locate iRow, 1 : Print "DrawLeftArrowLine       : " + right$("          " + _Trim$(Str$(iLineCount)), 10) + " in " + cstr$(iTimerMax) + " seconds." : iRow = iRow + 1
  605.         end if
  606.         ' ================================================================================================================================================================
  607.         ' END RUN TESTS
  608.         ' ================================================================================================================================================================
  609.        
  610.         ' SHOW ERRORS
  611.         if len(sError) > 0 then
  612.                 print sError
  613.         end if
  614.        
  615.         ' WAIT FOR USER TO PRESS A KEY
  616.         Sleep
  617.        
  618.     ' =============================================================================
  619.     ' FREE MEMORY
  620.     ' =============================================================================
  621.     'if len(sError)=0 then
  622.         Screen 0
  623.         IF imgScreen& < -1 OR imgScreen& > 0 THEN _FreeImage imgScreen&
  624.         IF imgTiles& < -1 OR imgTiles& > 0 THEN _FreeImage imgTiles&
  625.     'end if
  626.        
  627. End Sub ' Main
  628.  
  629. ' /////////////////////////////////////////////////////////////////////////////
  630.  
  631. Sub Main2
  632.         Cls
  633.         GetTilesTest2
  634.  
  635. ' /////////////////////////////////////////////////////////////////////////////
  636.  
  637. Sub GenerateBitPatterns8Bit
  638.         Dim iByte As Integer
  639.         Dim iBit As Integer
  640.         Dim sLine As String
  641.         Dim iCount As Integer: iCount = 0
  642.         Dim iPagesize As Integer: iPagesize = 23
  643.        
  644.         For iByte = 0 To 255
  645.                 sLine = ""
  646.                 For iBit = 7 To 0 Step -1
  647.                         If iByte And 2 ^ iBit Then
  648.                                 sLine = sLine + "1"
  649.                         Else
  650.                                 sLine = sLine + "0"
  651.                         End If
  652.                 Next iBit
  653.                 Print sLine
  654.                 iCount = iCount + 1
  655.                 If iCount = iPagesize Then
  656.                         iCount = 0
  657.                         Sleep
  658.                 End If
  659.         Next iByte
  660. End Sub ' GenerateBitPatterns8Bit
  661.  
  662. ' /////////////////////////////////////////////////////////////////////////////
  663.  
  664. Sub GeneratePset8BitPatternCode
  665.         Dim iByte As Integer
  666.         Dim iBit As Integer
  667.         Dim sTemplate1 As String
  668.         Dim sTemplate2 As String
  669.         Dim sCode1 As String
  670.         Dim sCode2 As String
  671.         Dim sLine As String
  672.         Dim iByte
  673.         Dim iCount As Integer: iCount = 0
  674.         Dim iPagesize As Integer: iPagesize = 64
  675.        
  676.         sTemplate1 = ""
  677.         sTemplate1 = sTemplate1 + "Sub DrawBitPatternPSET{byte}(  _ " + chr$(13)
  678.         sTemplate1 = sTemplate1 + "    imgScreen&, iCol As Integer, iRow As Integer, _ " + chr$(13)
  679.         sTemplate1 = sTemplate1 + "    iLine As Integer, _ " + chr$(13)
  680.         sTemplate1 = sTemplate1 + "    fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _ " + chr$(13)
  681.         sTemplate1 = sTemplate1 + "    )" + chr$(13)
  682.         sTemplate1 = sTemplate1 + "    Dim iX As Integer : iX = iCol * 8" + chr$(13)
  683.         sTemplate1 = sTemplate1 + "    Dim iY As Integer : iY = (iRow * 8) + iLine" + chr$(13)
  684.         sTemplate1 = sTemplate1 + "{template2}"
  685.         sTemplate1 = sTemplate1 + "End Sub ' DrawBitPatternPSET{byte}" + chr$(13)
  686.        
  687.         'sTemplate1 = ""
  688.         'sTemplate1 = sTemplate1 + "Sub DrawBitPatternPSET{byte}(imgScreen&, iCol As Integer, iRow As Integer, iLine As Integer, fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long)" + chr$(13)
  689.         'sTemplate1 = sTemplate1 + "    Dim iX As Integer : iX = iCol * 8" + chr$(13)
  690.         'sTemplate1 = sTemplate1 + "    Dim iY As Integer : iY = (iRow * 8) + iLine" + chr$(13)
  691.         'sTemplate1 = sTemplate1 + "{template2}"
  692.         'sTemplate1 = sTemplate1 + "End Sub ' DrawBitPatternPSET{byte}" + chr$(13)
  693.        
  694.         sTemplate2 = ""
  695.         sTemplate2 = sTemplate2 + "    PSET (iX+{bit}, iY), {color}" + chr$(13)
  696.        
  697.         sTemplate1 = Replace$(sTemplate1, chr$(13), "<br/>")
  698.         sTemplate2 = Replace$(sTemplate2, chr$(13), "<br/>")
  699.        
  700.         For iByte = 0 To 255
  701.                 sCode1 = sTemplate1
  702.                 sCode1 = Replace$(sCode1, "{byte}", right$("000" + cstr$(iByte), 3))
  703.                
  704.                 sCode2 = ""
  705.                 For iBit = 7 To 0 Step -1
  706.                         sLine = sTemplate2
  707.                         sLine = Replace$(sLine, "{bit}", cstr$(iBit))
  708.                         If iByte And 2 ^ iBit Then
  709.                                 sLine = Replace$(sLine, "{color}", "fgColor")
  710.                         Else
  711.                                 sLine = Replace$(sLine, "{color}", "bgColor")
  712.                         End If
  713.                         sCode2 = sCode2 + sLine
  714.                 Next iBit
  715.                
  716.                 sCode1 = Replace$(sCode1, "{template2}", sCode2)
  717.                
  718.                 DebugPrint sCode1
  719.                 DebugPrint ""
  720.                
  721.                 iCount = iCount + 1
  722.                 If iCount = iPagesize Then
  723.                         iCount = 0
  724.                         Print "Press any key to continue"
  725.                         Sleep
  726.                 End If
  727.         Next iByte
  728.        
  729.         Print "Press any key to continue"
  730.         Sleep
  731. End Sub ' GeneratePset8BitPatternCode
  732.  
  733. ' /////////////////////////////////////////////////////////////////////////////
  734. ' TEMPLATE:
  735. 'Sub DrawBitPatternPSET{byte}(  _
  736. '    imgScreen&, iCol As Integer, iRow As Integer, _
  737. '    iLine As Integer_
  738. '    fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  739. '    )
  740. '    Dim iX As Integer : iX = iCol * 8
  741. '    Dim iY As Integer : iY = (iRow * 8) + iLine
  742. ''    PSET (iX+{bit}, iY), {color}
  743. '    PSET (iX+0, iY), {color}
  744. '    PSET (iX+1, iY), {color}
  745. '    PSET (iX+2, iY), {color}
  746. '    PSET (iX+3, iY), {color}
  747. '    PSET (iX+4, iY), {color}
  748. '    PSET (iX+5, iY), {color}
  749. '    PSET (iX+6, iY), {color}
  750. '    PSET (iX+7, iY), {color}
  751. 'End Sub ' DrawBitPatternPSET{byte}
  752.  
  753. ' /////////////////////////////////////////////////////////////////////////////
  754. ' DrawTilePSET imgScreen&, arrTileData(), _
  755. '     iTileNum, iCol, iRow, fgColor, bgColor
  756.  
  757. Sub DrawTilePSET(  _
  758.         imgScreen&, arrTileData() As Integer, _
  759.         iTileNum As Integer, iCol As Integer, iRow As Integer, _
  760.         fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  761.         )
  762.        
  763.         Dim iStartX As Integer : iStartX = iCol * 8
  764.         Dim iStartY As Integer : iStartY = iRow * 8
  765.         Dim iX As Integer
  766.         Dim iY As Integer
  767.        
  768.         for iY = 0 to 7
  769.                 for iX = 0 to 7
  770.                         if arrTileData(iTileNum, iY, iX) = 1 then
  771.                                 'Line (iStartX+iX, iStartY+iY)-(iStartX+iX, iStartY+iY), fgColor, BF ' Draw a solid box
  772.                                 PSET (iStartX+iX, iStartY+iY), fgColor
  773.                         else
  774.                                 'Line (iStartX+iX, iStartY+iY)-(iStartX+iX, iStartY+iY), bgColor, BF ' Draw a solid box
  775.                                 PSET (iStartX+iX, iStartY+iY), bgColor
  776.                         end if
  777.                 next iX
  778.         next iY
  779. End Sub ' DrawTilePSET
  780.  
  781. ' /////////////////////////////////////////////////////////////////////////////
  782. ' DrawTileBoxLine imgScreen&, arrTileData(), _
  783. '     iTileNum, iCol, iRow, fgColor, bgColor
  784.  
  785. Sub DrawTileBoxLine(  _
  786.         imgScreen&, arrTileData() As Integer, _
  787.         iTileNum As Integer, iCol As Integer, iRow As Integer, _
  788.         fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  789.         )
  790.        
  791.         Dim iStartX As Integer : iStartX = iCol * 8
  792.         Dim iStartY As Integer : iStartY = iRow * 8
  793.         Dim iX As Integer
  794.         Dim iY As Integer
  795.        
  796.         for iY = 0 to 7
  797.                 for iX = 0 to 7
  798.                         if arrTileData(iTileNum, iY, iX) = 1 then
  799.                                 Line (iStartX+iX, iStartY+iY)-(iStartX+iX, iStartY+iY), fgColor, BF ' Draw a solid box
  800.                                 'Line -(iStartX+iX, iStartY+iY), fgColor, BF ' Draw a solid box
  801.                         else
  802.                                 Line (iStartX+iX, iStartY+iY)-(iStartX+iX, iStartY+iY), bgColor, BF ' Draw a solid box
  803.                                 'Line -(iStartX+iX, iStartY+iY), bgColor, BF ' Draw a solid box
  804.                         end if
  805.                 next iX
  806.         next iY
  807. End Sub ' DrawTileBoxLine
  808.  
  809. ' /////////////////////////////////////////////////////////////////////////////
  810. ' Tile method v2, test #2
  811.  
  812. Sub GetTilesTest2()
  813.         Dim RoutineName As String : RoutineName = "GetTilesTest"
  814.         ReDim arrTileData(0 to 255, 0 To 7, 0 To 7) As Integer
  815.         Dim sError As String
  816.         Dim iLoop As Integer
  817.         Dim iRow As Integer
  818.         Dim iCol As Integer
  819.         Dim sLine As String
  820.        
  821.         if len(sError)=0 then
  822.                 sError = GetTiles2$(arrTileData())
  823.         end if
  824.        
  825.         if len(sError)=0 then
  826.                 for iLoop = 65 to 71
  827.                         print "Char #" + cstr$(iLoop) + ":"
  828.                         print "##########"
  829.                         for iRow = 0 to 7
  830.                                 sLine = "#"
  831.                                 for iCol = 0 to 7
  832.                                         if arrTileData(iLoop, iRow, iCol) = 1 then
  833.                                                 sLine = sLine + "*"
  834.                                         elseif arrTileData(iLoop, iRow, iCol) = 0 then
  835.                                                 sLine = sLine + " "
  836.                                         else
  837.                                                 sLine = sLine + "?"
  838.                                         end if
  839.                                 next iCol
  840.                                 sLine = sLine + "#"
  841.                                 print sLine
  842.                         next iRow
  843.                         print "##########"
  844.                         print
  845.                         print "Press any key to continue"
  846.                         sleep
  847.                 next iLoop
  848.         else
  849.                 print RoutineName + " failed: " + sError
  850.         end if
  851. End Sub ' GetTilesTest2
  852.  
  853. ' /////////////////////////////////////////////////////////////////////////////
  854. ' Tile method v2
  855.  
  856. Sub GetTilesTest1()
  857.         Dim RoutineName As String : RoutineName = "GetTilesTest"
  858.         ReDim arrTileData(65 to 71, 0 To 7, 0 To 7) As Integer
  859.         Dim sError As String
  860.         Dim iLoop As Integer
  861.         Dim iRow As Integer
  862.         Dim iCol As Integer
  863.         Dim sLine As String
  864.        
  865.         if len(sError)=0 then
  866.                 sError = GetTiles2$(arrTileData())
  867.         end if
  868.        
  869.         if len(sError)=0 then
  870.                 for iLoop = 65 to 71
  871.                         print "Char #" + cstr$(iLoop) + ":"
  872.                         print "##########"
  873.                         for iRow = 0 to 7
  874.                                 sLine = "#"
  875.                                 for iCol = 0 to 7
  876.                                         if arrTileData(iLoop, iRow, iCol) = 1 then
  877.                                                 sLine = sLine + "*"
  878.                                         elseif arrTileData(iLoop, iRow, iCol) = 0 then
  879.                                                 sLine = sLine + " "
  880.                                         else
  881.                                                 sLine = sLine + "?"
  882.                                         end if
  883.                                 next iCol
  884.                                 sLine = sLine + "#"
  885.                                 print sLine
  886.                         next iRow
  887.                         print "##########"
  888.                         print
  889.                         print "Press any key to continue"
  890.                         sleep
  891.                 next iLoop
  892.         else
  893.                 print RoutineName + " failed: " + sError
  894.         end if
  895. End Sub ' GetTilesTest1
  896.  
  897. ' /////////////////////////////////////////////////////////////////////////////
  898. ' Tile method v3
  899. ' Retrieves tile data and returns it by ref in
  900. ' arrTileBytes(tile#, line#) containing 0-255,
  901. ' corresponding to the 8-bit byte pattern for that line #
  902. ' Returns empty string if successful, else error message if not.
  903.  
  904. Function GetTiles3$(arrTileBytes() As Integer)
  905.         Dim sError As String : sError = ""
  906.         dim sNextError As String : sNextError = ""
  907.     ReDim arrTileText(0 to 255) As String
  908.         ReDim MyArray(-1,-1) AS INTEGER
  909.         Dim iRowCount AS INTEGER
  910.         Dim iColCount AS INTEGER
  911.         Dim iLoop As Integer
  912.         Dim iRowNum As Integer
  913.         Dim iColNum As Integer
  914.         Dim iByte As Integer
  915.        
  916.         if len(sError) = 0 then
  917.                 'GetTileText2 arrTileText()
  918.                 GetTileText arrTileText()
  919.         end if
  920.        
  921.         if len(sError) = 0 then
  922.                 for iLoop = 0 to 255
  923.                         sNextError = CharStringToArray$ ( _
  924.                                 arrTileText(iLoop), _
  925.                                 "2", _
  926.                                 ".", _
  927.                                 8, _
  928.                                 8, _
  929.                                 1, _
  930.                                 0, _
  931.                                 -1, _
  932.                                 MyArray(), _
  933.                                 iRowCount, _
  934.                                 iColCount)
  935.                         if len(sNextError)=0 then
  936.                                 for iRowNum = 1 to 8
  937.                                         arrTileBytes(iLoop, iRowNum-1) = 0
  938.                                         for iColNum = 1 to 8
  939.                                                 if MyArray(iRowNum, iColNum)=1 then
  940.                                                         iByte = iColNum-1
  941.                                                         arrTileBytes(iLoop, iRowNum-1) = arrTileBytes(iLoop, iRowNum-1) + 2 ^ iByte
  942.                                                 end if
  943.                                         next iColNum
  944.                                 next iRowNum
  945.                         else
  946.                                 print "Error at " + cstr$(iLoop) + ": " + sError
  947.                         end if
  948.                 next iLoop
  949.         end if
  950.        
  951.         GetTiles3$ = sError
  952. End Function ' GetTiles3$
  953.  
  954. ' /////////////////////////////////////////////////////////////////////////////
  955. ' Tile method v2
  956. ' Retrieves tile data and returns it by ref in
  957. ' arrTileData(tile#, x pixel, y pixel) containing 1 or 0 for each pixel.
  958. ' Returns empty string if successful, else error message if not.
  959.  
  960. Function GetTiles2$(arrTileData() As Integer)
  961.         Dim sError As String : sError = ""
  962.         dim sNextError As String : sNextError = ""
  963.     ReDim arrTileText(0 to 255) As String
  964.         ReDim MyArray(-1,-1) AS INTEGER
  965.         Dim iRowCount AS INTEGER
  966.         Dim iColCount AS INTEGER
  967.         Dim iLoop As Integer
  968.         Dim iRowNum As Integer
  969.         Dim iColNum As Integer
  970.        
  971.         if len(sError) = 0 then
  972.                 'GetTileText2 arrTileText()
  973.                 GetTileText arrTileText()
  974.         end if
  975.        
  976.         if len(sError) = 0 then
  977.                 for iLoop = 0 to 255
  978.                         sNextError = CharStringToArray$ ( _
  979.                                 arrTileText(iLoop), _
  980.                                 "2", _
  981.                                 ".", _
  982.                                 8, _
  983.                                 8, _
  984.                                 1, _
  985.                                 0, _
  986.                                 -1, _
  987.                                 MyArray(), _
  988.                                 iRowCount, _
  989.                                 iColCount)
  990.                         if len(sNextError)=0 then
  991.                                 for iRowNum = 1 to 8
  992.                                         for iColNum = 1 to 8
  993.                                                 arrTileData(iLoop, iRowNum-1, iColNum-1) = MyArray(iRowNum, iColNum)
  994.                                         next iColNum
  995.                                 next iRowNum
  996.                         else
  997.                                 print "Error at " + cstr$(iLoop) + ": " + sError
  998.                         end if
  999.                 next iLoop
  1000.         end if
  1001.        
  1002.         GetTiles2$ = sError
  1003. End Function ' GetTiles2$
  1004.  
  1005. ' /////////////////////////////////////////////////////////////////////////////
  1006.  
  1007. 'CharStringToArray  MyString, MyArray(-1,-1), iRowCount, iColCount
  1008.  
  1009. Function CharStringToArray$ ( _
  1010.     sInput AS STRING, _
  1011.         sPixel AS STRING, _
  1012.         sEmpty AS STRING, _
  1013.         iMaxRows AS INTEGER, _
  1014.         iMaxCols AS INTEGER, _
  1015.     iPixel AS INTEGER, _
  1016.         iEmpty AS INTEGER, _
  1017.         iUnknown AS INTEGER, _
  1018.     MyArray(-1,-1) AS INTEGER, _
  1019.     iRowCount AS INTEGER, _
  1020.         iColCount AS INTEGER)
  1021.    
  1022.     REDIM arrLines$(0)
  1023.     DIM iRow As Integer
  1024.     DIM iCol As Integer
  1025.     DIM sNextChar As String
  1026.     Dim sDelim AS STRING : sDelim = CHR$(13)
  1027.     DIM sError AS String : sError = ""
  1028.    
  1029.     ' SPLIT GRAPHIC INTO LINES
  1030.     if len(sError)=0 then
  1031.         split sInput, sDelim, arrLines$()
  1032.     end if
  1033.    
  1034.     ' COUNT ROWS, COLUMNS
  1035.     if len(sError)=0 then
  1036.         iRowCount = 0
  1037.         iColCount = 0
  1038.         FOR iRow = 0 TO UBOUND(arrLines$) ' LBOUND(arrLines$) TO UBOUND(arrLines$)
  1039.             IF iRow <= iMaxRows THEN
  1040.                 iRowCount = iRowCount + 1
  1041.                 FOR iCol = 1 TO LEN(arrLines$(iRow))
  1042.                     IF iCol <= iMaxCols THEN
  1043.                         IF iRowCount = 1 THEN
  1044.                             iColCount = iColCount + 1
  1045.                         END IF
  1046.                     ELSE
  1047.                         ' Exit if out of bounds
  1048.                         sError = "ERROR: Column " + cstr$(iCol) + " exceeds max specified columns " + cstr$(iMaxCols) + "."
  1049.                         EXIT FOR
  1050.                     END IF
  1051.                 NEXT iCol
  1052.             ELSE
  1053.                 ' Exit if out of bounds
  1054.                 sError = "ERROR: Row " + cstr$(iRow) + " exceeds max specified rows " + cstr$(iMaxRows) + "."
  1055.                 EXIT FOR
  1056.             END IF
  1057.         NEXT iRow
  1058.     end if
  1059.    
  1060.     ' POPULATE ARRAY
  1061.     if len(sError)=0 then
  1062.         ' SIZE ARRAY TO ACCOMODATE DATA
  1063.         REDIM MyArray(iRowCount, iColCount) AS INTEGER
  1064.        
  1065.         FOR iRow = 0 TO UBOUND(arrLines$) ' LBOUND(arrLines$) TO UBOUND(arrLines$)
  1066.             FOR iCol = 1 TO LEN(arrLines$(iRow))
  1067.                 sNextChar = MID$(arrLines$(iRow), iCol, 1)
  1068.                 IF (sNextChar = sPixel) THEN
  1069.                     MyArray(iRow+1, iCol) = iPixel
  1070.                 ELSEIF (sNextChar = sEmpty) THEN
  1071.                     MyArray(iRow+1, iCol) = iEmpty
  1072.                 ELSE
  1073.                     MyArray(iRow+1, iCol) = iUnknown
  1074.                 END IF
  1075.             NEXT iCol
  1076.         NEXT iRow
  1077.     ELSE
  1078.         ' RETURN ZERO ROW / COLUMN COUNT IF ERROR
  1079.         iRowCount = 0
  1080.         iColCount = 0
  1081.     END IF
  1082.        
  1083.         ' RETURN RESULT
  1084.         CharStringToArray$ = sError
  1085. END Function ' CharStringToArray$
  1086.  
  1087. ' /////////////////////////////////////////////////////////////////////////////
  1088.  
  1089. Sub CheckTime
  1090.     m_iTimerCount = m_iTimerCount + 1
  1091. End Sub ' CheckTime
  1092.  
  1093. ' /////////////////////////////////////////////////////////////////////////////
  1094.  
  1095. Sub DrawBoxLine(iX As Integer, iY As Integer, iSize As Integer, fgColor As _UNSIGNED Long)
  1096.         Dim iX2 As Integer : iX2 = iX + (iSize-1)
  1097.         Dim iY2 As Integer : iY2 = iY + (iSize-1)
  1098.         Line (iX, iY)-(iX2, iY2), fgColor, BF ' Draw a solid box
  1099. End Sub ' DrawBoxLine
  1100.  
  1101. ' /////////////////////////////////////////////////////////////////////////////
  1102. ' Syntax: DRAW drawString$
  1103.  
  1104. ' -----------------------------------------------------------------------------
  1105. ' * The drawString$ can be DRAW instructions in quotation marks or a STRING variable using DRAW instructions.
  1106. ' * DRAW starting coordinates can be set using PSET, PRESET, CIRCLE or LINE ending positions.
  1107. ' * Other graphic objects can be located at or relative to the last DRAW position using STEP.
  1108. ' * DRAW can inherit colors from other graphic statements such as PSET, LINE and CIRCLE.
  1109. ' * Draw strings use letters followed by the number of pixels to move, an angle, coordinate or a color value.
  1110. ' * Draw strings are flexible with spacing. Spacing is not required. DRAW will look for a number value after a valid letter.
  1111. ' * DRAW statements are not case sensitive.
  1112. '   - "B" (blind) before a line move designates that the line move will be hidden. Use to offset from a "P" or PAINT border.
  1113. '   - "C n" designates the color attribute or _RGB string numerical color value to be used in the draw statement immediately after.
  1114. '   - "M x, y" can move to another coordinate area of the screen. When a + or - sign is used before a coordinate,
  1115. '              it is a relative coordinate move similar to using the STEP graphics keyword. DRAW "M+=" + VARPTR$(variable%)
  1116. '   - "N" before a line move designates that the graphic cursor will return to the starting position after the line is drawn.
  1117. '   - "P f [, b]" is used to paint enclosed objects. f denotes the fill color and b the border color, if needed.
  1118. '   - "S n" changes the pixel move size of the lines. Default is 4 (1 pixel) minimum. "S8" would double the pixel line moves.
  1119. '   - "X" + VARPTR$(value) can draw another substring.
  1120. ' * Certain letter designations create line moves on the SCREEN. Each move is followed by the number of pixels:
  1121. '   - "D n" draws a line vertically DOWN n pixels.
  1122. '   - "E n" draws a diagonal / line going UP and RIGHT n pixels each direction.
  1123. '   - "F n" draws a diagonal \ line going DOWN and RIGHT n pixels each direction.
  1124. '   - "G n" draws a diagonal / LINE going DOWN and LEFT n pixels each direction.
  1125. '   - "H n" draws a diagonal \ LINE going UP and LEFT n pixels each direction.
  1126. '   - "L n" draws a line horizontally LEFT n pixels.
  1127. '   - "R n" draws a line horizontally RIGHT n pixels.
  1128. '   - "U n" draws a line vertically UP n pixels.
  1129. ' * Angles are used to rotate all subsequent draw moves.
  1130. '   - "A n" can use values of 1 to 3 to rotate up to 3 90 degree(270) angles.
  1131. '   - TA n" can use any n angle from -360 to 0 to 360 to rotate a DRAW (Turn Angle). "TA0" resets to normal.
  1132. '   - When VARPTR$ is used, DRAW functions such as TA angles use an equal sign: "TA=" + VARPTR$(angle%)
  1133. ' * The graphic cursor is set to the center of the program window on program start for STEP relative coordinates.
  1134. ' * DRAW can be used in any graphic screen mode, but cannot be used in the default screen mode 0 as it is text only.
  1135.  
  1136. '   - "B" (blind) before a line move designates that the line move will be hidden. Use to offset from a "P" or PAINT border.
  1137. '   - "M x, y" can move to another coordinate area of the screen. When a + or - sign is used before a coordinate,
  1138. '   - "R n" draws a line horizontally RIGHT n pixels.
  1139. '   - "D n" draws a line vertically DOWN n pixels.
  1140. '   - "L n" draws a line horizontally LEFT n pixels.
  1141. '   - "U n" draws a line vertically UP n pixels.
  1142. '   - "N" before a line move designates that the graphic cursor will return to the starting position after the line is drawn.
  1143. '   - "P f [, b]" is used to paint enclosed objects. f denotes the fill color and b the border color, if needed.
  1144.  
  1145. Sub DrawBoxDraw(iX As Integer, iY As Integer, iSize As Integer, fgColor As _UNSIGNED Long)
  1146.         Dim sDraw As String : sDraw = ""
  1147.         'Dim iSizeMinus1 As Integer : iSizeMinus1 = iSize - 1
  1148.        
  1149.         ' set color
  1150.         sDraw = sDraw + "C " + STR$(fgColor)
  1151.        
  1152.         ' lift pen + go to start
  1153.         sDraw = sDraw + " BM" + cstr$(iX) + "," + cstr$(iY)
  1154.        
  1155.         ' draw horizontal line right
  1156.         sDraw = sDraw + " R" + cstr$(iSize)
  1157.        
  1158.         ' draw vertical line down
  1159.         sDraw = sDraw + " D" + cstr$(iSize)
  1160.        
  1161.         ' draw horizontal line left
  1162.         sDraw = sDraw + " L" + cstr$(iSize)
  1163.        
  1164.         ' draw vertical line up
  1165.         sDraw = sDraw + " U" + cstr$(iSize)
  1166.        
  1167.         '' lift pen + move inside box outline
  1168.         'sDraw = sDraw + "BM" + cstr$(iX + 1) + "," + cstr$(iY + 1)
  1169.        
  1170.         ' fill box
  1171.         ' ERRORS OUT FOR SOME REASON:
  1172.         'sDraw = sDraw + " P" + cstr$(fgColor)
  1173.        
  1174.         'locate 1,1 : print sDraw
  1175.         DRAW sDraw
  1176. End Sub ' DrawBoxDraw
  1177.  
  1178. ' /////////////////////////////////////////////////////////////////////////////
  1179. ' PSET (X, Y), Color
  1180. ' draw will start where pset leaves off
  1181.  
  1182. Sub DrawBoxPset(iX As Integer, iY As Integer, iSize As Integer, fgColor As _UNSIGNED Long)
  1183.         Dim iSizeMinus1 As Integer : iSizeMinus1 = iSize - 1
  1184.         Dim iLoopX As Integer
  1185.         Dim iLoopY As Integer
  1186.         For iLoopY = iY to iY + iSizeMinus1
  1187.                 For iLoopX = iX to iX + iSizeMinus1
  1188.                         PSET (iLoopX, iLoopY), fgColor
  1189.                 Next iLoopX
  1190.         Next iLoopY
  1191.         PSET (iX+3, iY+3), fgColor
  1192. End Sub ' DrawBoxPset
  1193.  
  1194. ' /////////////////////////////////////////////////////////////////////////////
  1195. ' Uses built-in circle routine to draw a circle outline with line thickness 1.
  1196.  
  1197. ' DrawCircleTopLeft iTopLeftX, iTopLeftY, iDiameter, fgColor
  1198.  
  1199. Sub DrawCircleTopLeft (iTopLeftX As Integer, iTopLeftY As Integer, iDiameter As Integer, fgColor As _Unsigned Long)
  1200.     Dim iRadius As Integer: iRadius = iDiameter \ 2
  1201.     Circle (iTopLeftX + iRadius, iTopLeftY + iRadius), iRadius, fgColor 'circle with radius of 110 and dark gray
  1202. End Sub ' DrawCircle1
  1203.  
  1204. ' /////////////////////////////////////////////////////////////////////////////
  1205. ' Uses fcirc routine to draw a circle outline
  1206. ' of the specified line thickness.
  1207. '
  1208. ' Works but you have to supply a background color and the inside of the
  1209. ' circle is not transparent (background color covers what's underneath).
  1210.  
  1211. ' TODO: copy only the fgColor to the target image
  1212. '       to preserve background inside the circle.
  1213.  
  1214. ' DrawCircleOutlineTopLeft iTopLeftX, iTopLeftY, iDiameter, fgColor, bgColor, iThickness
  1215.  
  1216. Sub DrawCircleOutlineTopLeft (iTopLeftX As Integer, iTopLeftY As Integer, iDiameter As Integer, fgColor As _Unsigned Long, bgColor As _Unsigned Long, iThickness As Integer)
  1217.     Dim iRadius As Integer: iRadius = iDiameter \ 2
  1218.     Dim iCX As Integer: iCX = iTopLeftX + iRadius
  1219.     Dim iCY As Integer: iCY = iTopLeftY + iRadius
  1220.     fcirc iCX, iCY, iRadius, fgColor
  1221.        
  1222.         if iThickness <= 1 then
  1223.                 fcirc iCX, iCY, iRadius, fgColor
  1224.                 fcirc iCX, iCY, iRadius-1, bgColor
  1225.         elseif iThickness >= iRadius then
  1226.                 fcirc iCX, iCY, iRadius, fgColor
  1227.         else
  1228.                 fcirc iCX, iCY, iRadius, fgColor
  1229.                 fcirc iCX, iCY, iRadius-iThickness, bgColor
  1230.         end if
  1231. End Sub ' DrawCircleOutlineTopLeft
  1232.  
  1233. ' /////////////////////////////////////////////////////////////////////////////
  1234. ' bplus: The Gold Standard is even better than THE QB64 CIRCLE sub in this respect!
  1235. ' https://qb64forum.alephc.xyz/index.php?topic=1044.135
  1236.  
  1237. ' from Steve Gold standard
  1238.  
  1239. ' Example:
  1240. ' Screen _NewImage(800, 600, 32)
  1241. ' _ScreenMove 250, 60
  1242. ' For r = 250 To 0 Step -60
  1243. '     fcirc 400, 300, r, _RGBA(255, 255, 255, 100)
  1244. ' Next r
  1245.  
  1246. Sub fcirc (CX As Integer, CY As Integer, R As Integer, C As _Unsigned Long)
  1247.     Dim Radius As Integer, RadiusError As Integer
  1248.     Dim X As Integer, Y As Integer
  1249.  
  1250.     Radius = Abs(R)
  1251.     RadiusError = -Radius
  1252.     X = Radius
  1253.     Y = 0
  1254.  
  1255.     If Radius = 0 Then PSet (CX, CY), C: Exit Sub
  1256.  
  1257.     ' Draw the middle span here so we don't draw it twice in the main loop,
  1258.     ' which would be a problem with blending turned on.
  1259.     Line (CX - X, CY)-(CX + X, CY), C, BF
  1260.  
  1261.     While X > Y
  1262.         RadiusError = RadiusError + Y * 2 + 1
  1263.         If RadiusError >= 0 Then
  1264.             If X <> Y + 1 Then
  1265.                 Line (CX - Y, CY - X)-(CX + Y, CY - X), C, BF
  1266.                 Line (CX - Y, CY + X)-(CX + Y, CY + X), C, BF
  1267.             End If
  1268.             X = X - 1
  1269.             RadiusError = RadiusError - X * 2
  1270.         End If
  1271.         Y = Y + 1
  1272.         Line (CX - X, CY - Y)-(CX + X, CY - Y), C, BF
  1273.         Line (CX - X, CY + Y)-(CX + X, CY + Y), C, BF
  1274.     Wend
  1275. End Sub ' fcirc
  1276.  
  1277. ' /////////////////////////////////////////////////////////////////////////////
  1278. ' Same as fcirc but accepts coordinates for top left point instead of center
  1279. ' and diameter for size, instead of radius.
  1280.  
  1281. ' Example:
  1282. ' Screen _NewImage(800, 600, 32)
  1283. ' _ScreenMove 250, 60
  1284. ' For iLoop = 5 To 1 Step -1
  1285. '     fcircTopLeft 10, 10, iLoop * 10, _RGBA(255, 255, 255, 100)
  1286. ' Next iLoop
  1287.  
  1288. ' fcircTopLeft iTopLeftX, iTopLeftY, iDiameter, fgColor
  1289. Sub fcircTopLeft (iTopLeftX As Integer, iTopLeftY As Integer, iDiameter As Integer, fgColor As _Unsigned Long)
  1290.     Dim iRadius As Integer: iRadius = iDiameter \ 2
  1291.     Dim iCX As Integer: iCX = iTopLeftX + iRadius
  1292.     Dim iCY As Integer: iCY = iTopLeftY + iRadius
  1293.     fcirc iCX, iCY, iRadius, fgColor
  1294. End Sub ' fcircTopLeft
  1295.  
  1296. ' /////////////////////////////////////////////////////////////////////////////
  1297.  
  1298. Sub DrawA(iX As Integer, iY As Integer, fgColor As _UNSIGNED Long)
  1299.         DrawBoxLine iX, iY, 8, fgColor
  1300.         Line (iX+4, iY+1)-(iX+1, iY+4), fgColor ', B ' B=outline, BF=solid
  1301.         Line (iX+4, iY+1)-(iX+6, iY+4), fgColor ', B ' B=outline, BF=solid
  1302.         Line (iX+1, iY+4)-(iX+6, iY+4), fgColor ', B ' B=outline, BF=solid
  1303.         Line (iX+1, iY+4)-(iX+1, iY+6), fgColor ', B ' B=outline, BF=solid
  1304.         Line (iX+6, iY+4)-(iX+6, iY+6), fgColor ', B ' B=outline, BF=solid
  1305. End Sub ' DrawA
  1306.  
  1307. ' /////////////////////////////////////////////////////////////////////////////
  1308.  
  1309. Sub DrawLeftArrowLine(iX As Integer, iY As Integer, fgColor As _UNSIGNED Long)
  1310.         Dim iStartY As Integer : iStartY = iY + 3
  1311.         Line (iX, iStartY)-(iX+7, iStartY), fgColor ', B ' B=outline, BF=solid
  1312.         Line (iX, iStartY)-(iX+3, iY), fgColor ', B ' B=outline, BF=solid
  1313.         Line (iX, iStartY)-(iX+3, iStartY+3), fgColor ', B ' B=outline, BF=solid
  1314. End Sub ' DrawLeftArrowLine
  1315.  
  1316. ' /////////////////////////////////////////////////////////////////////////////
  1317. ' This uses draw with "BM" to move to the start of each line
  1318.  
  1319. Sub DrawLeftArrow1(iX As Long, iY As Long, fgColor As _UNSIGNED Long)
  1320.         Dim sDraw As String
  1321.         sDraw = ""
  1322.         sDraw = sDraw + "C" + STR$(fgColor)
  1323.         sDraw = sDraw + "BM" + cstr$(iX) + "," + cstr$(iY)
  1324.         sDraw = sDraw + "R8"
  1325.         sDraw = sDraw + "BM" + cstr$(iX) + "," + cstr$(iY)
  1326.         sDraw = sDraw + "F3"
  1327.         sDraw = sDraw + "BM" + cstr$(iX) + "," + cstr$(iY)
  1328.         sDraw = sDraw + "E3"
  1329.         DRAW sDraw
  1330. End Sub ' DrawLeftArrow1
  1331.  
  1332. ' /////////////////////////////////////////////////////////////////////////////
  1333. ' This uses draw with "N" to return the cursor to the start of each line
  1334. ' - "N" before a line move designates that the graphic cursor will return to the starting position after the line is drawn.
  1335.  
  1336. Sub DrawLeftArrow2(iX As Long, iY As Long, fgColor As _UNSIGNED Long)
  1337.         Dim sDraw As String
  1338.         sDraw = ""
  1339.         ' select color
  1340.         sDraw = sDraw + "C" + STR$(fgColor)
  1341.        
  1342.         ' lift pen + go to start
  1343.         sDraw = sDraw + "BM" + cstr$(iX) + "," + cstr$(iY)
  1344.        
  1345.         ' draw horizontal line + return to start
  1346.         sDraw = sDraw + "NR8"
  1347.        
  1348.         ' draw diagonal down + return to start
  1349.         sDraw = sDraw + "NF3"
  1350.        
  1351.         ' draw diagonal up
  1352.         sDraw = sDraw + "E3"
  1353.         DRAW sDraw
  1354. End Sub ' DrawLeftArrow2
  1355.  
  1356. ' /////////////////////////////////////////////////////////////////////////////
  1357. ' This uses PSET to draw the arrow pixel-by-pixel
  1358.  
  1359. ' PSET (X, Y), Color
  1360. ' draw will start where pset leaves off
  1361.  
  1362. Sub PsetLeftArrow(iX As Long, iY As Long, fgColor As _UNSIGNED Long)
  1363.         Dim iLoopX As Integer
  1364.         Dim iLoopY As Integer
  1365.         For iLoopX = iX to iX + 7 : PSET (iLoopX, iY), fgColor : Next iLoopX
  1366.         PSET (iX+1, iY-1), fgColor
  1367.         PSET (iX+2, iY-2), fgColor
  1368.         PSET (iX+3, iY-3), fgColor
  1369.         PSET (iX+1, iY+1), fgColor
  1370.         PSET (iX+2, iY+2), fgColor
  1371.         PSET (iX+3, iY+3), fgColor
  1372. End Sub ' PsetLeftArrow
  1373.  
  1374. ' /////////////////////////////////////////////////////////////////////////////
  1375. ' Convert a value to string and trim it (because normal Str$ adds spaces)
  1376.  
  1377. Function cstr$ (myValue)
  1378.     'cstr$ = LTRIM$(RTRIM$(STR$(myValue)))
  1379.     cstr$ = _Trim$(Str$(myValue))
  1380. End Function ' cstr$
  1381.  
  1382. ' /////////////////////////////////////////////////////////////////////////////
  1383. ' Does a _PrintString at the specified row+column.
  1384.  
  1385. ' iRow and iCol are 0-based.
  1386.  
  1387. Sub PrintString (iRow As Integer, iCol As Integer, MyString As String)
  1388.     Dim iX As Integer
  1389.     Dim iY As Integer
  1390.     iX = _FontWidth * iCol
  1391.     iY = _FontHeight * iRow ' (iRow + 1)
  1392.     _PrintString (iX, iY), MyString
  1393. End Sub ' PrintString
  1394.  
  1395. ' /////////////////////////////////////////////////////////////////////////////
  1396. ' Does a _PrintString at the specified row+column.
  1397.  
  1398. ' iRow and iCol are 1-based.
  1399.  
  1400. Sub PrintString1 (iRow As Integer, iCol As Integer, MyString As String)
  1401.     Dim iX As Integer
  1402.     Dim iY As Integer
  1403.     iX = _FontWidth * (iCol-1)
  1404.     iY = _FontHeight * (iRow-1)
  1405.     _PrintString (iX, iY), MyString
  1406. End Sub ' PrintString1
  1407.  
  1408. ' /////////////////////////////////////////////////////////////////////////////
  1409. ' FROM: String Manipulation
  1410. ' found at abandoned, outdated and now likely malicious qb64 dot net website
  1411. ' http://www.qb64.[net]/forum/index_topic_5964-0/
  1412. '
  1413. 'SUMMARY:
  1414. '   Purpose:  A library of custom functions that transform strings.
  1415. '   Author:   Dustinian Camburides (dustinian@gmail.com)
  1416. '   Platform: QB64 (www.qb64.org)
  1417. '   Revision: 1.6
  1418. '   Updated:  5/28/2012
  1419.  
  1420. 'SUMMARY:
  1421. '[Replace$] replaces all instances of the [Find] sub-string with the [Add] sub-string within the [Text] string.
  1422. 'INPUT:
  1423. 'Text: The input string; the text that's being manipulated.
  1424. 'Find: The specified sub-string; the string sought within the [Text] string.
  1425. 'Add: The sub-string that's being added to the [Text] string.
  1426.  
  1427. Function Replace$ (Text1 As String, Find1 As String, Add1 As String)
  1428.     ' VARIABLES:
  1429.     Dim Text2 As String
  1430.     Dim Find2 As String
  1431.     Dim Add2 As String
  1432.     Dim lngLocation As Long ' The address of the [Find] substring within the [Text] string.
  1433.     Dim strBefore As String ' The characters before the string to be replaced.
  1434.     Dim strAfter As String ' The characters after the string to be replaced.
  1435.  
  1436.     ' INITIALIZE:
  1437.     ' MAKE COPIESSO THE ORIGINAL IS NOT MODIFIED (LIKE ByVal IN VBA)
  1438.     Text2 = Text1
  1439.     Find2 = Find1
  1440.     Add2 = Add1
  1441.  
  1442.     lngLocation = InStr(1, Text2, Find2)
  1443.  
  1444.     ' PROCESSING:
  1445.     ' While [Find2] appears in [Text2]...
  1446.     While lngLocation
  1447.         ' Extract all Text2 before the [Find2] substring:
  1448.         strBefore = Left$(Text2, lngLocation - 1)
  1449.  
  1450.         ' Extract all text after the [Find2] substring:
  1451.         strAfter = Right$(Text2, ((Len(Text2) - (lngLocation + Len(Find2) - 1))))
  1452.  
  1453.         ' Return the substring:
  1454.         Text2 = strBefore + Add2 + strAfter
  1455.  
  1456.         ' Locate the next instance of [Find2]:
  1457.         lngLocation = InStr(1, Text2, Find2)
  1458.  
  1459.         ' Next instance of [Find2]...
  1460.     Wend
  1461.  
  1462.     ' OUTPUT:
  1463.     Replace$ = Text2
  1464. End Function ' Replace$
  1465.  
  1466. ' /////////////////////////////////////////////////////////////////////////////
  1467. ' Split and join strings
  1468. ' https://www.qb64.org/forum/index.php?topic=1073.0
  1469. '
  1470. ' FROM luke, QB64 Developer
  1471. ' Date: February 15, 2019, 04:11:07 AM »
  1472. '
  1473. ' Given a string of words separated by spaces (or any other character),
  1474. ' splits it into an array of the words. I've no doubt many people have
  1475. ' written a version of this over the years and no doubt there's a million
  1476. ' ways to do it, but I thought I'd put mine here so we have at least one
  1477. ' version. There's also a join function that does the opposite
  1478. ' array -> single string.
  1479. '
  1480. ' Code is hopefully reasonably self explanatory with comments and a little demo.
  1481. ' Note, this is akin to Python/JavaScript split/join, PHP explode/implode.
  1482.  
  1483. 'Split in$ into pieces, chopping at every occurrence of delimiter$. Multiple consecutive occurrences
  1484. 'of delimiter$ are treated as a single instance. The chopped pieces are stored in result$().
  1485. '
  1486. 'delimiter$ must be one character long.
  1487. 'result$() must have been REDIMmed previously.
  1488.  
  1489. ' Modified to handle multi-character delimiters
  1490.  
  1491. Sub split (in$, delimiter$, result$())
  1492.     Dim start As Integer
  1493.     Dim finish As Integer
  1494.     Dim iDelimLen As Integer
  1495.     ReDim result$(-1)
  1496.  
  1497.     iDelimLen = Len(delimiter$)
  1498.  
  1499.     start = 1
  1500.     Do
  1501.         'While Mid$(in$, start, 1) = delimiter$
  1502.         While Mid$(in$, start, iDelimLen) = delimiter$
  1503.             'start = start + 1
  1504.             start = start + iDelimLen
  1505.             If start > Len(in$) Then
  1506.                 Exit Sub
  1507.             End If
  1508.         Wend
  1509.         finish = InStr(start, in$, delimiter$)
  1510.         If finish = 0 Then
  1511.             finish = Len(in$) + 1
  1512.         End If
  1513.  
  1514.         ReDim _Preserve result$(0 To UBound(result$) + 1)
  1515.  
  1516.         result$(UBound(result$)) = Mid$(in$, start, finish - start)
  1517.         start = finish + 1
  1518.     Loop While start <= Len(in$)
  1519. End Sub ' split
  1520.  
  1521. ' /////////////////////////////////////////////////////////////////////////////
  1522. ' CIRCLE.BI
  1523. ' https://wiki.qb64.org/wiki/Alternative_circle_routine
  1524. '**
  1525. '** QB64 replacement CIRCLE command.
  1526. '**
  1527. '** The CIRCLE command in QB64 has a few issues:
  1528. '**
  1529. '** - radian end points are not calculate properly when creating arcs
  1530. '** - center line to radian end points do not close properly due to previous bug listed
  1531. '**
  1532. '** This circle command replacement works very similiarly to the native CIRCLE command:
  1533. '**
  1534. '** SYNTAX: CIRCLES x%, y%, radius!, color~&, start_radian!, end_radian!, aspect_ratio!
  1535. '**
  1536. '**   x%            - center X coordinate of circle
  1537. '**   y%            - center Y coordinate of circle
  1538. '**   radius!       - the radius of the circle
  1539. '**   color~&       - the circle's color
  1540. '**   start_radian! - the radian on circle curcunference to begin drawing at
  1541. '**   end_radian!   - the radian on circle circumference to end drawing at
  1542. '**   aspect_ratio! - the aspect ratio of the circle
  1543. '**
  1544. '** NOTE: unlike the native CIRCLE command, all arguments MUST be supplied. For example,
  1545. '**       with the native command this will draw a perfect circle with the default color,
  1546. '**       start radian, end radian and aspect ratio:
  1547. '**
  1548. '**       CIRCLE (319, 239), 100
  1549. '**
  1550. '**       To do the same thing with this replacement command you must supply everything:
  1551. '**
  1552. '**       CIRCLES 319, 239, 100, _RGB32(255, 255, 255), 0, 0, 0
  1553. '**
  1554. '** ACKNOWLEGEMENTS: The FOR/NEXT step formula was was written by Codeguy for Unseen
  1555. '**                  Machine's Visual library EllipseXS command. Specifically:
  1556. '**                         MinStep! = 1 / (2 * 3.1415926535 * Radius!)
  1557. '**
  1558. '**
  1559. '** Includes performance tweaks made by SMcNeill on 02/02/13 - specifically removing a few redundant * -1
  1560. '** statements and converting the FOR/NEXT loop to a DO loop for a ~3% increase in performance.
  1561. '**
  1562. '** Corrected bug in which variables being passed in were being modified and passed back - 02/02/13
  1563. '**
  1564. SUB CIRCLES (cx%, cy%, r!, c~&, s!, e!, a!)
  1565.         DIM s%, e%, nx%, ny%, xr!, yr!, st!, en!, asp! '     local variables used
  1566.        
  1567.         st! = s! '                                           copy start radian to local variable
  1568.         en! = e! '                                           copy end radian to local variable
  1569.         asp! = a! '                                          copy aspect ratio to local variable
  1570.         IF asp! <= 0 THEN asp! = 1 '                         keep aspect ratio between 0 and 4
  1571.         IF asp! > 4 THEN asp! = 4
  1572.         IF asp! < 1 THEN xr! = r! * asp! * 4 ELSE xr! = r! ' calculate x/y radius based on aspect ratio
  1573.         IF asp! > 1 THEN yr! = r! * asp! ELSE yr! = r!
  1574.         IF st! < 0 THEN s% = -1: st! = -st! '                remember if line needs drawn from center to start radian
  1575.         IF en! < 0 THEN e% = -1: en! = -en! '                remember if line needs drawn from center to end radian
  1576.         IF s% THEN '                                         draw line from center to start radian?
  1577.                 nx% = cx% + xr! * COS(st!) '                     yes, compute starting point on circle's circumference
  1578.                 ny% = cy% + yr! * -SIN(st!)
  1579.                 LINE (cx%, cy%)-(nx%, ny%), c~& '                draw line from center to radian
  1580.         END IF
  1581.         IF en! <= st! THEN en! = en! + 6.2831852 '           come back around to proper location (draw counterclockwise)
  1582.         stepp! = 0.159154945806 / r!
  1583.         c! = st! '                                           cycle from start radian to end radian
  1584.         DO
  1585.                 nx% = cx% + xr! * COS(c!) '                      compute next point on circle's circumfrerence
  1586.                 ny% = cy% + yr! * -SIN(c!)
  1587.                 PSET (nx%, ny%), c~& '                           draw the point
  1588.                 c! = c! + stepp!
  1589.         LOOP UNTIL c! >= en!
  1590.         IF e% THEN LINE -(cx%, cy%), c~& '                   draw line from center to end radian if needed
  1591. END SUB ' CIRCLES
  1592.  
  1593. ' /////////////////////////////////////////////////////////////////////////////
  1594.  
  1595. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1596. ' BEGIN COLOR ARRAY FUNCTIONS
  1597. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1598.  
  1599. ' /////////////////////////////////////////////////////////////////////////////
  1600.  
  1601. Sub AddColor (ColorValue As _Unsigned Long, ColorName As String, arrColor() As ColorType)
  1602.     ReDim _Preserve arrColor(0 To UBound(arrColor) + 1) As ColorType
  1603.     arrColor(UBound(arrColor)).name = ColorName
  1604.     arrColor(UBound(arrColor)).value = ColorValue
  1605. End Sub ' AddColor
  1606.  
  1607. ' /////////////////////////////////////////////////////////////////////////////
  1608.  
  1609. Sub AddColors (arrColor() As ColorType)
  1610.     AddColor cBlack, "cBlack", arrColor()
  1611.     ''AddColor cDarkGray, "cDarkGray", arrColor()
  1612.     ''AddColor cDimGray, "cDimGray", arrColor()
  1613.     AddColor cGray, "cGray", arrColor()
  1614.     AddColor cSilver, "cSilver", arrColor()
  1615.     ''AddColor cLightGray, "cLightGray", arrColor()
  1616.     AddColor cWhite, "cWhite", arrColor()
  1617.  
  1618.     AddColor cRed, "cRed", arrColor()
  1619.     AddColor cOrangeRed, "cOrangeRed", arrColor()
  1620.     'AddColor cDarkOrange, "cDarkOrange", arrColor()
  1621.     'AddColor cOrange, "cOrange", arrColor()
  1622.     'AddColor cGold, "cGold", arrColor()
  1623.     AddColor cYellow, "cYellow", arrColor()
  1624.     'AddColor cOliveDrab1, "cOliveDrab1", arrColor()
  1625.     AddColor cLime, "cLime", arrColor()
  1626.     'AddColor cMediumSpringGreen, "cMediumSpringGreen", arrColor()
  1627.     AddColor cCyan, "cCyan", arrColor()
  1628.     'AddColor cDeepSkyBlue, "cDeepSkyBlue", arrColor()
  1629.     AddColor cDodgerBlue, "cDodgerBlue", arrColor()
  1630.     'AddColor cSeaBlue, "cSeaBlue", arrColor()
  1631.     AddColor cBlue, "cBlue", arrColor()
  1632.     'AddColor cBluePurple, "cBluePurple", arrColor()
  1633.     AddColor cDeepPurple, "cDeepPurple", arrColor()
  1634.     'AddColor cPurple, "cPurple", arrColor()
  1635.     'AddColor cPurpleRed, "cPurpleRed", arrColor()
  1636.  
  1637.     ''AddColor cGainsboro, "cGainsboro", arrColor()
  1638.     ''AddColor cWhiteSmoke, "cWhiteSmoke", arrColor()
  1639.  
  1640.     'AddColor cDarkRed, "cDarkRed", arrColor()
  1641.     ''AddColor cBrickRed, "cBrickRed", arrColor()
  1642.  
  1643.     AddColor cDarkGreen, "cDarkGreen", arrColor()
  1644.     'AddColor cGreen, "cGreen", arrColor()
  1645.     ''AddColor cOliveDrab, "cOliveDrab", arrColor()
  1646.     ''AddColor cLightPink, "cLightPink", arrColor()
  1647.     AddColor cMagenta, "cMagenta", arrColor()
  1648.     AddColor cHotPink, "cHotPink", arrColor()
  1649.     'AddColor cDeepPink, "cDeepPink", arrColor()
  1650.  
  1651.     AddColor cDarkBrown, "cDarkBrown", arrColor()
  1652.     'AddColor cLightBrown, "cLightBrown", arrColor()
  1653.     'AddColor cKhaki, "cKhaki", arrColor()
  1654.  
  1655.     AddColor cEmpty, "cEmpty", arrColor()
  1656. End Sub ' AddColors
  1657.  
  1658. ' /////////////////////////////////////////////////////////////////////////////
  1659.  
  1660. Sub AddGrayscaleColors (arrColor() As ColorType)
  1661.     'AddColor cBlack, "cBlack", arrColor()
  1662.     AddColor cDimGray, "cDimGray", arrColor()
  1663.     AddColor cGray, "cGray", arrColor()
  1664.     AddColor cDarkGray, "cDarkGray", arrColor()
  1665.     AddColor cSilver, "cSilver", arrColor()
  1666.     AddColor cLightGray, "cLightGray", arrColor()
  1667.     AddColor cWhite, "cGainsboro", arrColor()
  1668.     AddColor cWhite, "cWhiteSmoke", arrColor()
  1669.     AddColor cWhite, "cWhite", arrColor()
  1670. End Sub ' AddGrayscaleColors
  1671.  
  1672. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1673. ' END COLOR ARRAY FUNCTIONS
  1674. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1675.  
  1676. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1677. ' BEGIN COLOR FUNCTIONS
  1678. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1679.  
  1680. Function cRed~& ()
  1681.     cRed = _RGB32(255, 0, 0)
  1682.  
  1683. Function cOrangeRed~& ()
  1684.     cOrangeRed = _RGB32(255, 69, 0)
  1685. End Function ' cOrangeRed~&
  1686.  
  1687. Function cDarkOrange~& ()
  1688.     cDarkOrange = _RGB32(255, 140, 0)
  1689. End Function ' cDarkOrange~&
  1690.  
  1691. Function cOrange~& ()
  1692.     cOrange = _RGB32(255, 165, 0)
  1693. End Function ' cOrange~&
  1694.  
  1695. Function cGold~& ()
  1696.     cGold = _RGB32(255, 215, 0)
  1697. End Function ' cGold~&
  1698.  
  1699. Function cYellow~& ()
  1700.     cYellow = _RGB32(255, 255, 0)
  1701. End Function ' cYellow~&
  1702.  
  1703. ' LONG-HAIRED FRIENDS OF JESUS OR NOT,
  1704. ' THIS IS NOT YELLOW ENOUGH (TOO CLOSE TO LIME)
  1705. ' TO USE FOR OUR COMPLEX RAINBOW SEQUENCE:
  1706. Function cChartreuse~& ()
  1707.     cChartreuse = _RGB32(127, 255, 0)
  1708. End Function ' cChartreuse~&
  1709.  
  1710. ' WE SUBSTITUTE THIS CSS3 COLOR FOR INBETWEEN LIME AND YELLOW:
  1711. Function cOliveDrab1~& ()
  1712.     cOliveDrab1 = _RGB32(192, 255, 62)
  1713. End Function ' cOliveDrab1~&
  1714.  
  1715. Function cLime~& ()
  1716.     cLime = _RGB32(0, 255, 0)
  1717. End Function ' cLime~&
  1718.  
  1719. Function cMediumSpringGreen~& ()
  1720.     cMediumSpringGreen = _RGB32(0, 250, 154)
  1721. End Function ' cMediumSpringGreen~&
  1722.  
  1723. Function cCyan~& ()
  1724.     cCyan = _RGB32(0, 255, 255)
  1725. End Function ' cCyan~&
  1726.  
  1727. Function cDeepSkyBlue~& ()
  1728.     cDeepSkyBlue = _RGB32(0, 191, 255)
  1729. End Function ' cDeepSkyBlue~&
  1730.  
  1731. Function cDodgerBlue~& ()
  1732.     cDodgerBlue = _RGB32(30, 144, 255)
  1733. End Function ' cDodgerBlue~&
  1734.  
  1735. Function cSeaBlue~& ()
  1736.     cSeaBlue = _RGB32(0, 64, 255)
  1737. End Function ' cSeaBlue~&
  1738.  
  1739. Function cBlue~& ()
  1740.     cBlue = _RGB32(0, 0, 255)
  1741. End Function ' cBlue~&
  1742.  
  1743. Function cBluePurple~& ()
  1744.     cBluePurple = _RGB32(64, 0, 255)
  1745. End Function ' cBluePurple~&
  1746.  
  1747. Function cDeepPurple~& ()
  1748.     cDeepPurple = _RGB32(96, 0, 255)
  1749. End Function ' cDeepPurple~&
  1750.  
  1751. Function cPurple~& ()
  1752.     cPurple = _RGB32(128, 0, 255)
  1753. End Function ' cPurple~&
  1754.  
  1755. Function cPurpleRed~& ()
  1756.     cPurpleRed = _RGB32(128, 0, 192)
  1757. End Function ' cPurpleRed~&
  1758.  
  1759. Function cDarkRed~& ()
  1760.     cDarkRed = _RGB32(160, 0, 64)
  1761. End Function ' cDarkRed~&
  1762.  
  1763. Function cBrickRed~& ()
  1764.     cBrickRed = _RGB32(192, 0, 32)
  1765. End Function ' cBrickRed~&
  1766.  
  1767. Function cDarkGreen~& ()
  1768.     cDarkGreen = _RGB32(0, 100, 0)
  1769. End Function ' cDarkGreen~&
  1770.  
  1771. Function cGreen~& ()
  1772.     cGreen = _RGB32(0, 128, 0)
  1773. End Function ' cGreen~&
  1774.  
  1775. Function cOliveDrab~& ()
  1776.     cOliveDrab = _RGB32(107, 142, 35)
  1777. End Function ' cOliveDrab~&
  1778.  
  1779. Function cLightPink~& ()
  1780.     cLightPink = _RGB32(255, 182, 193)
  1781. End Function ' cLightPink~&
  1782.  
  1783. Function cHotPink~& ()
  1784.     cHotPink = _RGB32(255, 105, 180)
  1785. End Function ' cHotPink~&
  1786.  
  1787. Function cDeepPink~& ()
  1788.     cDeepPink = _RGB32(255, 20, 147)
  1789. End Function ' cDeepPink~&
  1790.  
  1791. Function cMagenta~& ()
  1792.     cMagenta = _RGB32(255, 0, 255)
  1793. End Function ' cMagenta~&
  1794.  
  1795. Function cBlack~& ()
  1796.     cBlack = _RGB32(0, 0, 0)
  1797. End Function ' cBlack~&
  1798.  
  1799. Function cDimGray~& ()
  1800.     cDimGray = _RGB32(105, 105, 105)
  1801. End Function ' cDimGray~&
  1802.  
  1803. Function cGray~& ()
  1804.     cGray = _RGB32(128, 128, 128)
  1805. End Function ' cGray~&
  1806.  
  1807. Function cDarkGray~& ()
  1808.     cDarkGray = _RGB32(169, 169, 169)
  1809. End Function ' cDarkGray~&
  1810.  
  1811. Function cSilver~& ()
  1812.     cSilver = _RGB32(192, 192, 192)
  1813. End Function ' cSilver~&
  1814.  
  1815. Function cLightGray~& ()
  1816.     cLightGray = _RGB32(211, 211, 211)
  1817. End Function ' cLightGray~&
  1818.  
  1819. Function cGainsboro~& ()
  1820.     cGainsboro = _RGB32(220, 220, 220)
  1821. End Function ' cGainsboro~&
  1822.  
  1823. Function cWhiteSmoke~& ()
  1824.     cWhiteSmoke = _RGB32(245, 245, 245)
  1825. End Function ' cWhiteSmoke~&
  1826.  
  1827. Function cWhite~& ()
  1828.     cWhite = _RGB32(255, 255, 255)
  1829.     'cWhite = _RGB32(254, 254, 254)
  1830. End Function ' cWhite~&
  1831.  
  1832. Function cDarkBrown~& ()
  1833.     cDarkBrown = _RGB32(128, 64, 0)
  1834. End Function ' cDarkBrown~&
  1835.  
  1836. Function cLightBrown~& ()
  1837.     cLightBrown = _RGB32(196, 96, 0)
  1838. End Function ' cLightBrown~&
  1839.  
  1840. Function cKhaki~& ()
  1841.     cKhaki = _RGB32(240, 230, 140)
  1842. End Function ' cKhaki~&
  1843.  
  1844. Function cEmpty~& ()
  1845.     'cEmpty~& = -1
  1846.     cEmpty = _RGB32(0, 0, 0, 0)
  1847. End Function ' cEmpty~&
  1848.  
  1849. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1850. ' END COLOR FUNCTIONS
  1851. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  1852.  
  1853. ' ################################################################################################################################################################
  1854. ' BEGIN TEST 8X8 COLOR FONT
  1855. ' ################################################################################################################################################################
  1856.  
  1857. ' /////////////////////////////////////////////////////////////////////////////
  1858. ' BASED ON DetectPixelTest3, ReShrinkImage$
  1859.  
  1860. Function CustomColorFontTest1$
  1861.     ' -----------------------------------------------------------------------------
  1862.     ' DECLARATIONS
  1863.     Dim sResult As String
  1864.  
  1865.     Dim imgScreen&
  1866.     Dim imgBackground&
  1867.     Dim imgCharset&
  1868.     Dim iX As Integer
  1869.     Dim iY As Integer
  1870.     Dim iOffsetX As Integer
  1871.     Dim iOffSetY As Integer
  1872.     Dim iTileNum As Integer
  1873.     Dim MyString As String
  1874.     Dim iLoop1 As Integer
  1875.     Dim iForeColor As Integer
  1876.     Dim iBackColor As Integer
  1877.     Dim fgColor As _Unsigned Long
  1878.     Dim bgColor As _Unsigned Long
  1879.     Dim bHaveForeColor As Integer
  1880.     Dim bHaveBackColor As Integer
  1881.     Dim iPos1 As Integer
  1882.     ReDim arrColor(-1) As ColorType
  1883.     Dim iCols As Integer
  1884.     Dim iRows As Integer
  1885.     Dim bFinished As Integer
  1886.  
  1887.     ' -----------------------------------------------------------------------------
  1888.     ' INITIALIZE
  1889.  
  1890.     ' LOAD BACKGROUND IMAGE
  1891.     imgBackground& = _NewImage(1024, 768, 32)
  1892.     Screen imgBackground&
  1893.     Cls , cBlack ' set the background color
  1894.  
  1895.     ' COPY BACKGROUND TO SCREEN
  1896.     imgScreen& = _CopyImage(imgBackground&, 32)
  1897.  
  1898.     ' LOAD TEXT FONT (16 cols x 16 rows of 8x8 tiles)
  1899.     sFile$ = m_ProgramPath$ + "Font_8x8_#1_128x128.png" ' 128x128 total, 16x16 of 8x8 tiles
  1900.     imgCharset& = _LoadImage(sFile$, 32)
  1901.  
  1902.     ' DISPLAY SCREEN
  1903.     Screen imgScreen&
  1904.  
  1905.     ' -----------------------------------------------------------------------------
  1906.     ' PLOT TO SCREEN
  1907.     'iCols = _Width(0) \ _FontWidth
  1908.     'iRows = _Height(0) \ _FontHeight
  1909.     iCols = _Width(0) \ 8
  1910.     iRows = _Height(0) \ 8
  1911.    
  1912.     'DebugPrint "iCols = " + cstr$(iCols)
  1913.     'DebugPrint "iRows = " + cstr$(iRows)
  1914.    
  1915.     MyString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()-=_+[]{}\|;:'" + Chr$(34) + ",./<>?`~"
  1916.     AddColors arrColor()
  1917.     iOffsetX = 0
  1918.     iOffSetY = 0
  1919.     iForeColor = LBound(arrColor)
  1920.     iBackColor = LBound(arrColor)
  1921.     'iPos1 = 0
  1922.     iY = -1
  1923.     iX = -1
  1924.     iTileNum = 32
  1925.     bHaveBackColor = TRUE
  1926.     bFinished = FALSE
  1927.     Do
  1928.         iX = iX + 1
  1929.         If iX >= iCols Then
  1930.             iX = 0
  1931.             iY = iY + 1
  1932.             If iY >= iRows Then bFinished = TRUE
  1933.         End If
  1934.         If bFinished = FALSE Then
  1935.             ' GET TILE
  1936.             'iPos1 = iPos1 + 1
  1937.             'If iPos1 > Len(MyString) Then iPos1 = 1
  1938.             'iTileNum = Asc(Mid$(MyString, iPos1, 1))
  1939.             iTileNum = iTileNum + 1
  1940.             If iTileNum > 255 Then iTileNum = 33
  1941.            
  1942.             ' GET FORE COLOR
  1943.             bHaveForeColor = FALSE
  1944.             Do
  1945.                 iForeColor = iForeColor + 1
  1946.                 If iForeColor > UBound(arrColor) Then
  1947.                     iForeColor = LBound(arrColor)
  1948.                     bHaveBackColor = FALSE
  1949.                 End If
  1950.                 If iForeColor <> iBackColor Then
  1951.                     If arrColor(iForeColor).value <> cEmpty Then
  1952.                         bHaveForeColor = TRUE
  1953.                     End If
  1954.                 End If
  1955.             Loop Until bHaveForeColor = TRUE
  1956.            
  1957.             ' GET BACK COLOR
  1958.             If bHaveBackColor = FALSE Then
  1959.                 Do
  1960.                     iBackColor = iBackColor + 1
  1961.                     If iBackColor > UBound(arrColor) Then
  1962.                         'bFinished = TRUE
  1963.                         'Exit Do
  1964.                         iBackColor = LBound(arrColor)
  1965.                     End If
  1966.                     If iBackColor <> iForeColor Then
  1967.                         'If arrColor(iBackColor).value <> cEmpty Then
  1968.                             bHaveBackColor = TRUE
  1969.                         'End If
  1970.                     End If
  1971.                 Loop Until bHaveBackColor = TRUE
  1972.             End If
  1973.            
  1974.             ' DRAW TILE
  1975.             If bFinished = FALSE Then
  1976.                 'DebugPrint _
  1977.                 '    "Tile " + _Trim$(Str$(iTileNum)) + " " + _
  1978.                 '    "at (" + _Trim$(Str$(iX)) + "," + _Trim$(Str$(iY)) + ") " + _
  1979.                 '    "fgcolor = " + arrColor(iForeColor).name + " " + _
  1980.                 '    "bgcolor = " + arrColor(iBackColor).name
  1981.                
  1982.                 DrawColorTile imgScreen&, imgCharset&, iTileNum, _
  1983.                     arrColor(iForeColor).value, arrColor(iBackColor).value, _
  1984.                     iX, iY, iOffsetX, iOffsetY
  1985.             End If
  1986.         End If
  1987.     Loop Until bFinished = TRUE
  1988.    
  1989. IF TRUE=FALSE THEN
  1990.     iTileNum = ASC("#")
  1991.     fgColor = cWhite
  1992.     For iX = 0 To iCols-1
  1993.         bgColor = cBlue
  1994.         iY = 0: DrawColorTile imgScreen&, imgCharset&, iTileNum, _
  1995.                     fgColor, bgColor, _
  1996.                     iX, iY, iOffsetX, iOffsetY
  1997.         bgColor = cRed
  1998.         iY = iRows-1: DrawColorTile imgScreen&, imgCharset&, iTileNum, _
  1999.                     fgColor, bgColor, _
  2000.                     iX, iY, iOffsetX, iOffsetY
  2001.     Next iX
  2002.     For iY = 0 To iRows-1
  2003.         bgColor = cYellow
  2004.         iX = 0: DrawColorTile imgScreen&, imgCharset&, iTileNum, _
  2005.                     fgColor, bgColor, _
  2006.                     iX, iY, iOffsetX, iOffsetY
  2007.         bgColor = cLime
  2008.         iX = iCols-1: DrawColorTile imgScreen&, imgCharset&, iTileNum, _
  2009.                     fgColor, bgColor, _
  2010.                     iX, iY, iOffsetX, iOffsetY
  2011.     Next iY
  2012.    
  2013.     ' -----------------------------------------------------------------------------
  2014.     ' UPDATE SCREEN
  2015.     _Display ' update screen with changes
  2016.  
  2017.     ' -----------------------------------------------------------------------------
  2018.     ' DONE
  2019.     LOCATE 10,10
  2020.     'Input "Press ENTER to continue"; in$
  2021.     SLEEP
  2022.    
  2023.     ' -----------------------------------------------------------------------------
  2024.     ' FREE MEMORY
  2025.     Screen 0
  2026.     IF imgScreen& < -1 OR imgScreen& > 0 THEN _FreeImage imgScreen&
  2027.     IF imgBackground& < -1 OR imgBackground& > 0 THEN _FreeImage imgBackground&
  2028.     IF imgCharset& < -1 OR imgCharset& > 0 THEN _FreeImage imgCharset&
  2029.  
  2030.     ' -----------------------------------------------------------------------------
  2031.     ' RETURN RESULT
  2032.     CustomColorFontTest1 = ""
  2033. End Function ' CustomColorFontTest1$
  2034.  
  2035. ' ################################################################################################################################################################
  2036. ' END TEST 8X8 COLOR FONT
  2037. ' ################################################################################################################################################################
  2038.  
  2039. ' ################################################################################################################################################################
  2040. ' BEGIN GRAPHIC TILE FUNCTIONS
  2041. ' ################################################################################################################################################################
  2042.  
  2043. ' /////////////////////////////////////////////////////////////////////////////
  2044. ' Draw entire array on screen.
  2045.  
  2046. Sub PlotTiles (arrTiles() As Integer, imgTiles&, imgScreen&)
  2047.     Dim dx%
  2048.     Dim dy%
  2049.     Dim TileNum%
  2050.        
  2051.     Screen imgScreen&
  2052.        
  2053.     For dx% = 1 To UBound(arrTiles, 1)
  2054.         For dy% = 1 To UBound(arrTiles, 2)
  2055.             TileNum% = arrTiles(dx%, dy%)
  2056.             DrawTile imgTiles&, TileNum%, imgScreen&, dx% - 1, dy% - 1
  2057.         Next dy%
  2058.     Next dx%
  2059.        
  2060.     '_Display ' update screen with changes
  2061. End Sub ' PlotTiles
  2062.  
  2063. ' /////////////////////////////////////////////////////////////////////////////
  2064. ' DIV and MOD:
  2065. ' c% = a% \ b% ' DIV (INTEGER DIVISION)
  2066. ' d% = a% MOD b% ' MODULO (DIVISION REMAINDER)
  2067.  
  2068. ' tw% = tile width/height (in pixels)
  2069.  
  2070. Sub DrawTile (imgTiles&, TileNum%, imgScreen&, dx%, dy%)
  2071.     '_PUTIMAGE (0, 0), i ' places image at upper left corner of window w/o stretching it
  2072.     '_PUTIMAGE (dx1, dy1), sourceHandle&, destHandle&, (sx1, sy1)-(sx2, sy2) ' portion of source to the top-left corner of the destination page
  2073.     '_PUTIMAGE (64,  128), imgTiles&,      imgScreen&,   (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  2074.     '_PutImage (64, 128), imgTiles&, imgScreen&, (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  2075.        
  2076.     ' # OF COLUMNS / ROWS ON SOURCE TILE SHEET
  2077.     cols% = 16
  2078.     rows% = 16
  2079.        
  2080.     ' GET THE COLUMN/ROW OF TILE # TileNum% ON THE SOURCE TILE SHEET
  2081.     sc% = TileNum% Mod rows%
  2082.     sr% = TileNum% \ rows%
  2083.        
  2084.     'Print "Tile#" + cstr$(TileNum%) + " at sc%=" + cstr$(sc%) + ",sr%=" + cstr$(sr%)
  2085.        
  2086.     ' GET THE START X COORDINATE ON THE SOURCE TILE SHEET
  2087.     'sx1% = sc% * tw%
  2088.     sx1% = sc% * 32
  2089.        
  2090.     ' GET THE START Y COORDINATE ON THE SOURCE TILE SHEET
  2091.     'sy1% = sr% * tw%
  2092.     sy1% = sr% * 32
  2093.        
  2094.     ' GET THE END X COORDINATE ON THE SOURCE TILE SHEET
  2095.     'sx2% = sx1% + (tw% - 1)
  2096.     sx2% = sx1% + 31
  2097.        
  2098.     ' GET THE END y COORDINATE ON THE SOURCE TILE SHEET
  2099.     'sy2% = sy1% + (tw% - 1)
  2100.     sy2% = sy1% + 31
  2101.        
  2102.     ' GET THE DESTINATION X COORDINATE ON THE SCREEN
  2103.     'xDest% = dx% * tw%
  2104.     xDest% = dx% * 32
  2105.        
  2106.     ' GET THE DESTINATION Y COORDINATE ON THE SCREEN
  2107.     'yDest% = (dy% * tw%) + 64
  2108.     yDest% = (dy% * 32) + 64
  2109.        
  2110.     'DebugPrint "Tile#" + cstr$(TileNum%) + " at r" + cstr$(sr%) + "c" + cstr$(sc%) + " pixel location r" + cstr$(sy1%) + "c" + cstr$(sx1%) + " through r" + cstr$(sy2%) + "c" + cstr$(sx2%)
  2111.        
  2112.     _Dest imgScreen&
  2113.     _PutImage (xDest%, yDest%), imgTiles&, imgScreen&, (sx1%, sy1%)-(sx2%, sy2%) ' portion of source to the top-left corner of the destination page
  2114.        
  2115. End Sub ' DrawTile
  2116.  
  2117. ' ################################################################################################################################################################
  2118. ' END GRAPHIC TILE FUNCTIONS
  2119. ' ################################################################################################################################################################
  2120.  
  2121. ' ################################################################################################################################################################
  2122. ' BEGIN TILE DEFINITIONS
  2123. ' ################################################################################################################################################################
  2124.  
  2125. ' /////////////////////////////////////////////////////////////////////////////
  2126. ' Loads tileset of 256 8x8 tiles into a 128x128 image (16 columns x 16 rows)
  2127. ' where tiles are a single color.
  2128.  
  2129. ' Parameters:
  2130. ' imgTiles& = contains the resulting tileset image
  2131. ' fgColor = tile color
  2132. ' bgColor = tile background color
  2133.  
  2134. Function GetTiles$(imgTiles&, fgColor AS _UNSIGNED Long, bgColor AS _UNSIGNED Long)
  2135.     Dim RoutineName As String : RoutineName = "GetTiles$"
  2136.     Dim sResult As String : sResult = ""
  2137.     ReDim arrTileText(0 to 255) As String
  2138.    
  2139.     Dim iTileNum As Integer
  2140.    
  2141.     ReDim arrLines(-1) As String
  2142.     DIM iFromX AS INTEGER
  2143.     DIM iFromY AS INTEGER
  2144.     Dim sLine As String
  2145.     Dim sChar As String
  2146.    
  2147.     Dim iTileX As Integer
  2148.     Dim iTileY As Integer
  2149.     Dim iToX As Integer
  2150.     Dim iToY As Integer
  2151.     Dim pixelColor As _UNSIGNED Long
  2152.     Dim bFinished As Integer
  2153.    
  2154.     ' Do not try to free image handles currently being used as the active SCREEN. Change screen modes first.
  2155.     ' _DISPLAY turns off the auto refresh screen default _AUTODISPLAY behavior. Prevents screen flickering.
  2156.     IF imgTiles& < -1 OR imgTiles& > 0 THEN _FREEIMAGE imgTiles&
  2157.     imgTiles& = _NewImage(128, 128, 32)
  2158. '    Cls , cEmpty ' set the background color as transparent
  2159.    
  2160.     'Screen imgTiles&
  2161.     'Cls , bgColor ' set the background color as transparent
  2162.     _Dest imgTiles&
  2163.     'DrawRect 0, 0, 128, 128, cEmpty
  2164.     'DrawBox 0, 0, 128, cWhite
  2165.     Cls , cEmpty ' set the background color as transparent
  2166.    
  2167.     GetTileText arrTileText()
  2168.     iTileX = 0
  2169.     iTileY = 0
  2170.     bFinished = FALSE
  2171.     For iTileNum = 0 to 255
  2172.         split arrTileText(iTileNum), chr$(13), arrLines()
  2173.         iToY = iTileY * 8
  2174.         if (iToY > _Height(imgTiles&)) then
  2175.             sResult = "iToY value " + cstr$(iToY) + " " + _
  2176.                 "exceeded image height " + cstr$(_Height(imgTiles&)) + ". " + _
  2177.                 "Exiting " + RoutineName + " at iTileNum=" + cstr$(iTileNum) + "."
  2178.             bFinished = TRUE
  2179.             Exit For
  2180.         end if
  2181.        
  2182.         For iFromY = lbound(arrLines) to ubound(arrLines)
  2183.             sLine = arrLines(iFromY)
  2184.             if len(sLine) > 0 then
  2185.                 iToX = iTileX * 8
  2186.                 for iFromX = 1 to len(sLine)
  2187.                     sChar = mid$(sLine, iFromX, 1)
  2188.                     if sChar = "." then
  2189.                         pixelColor = bgColor ' cEmpty ' POINT(iFromX, iFromY)
  2190.                     else
  2191.                         pixelColor = fgColor ' cBlack
  2192.                     end if
  2193.                     PSET(iToX, iToY), pixelColor
  2194.                     iToX = iToX + 1
  2195.                     if (iToX > _Width(imgTiles&)) then
  2196.                         sResult = "iToX value " + cstr$(iToX) + " " + _
  2197.                             "exceeded image width " + cstr$(_Width(imgTiles&)) + ". " + _
  2198.                             "Exiting " + RoutineName + " at iTileNum=" + cstr$(iTileNum) + "."
  2199.                         bFinished = TRUE
  2200.                         Exit For
  2201.                     end if
  2202.                 next iFromX
  2203.                 iToY = iToY + 1
  2204.                 If bFinished = TRUE Then Exit For
  2205.             end if
  2206.         Next iFromY
  2207.         If bFinished = TRUE Then Exit For
  2208.                
  2209.         iTileX = iTileX + 1
  2210.         if iTileX > 15 then
  2211.             iTileX = 0
  2212.             iTileY = iTileY + 1
  2213.             'if iTileY > 15 then
  2214.             '    sResult = "Exceeded max 16 rows of tiles." + _
  2215.             '        "Exiting " + RoutineName + " at iTileNum=" + cstr$(iTileNum) + "."
  2216.             '    bFinished = TRUE
  2217.             '    exit for
  2218.             'end if
  2219.         end if
  2220.     Next iTileNum
  2221.    
  2222.     GetTiles$ = sResult
  2223. End Function ' GetTiles$
  2224.  
  2225. ' /////////////////////////////////////////////////////////////////////////////
  2226. ' Returns an array of 256 8x8 tiles defined in text
  2227. ' where each tile is defined by "." as blank and anything else is a pixel
  2228. ' and each row is delimited by chr$(13)
  2229.  
  2230. Sub GetTileText(arrTileText() As String)
  2231.     ReDim arrTileText(0 to 255) As String
  2232.    
  2233.     m$ = ""
  2234.     m$ = m$ + "22....22" + chr$(13)
  2235.     m$ = m$ + "2..22..2" + chr$(13)
  2236.     m$ = m$ + "2..2...2" + chr$(13)
  2237.     m$ = m$ + "2...2..2" + chr$(13)
  2238.     m$ = m$ + "2..22..2" + chr$(13)
  2239.     m$ = m$ + "2..22..2" + chr$(13)
  2240.     m$ = m$ + "22....22" + chr$(13)
  2241.     m$ = m$ + "22222222" + chr$(13)
  2242.     arrTileText(0) = m$
  2243.  
  2244.     m$ = ""
  2245.     m$ = m$ + "........" + chr$(13)
  2246.     m$ = m$ + "........" + chr$(13)
  2247.     m$ = m$ + "........" + chr$(13)
  2248.     m$ = m$ + "........" + chr$(13)
  2249.     m$ = m$ + "........" + chr$(13)
  2250.     m$ = m$ + "........" + chr$(13)
  2251.     m$ = m$ + "........" + chr$(13)
  2252.     m$ = m$ + "........" + chr$(13)
  2253.     arrTileText(1) = m$
  2254.  
  2255.     m$ = ""
  2256.     m$ = m$ + "........" + chr$(13)
  2257.     m$ = m$ + "........" + chr$(13)
  2258.     m$ = m$ + "........" + chr$(13)
  2259.     m$ = m$ + "........" + chr$(13)
  2260.     m$ = m$ + "........" + chr$(13)
  2261.     m$ = m$ + "........" + chr$(13)
  2262.     m$ = m$ + "........" + chr$(13)
  2263.     m$ = m$ + "........" + chr$(13)
  2264.     arrTileText(2) = m$
  2265.  
  2266.     m$ = ""
  2267.     m$ = m$ + "........" + chr$(13)
  2268.     m$ = m$ + "........" + chr$(13)
  2269.     m$ = m$ + "........" + chr$(13)
  2270.     m$ = m$ + "........" + chr$(13)
  2271.     m$ = m$ + "........" + chr$(13)
  2272.     m$ = m$ + "........" + chr$(13)
  2273.     m$ = m$ + "........" + chr$(13)
  2274.     m$ = m$ + "........" + chr$(13)
  2275.     arrTileText(3) = m$
  2276.  
  2277.     m$ = ""
  2278.     m$ = m$ + "........" + chr$(13)
  2279.     m$ = m$ + "........" + chr$(13)
  2280.     m$ = m$ + "........" + chr$(13)
  2281.     m$ = m$ + "........" + chr$(13)
  2282.     m$ = m$ + "........" + chr$(13)
  2283.     m$ = m$ + "........" + chr$(13)
  2284.     m$ = m$ + "........" + chr$(13)
  2285.     m$ = m$ + "........" + chr$(13)
  2286.     arrTileText(4) = m$
  2287.  
  2288.     m$ = ""
  2289.     m$ = m$ + "........" + chr$(13)
  2290.     m$ = m$ + "........" + chr$(13)
  2291.     m$ = m$ + "........" + chr$(13)
  2292.     m$ = m$ + "........" + chr$(13)
  2293.     m$ = m$ + "........" + chr$(13)
  2294.     m$ = m$ + "........" + chr$(13)
  2295.     m$ = m$ + "........" + chr$(13)
  2296.     m$ = m$ + "........" + chr$(13)
  2297.     arrTileText(5) = m$
  2298.  
  2299.     m$ = ""
  2300.     m$ = m$ + "........" + chr$(13)
  2301.     m$ = m$ + "........" + chr$(13)
  2302.     m$ = m$ + "........" + chr$(13)
  2303.     m$ = m$ + "........" + chr$(13)
  2304.     m$ = m$ + "........" + chr$(13)
  2305.     m$ = m$ + "........" + chr$(13)
  2306.     m$ = m$ + "........" + chr$(13)
  2307.     m$ = m$ + "........" + chr$(13)
  2308.     arrTileText(6) = m$
  2309.  
  2310.     m$ = ""
  2311.     m$ = m$ + "........" + chr$(13)
  2312.     m$ = m$ + "........" + chr$(13)
  2313.     m$ = m$ + "........" + chr$(13)
  2314.     m$ = m$ + "........" + chr$(13)
  2315.     m$ = m$ + "........" + chr$(13)
  2316.     m$ = m$ + "........" + chr$(13)
  2317.     m$ = m$ + "........" + chr$(13)
  2318.     m$ = m$ + "........" + chr$(13)
  2319.     arrTileText(7) = m$
  2320.  
  2321.     m$ = ""
  2322.     m$ = m$ + "........" + chr$(13)
  2323.     m$ = m$ + "........" + chr$(13)
  2324.     m$ = m$ + "........" + chr$(13)
  2325.     m$ = m$ + "........" + chr$(13)
  2326.     m$ = m$ + "........" + chr$(13)
  2327.     m$ = m$ + "........" + chr$(13)
  2328.     m$ = m$ + "........" + chr$(13)
  2329.     m$ = m$ + "........" + chr$(13)
  2330.     arrTileText(8) = m$
  2331.  
  2332.     m$ = ""
  2333.     m$ = m$ + "........" + chr$(13)
  2334.     m$ = m$ + "........" + chr$(13)
  2335.     m$ = m$ + "........" + chr$(13)
  2336.     m$ = m$ + "........" + chr$(13)
  2337.     m$ = m$ + "........" + chr$(13)
  2338.     m$ = m$ + "........" + chr$(13)
  2339.     m$ = m$ + "........" + chr$(13)
  2340.     m$ = m$ + "........" + chr$(13)
  2341.     arrTileText(9) = m$
  2342.  
  2343.     m$ = ""
  2344.     m$ = m$ + "........" + chr$(13)
  2345.     m$ = m$ + "........" + chr$(13)
  2346.     m$ = m$ + "........" + chr$(13)
  2347.     m$ = m$ + "........" + chr$(13)
  2348.     m$ = m$ + "........" + chr$(13)
  2349.     m$ = m$ + "........" + chr$(13)
  2350.     m$ = m$ + "........" + chr$(13)
  2351.     m$ = m$ + "........" + chr$(13)
  2352.     arrTileText(10) = m$
  2353.  
  2354.     m$ = ""
  2355.     m$ = m$ + "........" + chr$(13)
  2356.     m$ = m$ + "........" + chr$(13)
  2357.     m$ = m$ + "........" + chr$(13)
  2358.     m$ = m$ + "........" + chr$(13)
  2359.     m$ = m$ + "........" + chr$(13)
  2360.     m$ = m$ + "........" + chr$(13)
  2361.     m$ = m$ + "........" + chr$(13)
  2362.     m$ = m$ + "........" + chr$(13)
  2363.     arrTileText(11) = m$
  2364.  
  2365.     m$ = ""
  2366.     m$ = m$ + "........" + chr$(13)
  2367.     m$ = m$ + "........" + chr$(13)
  2368.     m$ = m$ + "........" + chr$(13)
  2369.     m$ = m$ + "........" + chr$(13)
  2370.     m$ = m$ + "........" + chr$(13)
  2371.     m$ = m$ + "........" + chr$(13)
  2372.     m$ = m$ + "........" + chr$(13)
  2373.     m$ = m$ + "........" + chr$(13)
  2374.     arrTileText(12) = m$
  2375.  
  2376.     m$ = ""
  2377.     m$ = m$ + "........" + chr$(13)
  2378.     m$ = m$ + "........" + chr$(13)
  2379.     m$ = m$ + "........" + chr$(13)
  2380.     m$ = m$ + "........" + chr$(13)
  2381.     m$ = m$ + "........" + chr$(13)
  2382.     m$ = m$ + "........" + chr$(13)
  2383.     m$ = m$ + "........" + chr$(13)
  2384.     m$ = m$ + "........" + chr$(13)
  2385.     arrTileText(13) = m$
  2386.  
  2387.     m$ = ""
  2388.     m$ = m$ + "........" + chr$(13)
  2389.     m$ = m$ + "........" + chr$(13)
  2390.     m$ = m$ + "........" + chr$(13)
  2391.     m$ = m$ + "........" + chr$(13)
  2392.     m$ = m$ + "........" + chr$(13)
  2393.     m$ = m$ + "........" + chr$(13)
  2394.     m$ = m$ + "........" + chr$(13)
  2395.     m$ = m$ + "........" + chr$(13)
  2396.     arrTileText(14) = m$
  2397.  
  2398.     m$ = ""
  2399.     m$ = m$ + "........" + chr$(13)
  2400.     m$ = m$ + "........" + chr$(13)
  2401.     m$ = m$ + "........" + chr$(13)
  2402.     m$ = m$ + "........" + chr$(13)
  2403.     m$ = m$ + "........" + chr$(13)
  2404.     m$ = m$ + "........" + chr$(13)
  2405.     m$ = m$ + "........" + chr$(13)
  2406.     m$ = m$ + "........" + chr$(13)
  2407.     arrTileText(15) = m$
  2408.  
  2409.     m$ = ""
  2410.     m$ = m$ + "........" + chr$(13)
  2411.     m$ = m$ + "........" + chr$(13)
  2412.     m$ = m$ + "........" + chr$(13)
  2413.     m$ = m$ + "........" + chr$(13)
  2414.     m$ = m$ + "........" + chr$(13)
  2415.     m$ = m$ + "........" + chr$(13)
  2416.     m$ = m$ + "........" + chr$(13)
  2417.     m$ = m$ + "........" + chr$(13)
  2418.     arrTileText(16) = m$
  2419.  
  2420.     m$ = ""
  2421.     m$ = m$ + "........" + chr$(13)
  2422.     m$ = m$ + "........" + chr$(13)
  2423.     m$ = m$ + "........" + chr$(13)
  2424.     m$ = m$ + "........" + chr$(13)
  2425.     m$ = m$ + "........" + chr$(13)
  2426.     m$ = m$ + "........" + chr$(13)
  2427.     m$ = m$ + "........" + chr$(13)
  2428.     m$ = m$ + "........" + chr$(13)
  2429.     arrTileText(17) = m$
  2430.  
  2431.     m$ = ""
  2432.     m$ = m$ + "........" + chr$(13)
  2433.     m$ = m$ + "........" + chr$(13)
  2434.     m$ = m$ + "........" + chr$(13)
  2435.     m$ = m$ + "........" + chr$(13)
  2436.     m$ = m$ + "........" + chr$(13)
  2437.     m$ = m$ + "........" + chr$(13)
  2438.     m$ = m$ + "........" + chr$(13)
  2439.     m$ = m$ + "........" + chr$(13)
  2440.     arrTileText(18) = m$
  2441.  
  2442.     m$ = ""
  2443.     m$ = m$ + "........" + chr$(13)
  2444.     m$ = m$ + "........" + chr$(13)
  2445.     m$ = m$ + "........" + chr$(13)
  2446.     m$ = m$ + "........" + chr$(13)
  2447.     m$ = m$ + "........" + chr$(13)
  2448.     m$ = m$ + "........" + chr$(13)
  2449.     m$ = m$ + "........" + chr$(13)
  2450.     m$ = m$ + "........" + chr$(13)
  2451.     arrTileText(19) = m$
  2452.  
  2453.     m$ = ""
  2454.     m$ = m$ + "........" + chr$(13)
  2455.     m$ = m$ + "........" + chr$(13)
  2456.     m$ = m$ + "........" + chr$(13)
  2457.     m$ = m$ + "........" + chr$(13)
  2458.     m$ = m$ + "........" + chr$(13)
  2459.     m$ = m$ + "........" + chr$(13)
  2460.     m$ = m$ + "........" + chr$(13)
  2461.     m$ = m$ + "........" + chr$(13)
  2462.     arrTileText(20) = m$
  2463.  
  2464.     m$ = ""
  2465.     m$ = m$ + "........" + chr$(13)
  2466.     m$ = m$ + "........" + chr$(13)
  2467.     m$ = m$ + "........" + chr$(13)
  2468.     m$ = m$ + "........" + chr$(13)
  2469.     m$ = m$ + "........" + chr$(13)
  2470.     m$ = m$ + "........" + chr$(13)
  2471.     m$ = m$ + "........" + chr$(13)
  2472.     m$ = m$ + "........" + chr$(13)
  2473.     arrTileText(21) = m$
  2474.  
  2475.     m$ = ""
  2476.     m$ = m$ + "........" + chr$(13)
  2477.     m$ = m$ + "........" + chr$(13)
  2478.     m$ = m$ + "........" + chr$(13)
  2479.     m$ = m$ + "........" + chr$(13)
  2480.     m$ = m$ + "........" + chr$(13)
  2481.     m$ = m$ + "........" + chr$(13)
  2482.     m$ = m$ + "........" + chr$(13)
  2483.     m$ = m$ + "........" + chr$(13)
  2484.     arrTileText(22) = m$
  2485.  
  2486.     m$ = ""
  2487.     m$ = m$ + "........" + chr$(13)
  2488.     m$ = m$ + "........" + chr$(13)
  2489.     m$ = m$ + "........" + chr$(13)
  2490.     m$ = m$ + "........" + chr$(13)
  2491.     m$ = m$ + "........" + chr$(13)
  2492.     m$ = m$ + "........" + chr$(13)
  2493.     m$ = m$ + "........" + chr$(13)
  2494.     m$ = m$ + "........" + chr$(13)
  2495.     arrTileText(23) = m$
  2496.  
  2497.     m$ = ""
  2498.     m$ = m$ + "........" + chr$(13)
  2499.     m$ = m$ + "........" + chr$(13)
  2500.     m$ = m$ + "........" + chr$(13)
  2501.     m$ = m$ + "........" + chr$(13)
  2502.     m$ = m$ + "........" + chr$(13)
  2503.     m$ = m$ + "........" + chr$(13)
  2504.     m$ = m$ + "........" + chr$(13)
  2505.     m$ = m$ + "........" + chr$(13)
  2506.     arrTileText(24) = m$
  2507.  
  2508.     m$ = ""
  2509.     m$ = m$ + "........" + chr$(13)
  2510.     m$ = m$ + "........" + chr$(13)
  2511.     m$ = m$ + "........" + chr$(13)
  2512.     m$ = m$ + "........" + chr$(13)
  2513.     m$ = m$ + "........" + chr$(13)
  2514.     m$ = m$ + "........" + chr$(13)
  2515.     m$ = m$ + "........" + chr$(13)
  2516.     m$ = m$ + "........" + chr$(13)
  2517.     arrTileText(25) = m$
  2518.  
  2519.     m$ = ""
  2520.     m$ = m$ + "........" + chr$(13)
  2521.     m$ = m$ + "........" + chr$(13)
  2522.     m$ = m$ + "........" + chr$(13)
  2523.     m$ = m$ + "........" + chr$(13)
  2524.     m$ = m$ + "........" + chr$(13)
  2525.     m$ = m$ + "........" + chr$(13)
  2526.     m$ = m$ + "........" + chr$(13)
  2527.     m$ = m$ + "........" + chr$(13)
  2528.     arrTileText(26) = m$
  2529.  
  2530.     m$ = ""
  2531.     m$ = m$ + "........" + chr$(13)
  2532.     m$ = m$ + "........" + chr$(13)
  2533.     m$ = m$ + "........" + chr$(13)
  2534.     m$ = m$ + "........" + chr$(13)
  2535.     m$ = m$ + "........" + chr$(13)
  2536.     m$ = m$ + "........" + chr$(13)
  2537.     m$ = m$ + "........" + chr$(13)
  2538.     m$ = m$ + "........" + chr$(13)
  2539.     arrTileText(27) = m$
  2540.  
  2541.     m$ = ""
  2542.     m$ = m$ + "........" + chr$(13)
  2543.     m$ = m$ + "........" + chr$(13)
  2544.     m$ = m$ + "........" + chr$(13)
  2545.     m$ = m$ + "........" + chr$(13)
  2546.     m$ = m$ + "........" + chr$(13)
  2547.     m$ = m$ + "........" + chr$(13)
  2548.     m$ = m$ + "........" + chr$(13)
  2549.     m$ = m$ + "........" + chr$(13)
  2550.     arrTileText(28) = m$
  2551.  
  2552.     m$ = ""
  2553.     m$ = m$ + "........" + chr$(13)
  2554.     m$ = m$ + "........" + chr$(13)
  2555.     m$ = m$ + "........" + chr$(13)
  2556.     m$ = m$ + "........" + chr$(13)
  2557.     m$ = m$ + "........" + chr$(13)
  2558.     m$ = m$ + "........" + chr$(13)
  2559.     m$ = m$ + "........" + chr$(13)
  2560.     m$ = m$ + "........" + chr$(13)
  2561.     arrTileText(29) = m$
  2562.  
  2563.     m$ = ""
  2564.     m$ = m$ + "........" + chr$(13)
  2565.     m$ = m$ + "........" + chr$(13)
  2566.     m$ = m$ + "........" + chr$(13)
  2567.     m$ = m$ + "........" + chr$(13)
  2568.     m$ = m$ + "........" + chr$(13)
  2569.     m$ = m$ + "........" + chr$(13)
  2570.     m$ = m$ + "........" + chr$(13)
  2571.     m$ = m$ + "........" + chr$(13)
  2572.     arrTileText(30) = m$
  2573.  
  2574.     m$ = ""
  2575.     m$ = m$ + "........" + chr$(13)
  2576.     m$ = m$ + "........" + chr$(13)
  2577.     m$ = m$ + "........" + chr$(13)
  2578.     m$ = m$ + "........" + chr$(13)
  2579.     m$ = m$ + "........" + chr$(13)
  2580.     m$ = m$ + "........" + chr$(13)
  2581.     m$ = m$ + "........" + chr$(13)
  2582.     m$ = m$ + "........" + chr$(13)
  2583.     arrTileText(31) = m$
  2584.  
  2585.     m$ = ""
  2586.     m$ = m$ + "........" + chr$(13)
  2587.     m$ = m$ + "........" + chr$(13)
  2588.     m$ = m$ + "........" + chr$(13)
  2589.     m$ = m$ + "........" + chr$(13)
  2590.     m$ = m$ + "........" + chr$(13)
  2591.     m$ = m$ + "........" + chr$(13)
  2592.     m$ = m$ + "........" + chr$(13)
  2593.     m$ = m$ + "........" + chr$(13)
  2594.     arrTileText(32) = m$
  2595.  
  2596.     m$ = ""
  2597.     m$ = m$ + "...22..." + chr$(13)
  2598.     m$ = m$ + "...22..." + chr$(13)
  2599.     m$ = m$ + "...22..." + chr$(13)
  2600.     m$ = m$ + "...22..." + chr$(13)
  2601.     m$ = m$ + "........" + chr$(13)
  2602.     m$ = m$ + "........" + chr$(13)
  2603.     m$ = m$ + "...22..." + chr$(13)
  2604.     m$ = m$ + "........" + chr$(13)
  2605.     arrTileText(33) = m$
  2606.  
  2607.     m$ = ""
  2608.     m$ = m$ + ".22..22." + chr$(13)
  2609.     m$ = m$ + ".22..22." + chr$(13)
  2610.     m$ = m$ + ".22..22." + chr$(13)
  2611.     m$ = m$ + "........" + chr$(13)
  2612.     m$ = m$ + "........" + chr$(13)
  2613.     m$ = m$ + "........" + chr$(13)
  2614.     m$ = m$ + "........" + chr$(13)
  2615.     m$ = m$ + "........" + chr$(13)
  2616.     arrTileText(34) = m$
  2617.  
  2618.     m$ = ""
  2619.     m$ = m$ + ".22..22." + chr$(13)
  2620.     m$ = m$ + ".22..22." + chr$(13)
  2621.     m$ = m$ + "22222222" + chr$(13)
  2622.     m$ = m$ + ".22..22." + chr$(13)
  2623.     m$ = m$ + "22222222" + chr$(13)
  2624.     m$ = m$ + ".22..22." + chr$(13)
  2625.     m$ = m$ + ".22..22." + chr$(13)
  2626.     m$ = m$ + "........" + chr$(13)
  2627.     arrTileText(35) = m$
  2628.  
  2629.     m$ = ""
  2630.     m$ = m$ + "...22..." + chr$(13)
  2631.     m$ = m$ + "..22222." + chr$(13)
  2632.     m$ = m$ + ".22....." + chr$(13)
  2633.     m$ = m$ + "..2222.." + chr$(13)
  2634.     m$ = m$ + ".....22." + chr$(13)
  2635.     m$ = m$ + ".22222.." + chr$(13)
  2636.     m$ = m$ + "...22..." + chr$(13)
  2637.     m$ = m$ + "........" + chr$(13)
  2638.     arrTileText(36) = m$
  2639.  
  2640.     m$ = ""
  2641.     m$ = m$ + ".22...2." + chr$(13)
  2642.     m$ = m$ + ".22..22." + chr$(13)
  2643.     m$ = m$ + "....22.." + chr$(13)
  2644.     m$ = m$ + "...22..." + chr$(13)
  2645.     m$ = m$ + "..22...." + chr$(13)
  2646.     m$ = m$ + ".22..22." + chr$(13)
  2647.     m$ = m$ + ".2...22." + chr$(13)
  2648.     m$ = m$ + "........" + chr$(13)
  2649.     arrTileText(37) = m$
  2650.  
  2651.     m$ = ""
  2652.     m$ = m$ + "..2222.." + chr$(13)
  2653.     m$ = m$ + ".22..22." + chr$(13)
  2654.     m$ = m$ + "..2222.." + chr$(13)
  2655.     m$ = m$ + "..222..." + chr$(13)
  2656.     m$ = m$ + ".22..222" + chr$(13)
  2657.     m$ = m$ + ".22..22." + chr$(13)
  2658.     m$ = m$ + "..222222" + chr$(13)
  2659.     m$ = m$ + "........" + chr$(13)
  2660.     arrTileText(38) = m$
  2661.  
  2662.     m$ = ""
  2663.     m$ = m$ + ".....22." + chr$(13)
  2664.     m$ = m$ + "....22.." + chr$(13)
  2665.     m$ = m$ + "...22..." + chr$(13)
  2666.     m$ = m$ + "........" + chr$(13)
  2667.     m$ = m$ + "........" + chr$(13)
  2668.     m$ = m$ + "........" + chr$(13)
  2669.     m$ = m$ + "........" + chr$(13)
  2670.     m$ = m$ + "........" + chr$(13)
  2671.     arrTileText(39) = m$
  2672.  
  2673.     m$ = ""
  2674.     m$ = m$ + "....22.." + chr$(13)
  2675.     m$ = m$ + "...22..." + chr$(13)
  2676.     m$ = m$ + "..22...." + chr$(13)
  2677.     m$ = m$ + "..22...." + chr$(13)
  2678.     m$ = m$ + "..22...." + chr$(13)
  2679.     m$ = m$ + "...22..." + chr$(13)
  2680.     m$ = m$ + "....22.." + chr$(13)
  2681.     m$ = m$ + "........" + chr$(13)
  2682.     arrTileText(40) = m$
  2683.  
  2684.     m$ = ""
  2685.     m$ = m$ + "..22...." + chr$(13)
  2686.     m$ = m$ + "...22..." + chr$(13)
  2687.     m$ = m$ + "....22.." + chr$(13)
  2688.     m$ = m$ + "....22.." + chr$(13)
  2689.     m$ = m$ + "....22.." + chr$(13)
  2690.     m$ = m$ + "...22..." + chr$(13)
  2691.     m$ = m$ + "..22...." + chr$(13)
  2692.     m$ = m$ + "........" + chr$(13)
  2693.     arrTileText(41) = m$
  2694.  
  2695.     m$ = ""
  2696.     m$ = m$ + "........" + chr$(13)
  2697.     m$ = m$ + ".22..22." + chr$(13)
  2698.     m$ = m$ + "..2222.." + chr$(13)
  2699.     m$ = m$ + "22222222" + chr$(13)
  2700.     m$ = m$ + "..2222.." + chr$(13)
  2701.     m$ = m$ + ".22..22." + chr$(13)
  2702.     m$ = m$ + "........" + chr$(13)
  2703.     m$ = m$ + "........" + chr$(13)
  2704.     arrTileText(42) = m$
  2705.  
  2706.     m$ = ""
  2707.     m$ = m$ + "........" + chr$(13)
  2708.     m$ = m$ + "...22..." + chr$(13)
  2709.     m$ = m$ + "...22..." + chr$(13)
  2710.     m$ = m$ + ".222222." + chr$(13)
  2711.     m$ = m$ + "...22..." + chr$(13)
  2712.     m$ = m$ + "...22..." + chr$(13)
  2713.     m$ = m$ + "........" + chr$(13)
  2714.     m$ = m$ + "........" + chr$(13)
  2715.     arrTileText(43) = m$
  2716.  
  2717.     m$ = ""
  2718.     m$ = m$ + "........" + chr$(13)
  2719.     m$ = m$ + "........" + chr$(13)
  2720.     m$ = m$ + "........" + chr$(13)
  2721.     m$ = m$ + "........" + chr$(13)
  2722.     m$ = m$ + "........" + chr$(13)
  2723.     m$ = m$ + "...22..." + chr$(13)
  2724.     m$ = m$ + "...22..." + chr$(13)
  2725.     m$ = m$ + "..22...." + chr$(13)
  2726.     arrTileText(44) = m$
  2727.  
  2728.     m$ = ""
  2729.     m$ = m$ + "........" + chr$(13)
  2730.     m$ = m$ + "........" + chr$(13)
  2731.     m$ = m$ + "........" + chr$(13)
  2732.     m$ = m$ + ".222222." + chr$(13)
  2733.     m$ = m$ + "........" + chr$(13)
  2734.     m$ = m$ + "........" + chr$(13)
  2735.     m$ = m$ + "........" + chr$(13)
  2736.     m$ = m$ + "........" + chr$(13)
  2737.     arrTileText(45) = m$
  2738.  
  2739.     m$ = ""
  2740.     m$ = m$ + "........" + chr$(13)
  2741.     m$ = m$ + "........" + chr$(13)
  2742.     m$ = m$ + "........" + chr$(13)
  2743.     m$ = m$ + "........" + chr$(13)
  2744.     m$ = m$ + "........" + chr$(13)
  2745.     m$ = m$ + "...22..." + chr$(13)
  2746.     m$ = m$ + "...22..." + chr$(13)
  2747.     m$ = m$ + "........" + chr$(13)
  2748.     arrTileText(46) = m$
  2749.  
  2750.     m$ = ""
  2751.     m$ = m$ + "........" + chr$(13)
  2752.     m$ = m$ + "......22" + chr$(13)
  2753.     m$ = m$ + ".....22." + chr$(13)
  2754.     m$ = m$ + "....22.." + chr$(13)
  2755.     m$ = m$ + "...22..." + chr$(13)
  2756.     m$ = m$ + "..22...." + chr$(13)
  2757.     m$ = m$ + ".22....." + chr$(13)
  2758.     m$ = m$ + "........" + chr$(13)
  2759.     arrTileText(47) = m$
  2760.  
  2761.     m$ = ""
  2762.     m$ = m$ + "..2222.." + chr$(13)
  2763.     m$ = m$ + ".22..22." + chr$(13)
  2764.     m$ = m$ + ".22.222." + chr$(13)
  2765.     m$ = m$ + ".222.22." + chr$(13)
  2766.     m$ = m$ + ".22..22." + chr$(13)
  2767.     m$ = m$ + ".22..22." + chr$(13)
  2768.     m$ = m$ + "..2222.." + chr$(13)
  2769.     m$ = m$ + "........" + chr$(13)
  2770.     arrTileText(48) = m$
  2771.  
  2772.     m$ = ""
  2773.     m$ = m$ + "...22..." + chr$(13)
  2774.     m$ = m$ + "...22..." + chr$(13)
  2775.     m$ = m$ + "..222..." + chr$(13)
  2776.     m$ = m$ + "...22..." + chr$(13)
  2777.     m$ = m$ + "...22..." + chr$(13)
  2778.     m$ = m$ + "...22..." + chr$(13)
  2779.     m$ = m$ + ".222222." + chr$(13)
  2780.     m$ = m$ + "........" + chr$(13)
  2781.     arrTileText(49) = m$
  2782.  
  2783.     m$ = ""
  2784.     m$ = m$ + "..2222.." + chr$(13)
  2785.     m$ = m$ + ".22..22." + chr$(13)
  2786.     m$ = m$ + ".....22." + chr$(13)
  2787.     m$ = m$ + "....22.." + chr$(13)
  2788.     m$ = m$ + "..22...." + chr$(13)
  2789.     m$ = m$ + ".22....." + chr$(13)
  2790.     m$ = m$ + ".222222." + chr$(13)
  2791.     m$ = m$ + "........" + chr$(13)
  2792.     arrTileText(50) = m$
  2793.  
  2794.     m$ = ""
  2795.     m$ = m$ + "..2222.." + chr$(13)
  2796.     m$ = m$ + ".22..22." + chr$(13)
  2797.     m$ = m$ + ".....22." + chr$(13)
  2798.     m$ = m$ + "...222.." + chr$(13)
  2799.     m$ = m$ + ".....22." + chr$(13)
  2800.     m$ = m$ + ".22..22." + chr$(13)
  2801.     m$ = m$ + "..2222.." + chr$(13)
  2802.     m$ = m$ + "........" + chr$(13)
  2803.     arrTileText(51) = m$
  2804.  
  2805.     m$ = ""
  2806.     m$ = m$ + ".....22." + chr$(13)
  2807.     m$ = m$ + "....222." + chr$(13)
  2808.     m$ = m$ + "...2222." + chr$(13)
  2809.     m$ = m$ + ".22..22." + chr$(13)
  2810.     m$ = m$ + ".2222222" + chr$(13)
  2811.     m$ = m$ + ".....22." + chr$(13)
  2812.     m$ = m$ + ".....22." + chr$(13)
  2813.     m$ = m$ + "........" + chr$(13)
  2814.     arrTileText(52) = m$
  2815.  
  2816.     m$ = ""
  2817.     m$ = m$ + ".222222." + chr$(13)
  2818.     m$ = m$ + ".22....." + chr$(13)
  2819.     m$ = m$ + ".22222.." + chr$(13)
  2820.     m$ = m$ + ".....22." + chr$(13)
  2821.     m$ = m$ + ".....22." + chr$(13)
  2822.     m$ = m$ + ".22..22." + chr$(13)
  2823.     m$ = m$ + "..2222.." + chr$(13)
  2824.     m$ = m$ + "........" + chr$(13)
  2825.     arrTileText(53) = m$
  2826.  
  2827.     m$ = ""
  2828.     m$ = m$ + "..2222.." + chr$(13)
  2829.     m$ = m$ + ".22..22." + chr$(13)
  2830.     m$ = m$ + ".22....." + chr$(13)
  2831.     m$ = m$ + ".22222.." + chr$(13)
  2832.     m$ = m$ + ".22..22." + chr$(13)
  2833.     m$ = m$ + ".22..22." + chr$(13)
  2834.     m$ = m$ + "..2222.." + chr$(13)
  2835.     m$ = m$ + "........" + chr$(13)
  2836.     arrTileText(54) = m$
  2837.  
  2838.     m$ = ""
  2839.     m$ = m$ + ".222222." + chr$(13)
  2840.     m$ = m$ + ".22..22." + chr$(13)
  2841.     m$ = m$ + "....22.." + chr$(13)
  2842.     m$ = m$ + "...22..." + chr$(13)
  2843.     m$ = m$ + "...22..." + chr$(13)
  2844.     m$ = m$ + "...22..." + chr$(13)
  2845.     m$ = m$ + "...22..." + chr$(13)
  2846.     m$ = m$ + "........" + chr$(13)
  2847.     arrTileText(55) = m$
  2848.  
  2849.     m$ = ""
  2850.     m$ = m$ + "..2222.." + chr$(13)
  2851.     m$ = m$ + ".22..22." + chr$(13)
  2852.     m$ = m$ + ".22..22." + chr$(13)
  2853.     m$ = m$ + "..2222.." + chr$(13)
  2854.     m$ = m$ + ".22..22." + chr$(13)
  2855.     m$ = m$ + ".22..22." + chr$(13)
  2856.     m$ = m$ + "..2222.." + chr$(13)
  2857.     m$ = m$ + "........" + chr$(13)
  2858.     arrTileText(56) = m$
  2859.  
  2860.     m$ = ""
  2861.     m$ = m$ + "..2222.." + chr$(13)
  2862.     m$ = m$ + ".22..22." + chr$(13)
  2863.     m$ = m$ + ".22..22." + chr$(13)
  2864.     m$ = m$ + "..22222." + chr$(13)
  2865.     m$ = m$ + ".....22." + chr$(13)
  2866.     m$ = m$ + ".22..22." + chr$(13)
  2867.     m$ = m$ + "..2222.." + chr$(13)
  2868.     m$ = m$ + "........" + chr$(13)
  2869.     arrTileText(57) = m$
  2870.  
  2871.     m$ = ""
  2872.     m$ = m$ + "........" + chr$(13)
  2873.     m$ = m$ + "........" + chr$(13)
  2874.     m$ = m$ + "...22..." + chr$(13)
  2875.     m$ = m$ + "........" + chr$(13)
  2876.     m$ = m$ + "........" + chr$(13)
  2877.     m$ = m$ + "...22..." + chr$(13)
  2878.     m$ = m$ + "........" + chr$(13)
  2879.     m$ = m$ + "........" + chr$(13)
  2880.     arrTileText(58) = m$
  2881.  
  2882.     m$ = ""
  2883.     m$ = m$ + "........" + chr$(13)
  2884.     m$ = m$ + "........" + chr$(13)
  2885.     m$ = m$ + "...22..." + chr$(13)
  2886.     m$ = m$ + "........" + chr$(13)
  2887.     m$ = m$ + "........" + chr$(13)
  2888.     m$ = m$ + "...22..." + chr$(13)
  2889.     m$ = m$ + "...22..." + chr$(13)
  2890.     m$ = m$ + "..22...." + chr$(13)
  2891.     arrTileText(59) = m$
  2892.  
  2893.     m$ = ""
  2894.     m$ = m$ + "....222." + chr$(13)
  2895.     m$ = m$ + "...22..." + chr$(13)
  2896.     m$ = m$ + "..22...." + chr$(13)
  2897.     m$ = m$ + ".22....." + chr$(13)
  2898.     m$ = m$ + "..22...." + chr$(13)
  2899.     m$ = m$ + "...22..." + chr$(13)
  2900.     m$ = m$ + "....222." + chr$(13)
  2901.     m$ = m$ + "........" + chr$(13)
  2902.     arrTileText(60) = m$
  2903.  
  2904.     m$ = ""
  2905.     m$ = m$ + "........" + chr$(13)
  2906.     m$ = m$ + "........" + chr$(13)
  2907.     m$ = m$ + ".222222." + chr$(13)
  2908.     m$ = m$ + "........" + chr$(13)
  2909.     m$ = m$ + ".222222." + chr$(13)
  2910.     m$ = m$ + "........" + chr$(13)
  2911.     m$ = m$ + "........" + chr$(13)
  2912.     m$ = m$ + "........" + chr$(13)
  2913.     arrTileText(61) = m$
  2914.  
  2915.     m$ = ""
  2916.     m$ = m$ + ".222...." + chr$(13)
  2917.     m$ = m$ + "...22..." + chr$(13)
  2918.     m$ = m$ + "....22.." + chr$(13)
  2919.     m$ = m$ + ".....22." + chr$(13)
  2920.     m$ = m$ + "....22.." + chr$(13)
  2921.     m$ = m$ + "...22..." + chr$(13)
  2922.     m$ = m$ + ".222...." + chr$(13)
  2923.     m$ = m$ + "........" + chr$(13)
  2924.     arrTileText(62) = m$
  2925.  
  2926.     m$ = ""
  2927.     m$ = m$ + "..2222.." + chr$(13)
  2928.     m$ = m$ + ".22..22." + chr$(13)
  2929.     m$ = m$ + ".....22." + chr$(13)
  2930.     m$ = m$ + "....22.." + chr$(13)
  2931.     m$ = m$ + "...22..." + chr$(13)
  2932.     m$ = m$ + "........" + chr$(13)
  2933.     m$ = m$ + "...22..." + chr$(13)
  2934.     m$ = m$ + "........" + chr$(13)
  2935.     arrTileText(63) = m$
  2936.  
  2937.     m$ = ""
  2938.     m$ = m$ + "..2222.." + chr$(13)
  2939.     m$ = m$ + ".22..22." + chr$(13)
  2940.     m$ = m$ + ".22.222." + chr$(13)
  2941.     m$ = m$ + ".22.222." + chr$(13)
  2942.     m$ = m$ + ".22....." + chr$(13)
  2943.     m$ = m$ + ".22...2." + chr$(13)
  2944.     m$ = m$ + "..2222.." + chr$(13)
  2945.     m$ = m$ + "........" + chr$(13)
  2946.     arrTileText(64) = m$
  2947.  
  2948.     m$ = ""
  2949.     m$ = m$ + "...22..." + chr$(13)
  2950.     m$ = m$ + "..2222.." + chr$(13)
  2951.     m$ = m$ + ".22..22." + chr$(13)
  2952.     m$ = m$ + ".222222." + chr$(13)
  2953.     m$ = m$ + ".22..22." + chr$(13)
  2954.     m$ = m$ + ".22..22." + chr$(13)
  2955.     m$ = m$ + ".22..22." + chr$(13)
  2956.     m$ = m$ + "........" + chr$(13)
  2957.     arrTileText(65) = m$
  2958.  
  2959.     m$ = ""
  2960.     m$ = m$ + ".22222.." + chr$(13)
  2961.     m$ = m$ + ".22..22." + chr$(13)
  2962.     m$ = m$ + ".22..22." + chr$(13)
  2963.     m$ = m$ + ".22222.." + chr$(13)
  2964.     m$ = m$ + ".22..22." + chr$(13)
  2965.     m$ = m$ + ".22..22." + chr$(13)
  2966.     m$ = m$ + ".22222.." + chr$(13)
  2967.     m$ = m$ + "........" + chr$(13)
  2968.     arrTileText(66) = m$
  2969.  
  2970.     m$ = ""
  2971.     m$ = m$ + "..2222.." + chr$(13)
  2972.     m$ = m$ + ".22..22." + chr$(13)
  2973.     m$ = m$ + ".22....." + chr$(13)
  2974.     m$ = m$ + ".22....." + chr$(13)
  2975.     m$ = m$ + ".22....." + chr$(13)
  2976.     m$ = m$ + ".22..22." + chr$(13)
  2977.     m$ = m$ + "..2222.." + chr$(13)
  2978.     m$ = m$ + "........" + chr$(13)
  2979.     arrTileText(67) = m$
  2980.  
  2981.     m$ = ""
  2982.     m$ = m$ + ".2222..." + chr$(13)
  2983.     m$ = m$ + ".22.22.." + chr$(13)
  2984.     m$ = m$ + ".22..22." + chr$(13)
  2985.     m$ = m$ + ".22..22." + chr$(13)
  2986.     m$ = m$ + ".22..22." + chr$(13)
  2987.     m$ = m$ + ".22.22.." + chr$(13)
  2988.     m$ = m$ + ".2222..." + chr$(13)
  2989.     m$ = m$ + "........" + chr$(13)
  2990.     arrTileText(68) = m$
  2991.  
  2992.     m$ = ""
  2993.     m$ = m$ + ".222222." + chr$(13)
  2994.     m$ = m$ + ".22....." + chr$(13)
  2995.     m$ = m$ + ".22....." + chr$(13)
  2996.     m$ = m$ + ".2222..." + chr$(13)
  2997.     m$ = m$ + ".22....." + chr$(13)
  2998.     m$ = m$ + ".22....." + chr$(13)
  2999.     m$ = m$ + ".222222." + chr$(13)
  3000.     m$ = m$ + "........" + chr$(13)
  3001.     arrTileText(69) = m$
  3002.  
  3003.     m$ = ""
  3004.     m$ = m$ + ".222222." + chr$(13)
  3005.     m$ = m$ + ".22....." + chr$(13)
  3006.     m$ = m$ + ".22....." + chr$(13)
  3007.     m$ = m$ + ".2222..." + chr$(13)
  3008.     m$ = m$ + ".22....." + chr$(13)
  3009.     m$ = m$ + ".22....." + chr$(13)
  3010.     m$ = m$ + ".22....." + chr$(13)
  3011.     m$ = m$ + "........" + chr$(13)
  3012.     arrTileText(70) = m$
  3013.  
  3014.     m$ = ""
  3015.     m$ = m$ + "..2222.." + chr$(13)
  3016.     m$ = m$ + ".22..22." + chr$(13)
  3017.     m$ = m$ + ".22....." + chr$(13)
  3018.     m$ = m$ + ".22.222." + chr$(13)
  3019.     m$ = m$ + ".22..22." + chr$(13)
  3020.     m$ = m$ + ".22..22." + chr$(13)
  3021.     m$ = m$ + "..2222.." + chr$(13)
  3022.     m$ = m$ + "........" + chr$(13)
  3023.     arrTileText(71) = m$
  3024.  
  3025.     m$ = ""
  3026.     m$ = m$ + ".22..22." + chr$(13)
  3027.     m$ = m$ + ".22..22." + chr$(13)
  3028.     m$ = m$ + ".22..22." + chr$(13)
  3029.     m$ = m$ + ".222222." + chr$(13)
  3030.     m$ = m$ + ".22..22." + chr$(13)
  3031.     m$ = m$ + ".22..22." + chr$(13)
  3032.     m$ = m$ + ".22..22." + chr$(13)
  3033.     m$ = m$ + "........" + chr$(13)
  3034.     arrTileText(72) = m$
  3035.  
  3036.     m$ = ""
  3037.     m$ = m$ + "..2222.." + chr$(13)
  3038.     m$ = m$ + "...22..." + chr$(13)
  3039.     m$ = m$ + "...22..." + chr$(13)
  3040.     m$ = m$ + "...22..." + chr$(13)
  3041.     m$ = m$ + "...22..." + chr$(13)
  3042.     m$ = m$ + "...22..." + chr$(13)
  3043.     m$ = m$ + "..2222.." + chr$(13)
  3044.     m$ = m$ + "........" + chr$(13)
  3045.     arrTileText(73) = m$
  3046.  
  3047.     m$ = ""
  3048.     m$ = m$ + "...2222." + chr$(13)
  3049.     m$ = m$ + "....22.." + chr$(13)
  3050.     m$ = m$ + "....22.." + chr$(13)
  3051.     m$ = m$ + "....22.." + chr$(13)
  3052.     m$ = m$ + "....22.." + chr$(13)
  3053.     m$ = m$ + ".22.22.." + chr$(13)
  3054.     m$ = m$ + "..222..." + chr$(13)
  3055.     m$ = m$ + "........" + chr$(13)
  3056.     arrTileText(74) = m$
  3057.  
  3058.     m$ = ""
  3059.     m$ = m$ + ".22..22." + chr$(13)
  3060.     m$ = m$ + ".22.22.." + chr$(13)
  3061.     m$ = m$ + ".2222..." + chr$(13)
  3062.     m$ = m$ + ".222...." + chr$(13)
  3063.     m$ = m$ + ".2222..." + chr$(13)
  3064.     m$ = m$ + ".22.22.." + chr$(13)
  3065.     m$ = m$ + ".22..22." + chr$(13)
  3066.     m$ = m$ + "........" + chr$(13)
  3067.     arrTileText(75) = m$
  3068.  
  3069.     m$ = ""
  3070.     m$ = m$ + ".22....." + chr$(13)
  3071.     m$ = m$ + ".22....." + chr$(13)
  3072.     m$ = m$ + ".22....." + chr$(13)
  3073.     m$ = m$ + ".22....." + chr$(13)
  3074.     m$ = m$ + ".22....." + chr$(13)
  3075.     m$ = m$ + ".22....." + chr$(13)
  3076.     m$ = m$ + ".222222." + chr$(13)
  3077.     m$ = m$ + "........" + chr$(13)
  3078.     arrTileText(76) = m$
  3079.  
  3080.     m$ = ""
  3081.     m$ = m$ + ".22...22" + chr$(13)
  3082.     m$ = m$ + ".222.222" + chr$(13)
  3083.     m$ = m$ + ".2222222" + chr$(13)
  3084.     m$ = m$ + ".22.2.22" + chr$(13)
  3085.     m$ = m$ + ".22...22" + chr$(13)
  3086.     m$ = m$ + ".22...22" + chr$(13)
  3087.     m$ = m$ + ".22...22" + chr$(13)
  3088.     m$ = m$ + "........" + chr$(13)
  3089.     arrTileText(77) = m$
  3090.  
  3091.     m$ = ""
  3092.     m$ = m$ + ".22..22." + chr$(13)
  3093.     m$ = m$ + ".222.22." + chr$(13)
  3094.     m$ = m$ + ".222222." + chr$(13)
  3095.     m$ = m$ + ".222222." + chr$(13)
  3096.     m$ = m$ + ".22.222." + chr$(13)
  3097.     m$ = m$ + ".22..22." + chr$(13)
  3098.     m$ = m$ + ".22..22." + chr$(13)
  3099.     m$ = m$ + "........" + chr$(13)
  3100.     arrTileText(78) = m$
  3101.  
  3102.     m$ = ""
  3103.     m$ = m$ + "..2222.." + chr$(13)
  3104.     m$ = m$ + ".22..22." + chr$(13)
  3105.     m$ = m$ + ".22..22." + chr$(13)
  3106.     m$ = m$ + ".22..22." + chr$(13)
  3107.     m$ = m$ + ".22..22." + chr$(13)
  3108.     m$ = m$ + ".22..22." + chr$(13)
  3109.     m$ = m$ + "..2222.." + chr$(13)
  3110.     m$ = m$ + "........" + chr$(13)
  3111.     arrTileText(79) = m$
  3112.  
  3113.     m$ = ""
  3114.     m$ = m$ + ".22222.." + chr$(13)
  3115.     m$ = m$ + ".22..22." + chr$(13)
  3116.     m$ = m$ + ".22..22." + chr$(13)
  3117.     m$ = m$ + ".22222.." + chr$(13)
  3118.     m$ = m$ + ".22....." + chr$(13)
  3119.     m$ = m$ + ".22....." + chr$(13)
  3120.     m$ = m$ + ".22....." + chr$(13)
  3121.     m$ = m$ + "........" + chr$(13)
  3122.     arrTileText(80) = m$
  3123.  
  3124.     m$ = ""
  3125.     m$ = m$ + "..2222.." + chr$(13)
  3126.     m$ = m$ + ".22..22." + chr$(13)
  3127.     m$ = m$ + ".22..22." + chr$(13)
  3128.     m$ = m$ + ".22..22." + chr$(13)
  3129.     m$ = m$ + ".22..22." + chr$(13)
  3130.     m$ = m$ + "..2222.." + chr$(13)
  3131.     m$ = m$ + "....222." + chr$(13)
  3132.     m$ = m$ + "........" + chr$(13)
  3133.     arrTileText(81) = m$
  3134.  
  3135.     m$ = ""
  3136.     m$ = m$ + ".22222.." + chr$(13)
  3137.     m$ = m$ + ".22..22." + chr$(13)
  3138.     m$ = m$ + ".22..22." + chr$(13)
  3139.     m$ = m$ + ".22222.." + chr$(13)
  3140.     m$ = m$ + ".2222..." + chr$(13)
  3141.     m$ = m$ + ".22.22.." + chr$(13)
  3142.     m$ = m$ + ".22..22." + chr$(13)
  3143.     m$ = m$ + "........" + chr$(13)
  3144.     arrTileText(82) = m$
  3145.  
  3146.     m$ = ""
  3147.     m$ = m$ + "..2222.." + chr$(13)
  3148.     m$ = m$ + ".22..22." + chr$(13)
  3149.     m$ = m$ + ".22....." + chr$(13)
  3150.     m$ = m$ + "..2222.." + chr$(13)
  3151.     m$ = m$ + ".....22." + chr$(13)
  3152.     m$ = m$ + ".22..22." + chr$(13)
  3153.     m$ = m$ + "..2222.." + chr$(13)
  3154.     m$ = m$ + "........" + chr$(13)
  3155.     arrTileText(83) = m$
  3156.  
  3157.     m$ = ""
  3158.     m$ = m$ + ".222222." + chr$(13)
  3159.     m$ = m$ + "...22..." + chr$(13)
  3160.     m$ = m$ + "...22..." + chr$(13)
  3161.     m$ = m$ + "...22..." + chr$(13)
  3162.     m$ = m$ + "...22..." + chr$(13)
  3163.     m$ = m$ + "...22..." + chr$(13)
  3164.     m$ = m$ + "...22..." + chr$(13)
  3165.     m$ = m$ + "........" + chr$(13)
  3166.     arrTileText(84) = m$
  3167.  
  3168.     m$ = ""
  3169.     m$ = m$ + ".22..22." + chr$(13)
  3170.     m$ = m$ + ".22..22." + chr$(13)
  3171.     m$ = m$ + ".22..22." + chr$(13)
  3172.     m$ = m$ + ".22..22." + chr$(13)
  3173.     m$ = m$ + ".22..22." + chr$(13)
  3174.     m$ = m$ + ".22..22." + chr$(13)
  3175.     m$ = m$ + "..2222.." + chr$(13)
  3176.     m$ = m$ + "........" + chr$(13)
  3177.     arrTileText(85) = m$
  3178.  
  3179.     m$ = ""
  3180.     m$ = m$ + ".22..22." + chr$(13)
  3181.     m$ = m$ + ".22..22." + chr$(13)
  3182.     m$ = m$ + ".22..22." + chr$(13)
  3183.     m$ = m$ + ".22..22." + chr$(13)
  3184.     m$ = m$ + ".22..22." + chr$(13)
  3185.     m$ = m$ + "..2222.." + chr$(13)
  3186.     m$ = m$ + "...22..." + chr$(13)
  3187.     m$ = m$ + "........" + chr$(13)
  3188.     arrTileText(86) = m$
  3189.  
  3190.     m$ = ""
  3191.     m$ = m$ + ".22...22" + chr$(13)
  3192.     m$ = m$ + ".22...22" + chr$(13)
  3193.     m$ = m$ + ".22...22" + chr$(13)
  3194.     m$ = m$ + ".22.2.22" + chr$(13)
  3195.     m$ = m$ + ".2222222" + chr$(13)
  3196.     m$ = m$ + ".222.222" + chr$(13)
  3197.     m$ = m$ + ".22...22" + chr$(13)
  3198.     m$ = m$ + "........" + chr$(13)
  3199.     arrTileText(87) = m$
  3200.  
  3201.     m$ = ""
  3202.     m$ = m$ + ".22..22." + chr$(13)
  3203.     m$ = m$ + ".22..22." + chr$(13)
  3204.     m$ = m$ + "..2222.." + chr$(13)
  3205.     m$ = m$ + "...22..." + chr$(13)
  3206.     m$ = m$ + "..2222.." + chr$(13)
  3207.     m$ = m$ + ".22..22." + chr$(13)
  3208.     m$ = m$ + ".22..22." + chr$(13)
  3209.     m$ = m$ + "........" + chr$(13)
  3210.     arrTileText(88) = m$
  3211.  
  3212.     m$ = ""
  3213.     m$ = m$ + ".22..22." + chr$(13)
  3214.     m$ = m$ + ".22..22." + chr$(13)
  3215.     m$ = m$ + ".22..22." + chr$(13)
  3216.     m$ = m$ + "..2222.." + chr$(13)
  3217.     m$ = m$ + "...22..." + chr$(13)
  3218.     m$ = m$ + "...22..." + chr$(13)
  3219.     m$ = m$ + "...22..." + chr$(13)
  3220.     m$ = m$ + "........" + chr$(13)
  3221.     arrTileText(89) = m$
  3222.  
  3223.     m$ = ""
  3224.     m$ = m$ + ".222222." + chr$(13)
  3225.     m$ = m$ + ".....22." + chr$(13)
  3226.     m$ = m$ + "....22.." + chr$(13)
  3227.     m$ = m$ + "...22..." + chr$(13)
  3228.     m$ = m$ + "..22...." + chr$(13)
  3229.     m$ = m$ + ".22....." + chr$(13)
  3230.     m$ = m$ + ".222222." + chr$(13)
  3231.     m$ = m$ + "........" + chr$(13)
  3232.     arrTileText(90) = m$
  3233.  
  3234.     m$ = ""
  3235.     m$ = m$ + "..2222.." + chr$(13)
  3236.     m$ = m$ + "..22...." + chr$(13)
  3237.     m$ = m$ + "..22...." + chr$(13)
  3238.     m$ = m$ + "..22...." + chr$(13)
  3239.     m$ = m$ + "..22...." + chr$(13)
  3240.     m$ = m$ + "..22...." + chr$(13)
  3241.     m$ = m$ + "..2222.." + chr$(13)
  3242.     m$ = m$ + "........" + chr$(13)
  3243.     arrTileText(91) = m$
  3244.  
  3245.     m$ = ""
  3246.     m$ = m$ + "........" + chr$(13)
  3247.     m$ = m$ + ".22....." + chr$(13)
  3248.     m$ = m$ + "..22...." + chr$(13)
  3249.     m$ = m$ + "...22..." + chr$(13)
  3250.     m$ = m$ + "....22.." + chr$(13)
  3251.     m$ = m$ + ".....22." + chr$(13)
  3252.     m$ = m$ + "......22" + chr$(13)
  3253.     m$ = m$ + "........" + chr$(13)
  3254.     arrTileText(92) = m$
  3255.  
  3256.     m$ = ""
  3257.     m$ = m$ + "..2222.." + chr$(13)
  3258.     m$ = m$ + "....22.." + chr$(13)
  3259.     m$ = m$ + "....22.." + chr$(13)
  3260.     m$ = m$ + "....22.." + chr$(13)
  3261.     m$ = m$ + "....22.." + chr$(13)
  3262.     m$ = m$ + "....22.." + chr$(13)
  3263.     m$ = m$ + "..2222.." + chr$(13)
  3264.     m$ = m$ + "........" + chr$(13)
  3265.     arrTileText(93) = m$
  3266.  
  3267.     m$ = ""
  3268.     m$ = m$ + "...22..." + chr$(13)
  3269.     m$ = m$ + "..2222.." + chr$(13)
  3270.     m$ = m$ + ".22..22." + chr$(13)
  3271.     m$ = m$ + "........" + chr$(13)
  3272.     m$ = m$ + "........" + chr$(13)
  3273.     m$ = m$ + "........" + chr$(13)
  3274.     m$ = m$ + "........" + chr$(13)
  3275.     m$ = m$ + "........" + chr$(13)
  3276.     arrTileText(94) = m$
  3277.  
  3278.     m$ = ""
  3279.     m$ = m$ + "........" + chr$(13)
  3280.     m$ = m$ + "........" + chr$(13)
  3281.     m$ = m$ + "........" + chr$(13)
  3282.     m$ = m$ + "........" + chr$(13)
  3283.     m$ = m$ + "........" + chr$(13)
  3284.     m$ = m$ + ".222222." + chr$(13)
  3285.     m$ = m$ + "........" + chr$(13)
  3286.     m$ = m$ + "........" + chr$(13)
  3287.     arrTileText(95) = m$
  3288.  
  3289.     m$ = ""
  3290.     m$ = m$ + "........" + chr$(13)
  3291.     m$ = m$ + "........" + chr$(13)
  3292.     m$ = m$ + "........" + chr$(13)
  3293.     m$ = m$ + "........" + chr$(13)
  3294.     m$ = m$ + "........" + chr$(13)
  3295.     m$ = m$ + "........" + chr$(13)
  3296.     m$ = m$ + "........" + chr$(13)
  3297.     m$ = m$ + "........" + chr$(13)
  3298.     arrTileText(96) = m$
  3299.  
  3300.     m$ = ""
  3301.     m$ = m$ + "........" + chr$(13)
  3302.     m$ = m$ + "..2222.." + chr$(13)
  3303.     m$ = m$ + ".....22." + chr$(13)
  3304.     m$ = m$ + "..22222." + chr$(13)
  3305.     m$ = m$ + ".22..22." + chr$(13)
  3306.     m$ = m$ + "..22222." + chr$(13)
  3307.     m$ = m$ + "........" + chr$(13)
  3308.     m$ = m$ + "........" + chr$(13)
  3309.     arrTileText(97) = m$
  3310.  
  3311.     m$ = ""
  3312.     m$ = m$ + ".22....." + chr$(13)
  3313.     m$ = m$ + ".22....." + chr$(13)
  3314.     m$ = m$ + ".22222.." + chr$(13)
  3315.     m$ = m$ + ".22..22." + chr$(13)
  3316.     m$ = m$ + ".22..22." + chr$(13)
  3317.     m$ = m$ + ".22222.." + chr$(13)
  3318.     m$ = m$ + "........" + chr$(13)
  3319.     m$ = m$ + "........" + chr$(13)
  3320.     arrTileText(98) = m$
  3321.  
  3322.     m$ = ""
  3323.     m$ = m$ + "........" + chr$(13)
  3324.     m$ = m$ + "..2222.." + chr$(13)
  3325.     m$ = m$ + ".22....." + chr$(13)
  3326.     m$ = m$ + ".22....." + chr$(13)
  3327.     m$ = m$ + ".22....." + chr$(13)
  3328.     m$ = m$ + "..2222.." + chr$(13)
  3329.     m$ = m$ + "........" + chr$(13)
  3330.     m$ = m$ + "........" + chr$(13)
  3331.     arrTileText(99) = m$
  3332.  
  3333.     m$ = ""
  3334.     m$ = m$ + ".....22." + chr$(13)
  3335.     m$ = m$ + ".....22." + chr$(13)
  3336.     m$ = m$ + "..22222." + chr$(13)
  3337.     m$ = m$ + ".22..22." + chr$(13)
  3338.     m$ = m$ + ".22..22." + chr$(13)
  3339.     m$ = m$ + "..22222." + chr$(13)
  3340.     m$ = m$ + "........" + chr$(13)
  3341.     m$ = m$ + "........" + chr$(13)
  3342.     arrTileText(100) = m$
  3343.  
  3344.     m$ = ""
  3345.     m$ = m$ + "........" + chr$(13)
  3346.     m$ = m$ + "..2222.." + chr$(13)
  3347.     m$ = m$ + ".22..22." + chr$(13)
  3348.     m$ = m$ + ".222222." + chr$(13)
  3349.     m$ = m$ + ".22....." + chr$(13)
  3350.     m$ = m$ + "..2222.." + chr$(13)
  3351.     m$ = m$ + "........" + chr$(13)
  3352.     m$ = m$ + "........" + chr$(13)
  3353.     arrTileText(101) = m$
  3354.  
  3355.     m$ = ""
  3356.     m$ = m$ + "....222." + chr$(13)
  3357.     m$ = m$ + "...22..." + chr$(13)
  3358.     m$ = m$ + "..22222." + chr$(13)
  3359.     m$ = m$ + "...22..." + chr$(13)
  3360.     m$ = m$ + "...22..." + chr$(13)
  3361.     m$ = m$ + "...22..." + chr$(13)
  3362.     m$ = m$ + "........" + chr$(13)
  3363.     m$ = m$ + "........" + chr$(13)
  3364.     arrTileText(102) = m$
  3365.  
  3366.     m$ = ""
  3367.     m$ = m$ + "........" + chr$(13)
  3368.     m$ = m$ + "..22222." + chr$(13)
  3369.     m$ = m$ + ".22..22." + chr$(13)
  3370.     m$ = m$ + ".22..22." + chr$(13)
  3371.     m$ = m$ + "..22222." + chr$(13)
  3372.     m$ = m$ + ".....22." + chr$(13)
  3373.     m$ = m$ + ".22222.." + chr$(13)
  3374.     m$ = m$ + "........" + chr$(13)
  3375.     arrTileText(103) = m$
  3376.  
  3377.     m$ = ""
  3378.     m$ = m$ + ".22....." + chr$(13)
  3379.     m$ = m$ + ".22....." + chr$(13)
  3380.     m$ = m$ + ".22222.." + chr$(13)
  3381.     m$ = m$ + ".22..22." + chr$(13)
  3382.     m$ = m$ + ".22..22." + chr$(13)
  3383.     m$ = m$ + ".22..22." + chr$(13)
  3384.     m$ = m$ + "........" + chr$(13)
  3385.     m$ = m$ + "........" + chr$(13)
  3386.     arrTileText(104) = m$
  3387.  
  3388.     m$ = ""
  3389.     m$ = m$ + "...22..." + chr$(13)
  3390.     m$ = m$ + "........" + chr$(13)
  3391.     m$ = m$ + "..222..." + chr$(13)
  3392.     m$ = m$ + "...22..." + chr$(13)
  3393.     m$ = m$ + "...22..." + chr$(13)
  3394.     m$ = m$ + "..2222.." + chr$(13)
  3395.     m$ = m$ + "........" + chr$(13)
  3396.     m$ = m$ + "........" + chr$(13)
  3397.     arrTileText(105) = m$
  3398.  
  3399.     m$ = ""
  3400.     m$ = m$ + ".....22." + chr$(13)
  3401.     m$ = m$ + "........" + chr$(13)
  3402.     m$ = m$ + ".....22." + chr$(13)
  3403.     m$ = m$ + ".....22." + chr$(13)
  3404.     m$ = m$ + ".....22." + chr$(13)
  3405.     m$ = m$ + ".....22." + chr$(13)
  3406.     m$ = m$ + "..2222.." + chr$(13)
  3407.     m$ = m$ + "........" + chr$(13)
  3408.     arrTileText(106) = m$
  3409.  
  3410.     m$ = ""
  3411.     m$ = m$ + ".22....." + chr$(13)
  3412.     m$ = m$ + ".22....." + chr$(13)
  3413.     m$ = m$ + ".22.22.." + chr$(13)
  3414.     m$ = m$ + ".2222..." + chr$(13)
  3415.     m$ = m$ + ".22.22.." + chr$(13)
  3416.     m$ = m$ + ".22..22." + chr$(13)
  3417.     m$ = m$ + "........" + chr$(13)
  3418.     m$ = m$ + "........" + chr$(13)
  3419.     arrTileText(107) = m$
  3420.  
  3421.     m$ = ""
  3422.     m$ = m$ + "..222..." + chr$(13)
  3423.     m$ = m$ + "...22..." + chr$(13)
  3424.     m$ = m$ + "...22..." + chr$(13)
  3425.     m$ = m$ + "...22..." + chr$(13)
  3426.     m$ = m$ + "...22..." + chr$(13)
  3427.     m$ = m$ + "..2222.." + chr$(13)
  3428.     m$ = m$ + "........" + chr$(13)
  3429.     m$ = m$ + "........" + chr$(13)
  3430.     arrTileText(108) = m$
  3431.  
  3432.     m$ = ""
  3433.     m$ = m$ + "........" + chr$(13)
  3434.     m$ = m$ + ".22..22." + chr$(13)
  3435.     m$ = m$ + ".2222222" + chr$(13)
  3436.     m$ = m$ + ".2222222" + chr$(13)
  3437.     m$ = m$ + ".22.2.22" + chr$(13)
  3438.     m$ = m$ + ".22...22" + chr$(13)
  3439.     m$ = m$ + "........" + chr$(13)
  3440.     m$ = m$ + "........" + chr$(13)
  3441.     arrTileText(109) = m$
  3442.  
  3443.     m$ = ""
  3444.     m$ = m$ + "........" + chr$(13)
  3445.     m$ = m$ + ".22222.." + chr$(13)
  3446.     m$ = m$ + ".22..22." + chr$(13)
  3447.     m$ = m$ + ".22..22." + chr$(13)
  3448.     m$ = m$ + ".22..22." + chr$(13)
  3449.     m$ = m$ + ".22..22." + chr$(13)
  3450.     m$ = m$ + "........" + chr$(13)
  3451.     m$ = m$ + "........" + chr$(13)
  3452.     arrTileText(110) = m$
  3453.  
  3454.     m$ = ""
  3455.     m$ = m$ + "........" + chr$(13)
  3456.     m$ = m$ + "..2222.." + chr$(13)
  3457.     m$ = m$ + ".22..22." + chr$(13)
  3458.     m$ = m$ + ".22..22." + chr$(13)
  3459.     m$ = m$ + ".22..22." + chr$(13)
  3460.     m$ = m$ + "..2222.." + chr$(13)
  3461.     m$ = m$ + "........" + chr$(13)
  3462.     m$ = m$ + "........" + chr$(13)
  3463.     arrTileText(111) = m$
  3464.  
  3465.     m$ = ""
  3466.     m$ = m$ + "........" + chr$(13)
  3467.     m$ = m$ + ".22222.." + chr$(13)
  3468.     m$ = m$ + ".22..22." + chr$(13)
  3469.     m$ = m$ + ".22..22." + chr$(13)
  3470.     m$ = m$ + ".22222.." + chr$(13)
  3471.     m$ = m$ + ".22....." + chr$(13)
  3472.     m$ = m$ + ".22....." + chr$(13)
  3473.     m$ = m$ + "........" + chr$(13)
  3474.     arrTileText(112) = m$
  3475.  
  3476.     m$ = ""
  3477.     m$ = m$ + "........" + chr$(13)
  3478.     m$ = m$ + "..22222." + chr$(13)
  3479.     m$ = m$ + ".22..22." + chr$(13)
  3480.     m$ = m$ + ".22..22." + chr$(13)
  3481.     m$ = m$ + "..22222." + chr$(13)
  3482.     m$ = m$ + ".....22." + chr$(13)
  3483.     m$ = m$ + ".....22." + chr$(13)
  3484.     m$ = m$ + "........" + chr$(13)
  3485.     arrTileText(113) = m$
  3486.  
  3487.     m$ = ""
  3488.     m$ = m$ + "........" + chr$(13)
  3489.     m$ = m$ + ".22222.." + chr$(13)
  3490.     m$ = m$ + ".22..22." + chr$(13)
  3491.     m$ = m$ + ".22....." + chr$(13)
  3492.     m$ = m$ + ".22....." + chr$(13)
  3493.     m$ = m$ + ".22....." + chr$(13)
  3494.     m$ = m$ + "........" + chr$(13)
  3495.     m$ = m$ + "........" + chr$(13)
  3496.     arrTileText(114) = m$
  3497.  
  3498.     m$ = ""
  3499.     m$ = m$ + "........" + chr$(13)
  3500.     m$ = m$ + "..22222." + chr$(13)
  3501.     m$ = m$ + ".22....." + chr$(13)
  3502.     m$ = m$ + "..2222.." + chr$(13)
  3503.     m$ = m$ + ".....22." + chr$(13)
  3504.     m$ = m$ + ".22222.." + chr$(13)
  3505.     m$ = m$ + "........" + chr$(13)
  3506.     m$ = m$ + "........" + chr$(13)
  3507.     arrTileText(115) = m$
  3508.  
  3509.     m$ = ""
  3510.     m$ = m$ + "...22..." + chr$(13)
  3511.     m$ = m$ + ".222222." + chr$(13)
  3512.     m$ = m$ + "...22..." + chr$(13)
  3513.     m$ = m$ + "...22..." + chr$(13)
  3514.     m$ = m$ + "...22..." + chr$(13)
  3515.     m$ = m$ + "....222." + chr$(13)
  3516.     m$ = m$ + "........" + chr$(13)
  3517.     m$ = m$ + "........" + chr$(13)
  3518.     arrTileText(116) = m$
  3519.  
  3520.     m$ = ""
  3521.     m$ = m$ + "........" + chr$(13)
  3522.     m$ = m$ + ".22..22." + chr$(13)
  3523.     m$ = m$ + ".22..22." + chr$(13)
  3524.     m$ = m$ + ".22..22." + chr$(13)
  3525.     m$ = m$ + ".22..22." + chr$(13)
  3526.     m$ = m$ + "..22222." + chr$(13)
  3527.     m$ = m$ + "........" + chr$(13)
  3528.     m$ = m$ + "........" + chr$(13)
  3529.     arrTileText(117) = m$
  3530.  
  3531.     m$ = ""
  3532.     m$ = m$ + "........" + chr$(13)
  3533.     m$ = m$ + ".22..22." + chr$(13)
  3534.     m$ = m$ + ".22..22." + chr$(13)
  3535.     m$ = m$ + ".22..22." + chr$(13)
  3536.     m$ = m$ + "..2222.." + chr$(13)
  3537.     m$ = m$ + "...22..." + chr$(13)
  3538.     m$ = m$ + "........" + chr$(13)
  3539.     m$ = m$ + "........" + chr$(13)
  3540.     arrTileText(118) = m$
  3541.  
  3542.     m$ = ""
  3543.     m$ = m$ + "........" + chr$(13)
  3544.     m$ = m$ + ".22...22" + chr$(13)
  3545.     m$ = m$ + ".22.2.22" + chr$(13)
  3546.     m$ = m$ + ".2222222" + chr$(13)
  3547.     m$ = m$ + "..22222." + chr$(13)
  3548.     m$ = m$ + "..22.22." + chr$(13)
  3549.     m$ = m$ + "........" + chr$(13)
  3550.     m$ = m$ + "........" + chr$(13)
  3551.     arrTileText(119) = m$
  3552.  
  3553.     m$ = ""
  3554.     m$ = m$ + "........" + chr$(13)
  3555.     m$ = m$ + ".22..22." + chr$(13)
  3556.     m$ = m$ + "..2222.." + chr$(13)
  3557.     m$ = m$ + "...22..." + chr$(13)
  3558.     m$ = m$ + "..2222.." + chr$(13)
  3559.     m$ = m$ + ".22..22." + chr$(13)
  3560.     m$ = m$ + "........" + chr$(13)
  3561.     m$ = m$ + "........" + chr$(13)
  3562.     arrTileText(120) = m$
  3563.  
  3564.     m$ = ""
  3565.     m$ = m$ + "........" + chr$(13)
  3566.     m$ = m$ + ".22..22." + chr$(13)
  3567.     m$ = m$ + ".22..22." + chr$(13)
  3568.     m$ = m$ + ".22..22." + chr$(13)
  3569.     m$ = m$ + "..22222." + chr$(13)
  3570.     m$ = m$ + "....22.." + chr$(13)
  3571.     m$ = m$ + ".2222..." + chr$(13)
  3572.     m$ = m$ + "........" + chr$(13)
  3573.     arrTileText(121) = m$
  3574.  
  3575.     m$ = ""
  3576.     m$ = m$ + "........" + chr$(13)
  3577.     m$ = m$ + ".222222." + chr$(13)
  3578.     m$ = m$ + "....22.." + chr$(13)
  3579.     m$ = m$ + "...22..." + chr$(13)
  3580.     m$ = m$ + "..22...." + chr$(13)
  3581.     m$ = m$ + ".222222." + chr$(13)
  3582.     m$ = m$ + "........" + chr$(13)
  3583.     m$ = m$ + "........" + chr$(13)
  3584.     arrTileText(122) = m$
  3585.  
  3586.     m$ = ""
  3587.     m$ = m$ + "...222.." + chr$(13)
  3588.     m$ = m$ + "..22...." + chr$(13)
  3589.     m$ = m$ + "..2....." + chr$(13)
  3590.     m$ = m$ + ".22....." + chr$(13)
  3591.     m$ = m$ + "..2....." + chr$(13)
  3592.     m$ = m$ + "..22...." + chr$(13)
  3593.     m$ = m$ + "...222.." + chr$(13)
  3594.     m$ = m$ + "........" + chr$(13)
  3595.     arrTileText(123) = m$
  3596.  
  3597.     m$ = ""
  3598.     m$ = m$ + "....2..." + chr$(13)
  3599.     m$ = m$ + "....2..." + chr$(13)
  3600.     m$ = m$ + "....2..." + chr$(13)
  3601.     m$ = m$ + "....2..." + chr$(13)
  3602.     m$ = m$ + "....2..." + chr$(13)
  3603.     m$ = m$ + "....2..." + chr$(13)
  3604.     m$ = m$ + "....2..." + chr$(13)
  3605.     m$ = m$ + "........" + chr$(13)
  3606.     arrTileText(124) = m$
  3607.  
  3608.     m$ = ""
  3609.     m$ = m$ + "..222..." + chr$(13)
  3610.     m$ = m$ + "....22.." + chr$(13)
  3611.     m$ = m$ + ".....2.." + chr$(13)
  3612.     m$ = m$ + ".....22." + chr$(13)
  3613.     m$ = m$ + ".....2.." + chr$(13)
  3614.     m$ = m$ + "....22.." + chr$(13)
  3615.     m$ = m$ + "..222..." + chr$(13)
  3616.     m$ = m$ + "........" + chr$(13)
  3617.     arrTileText(125) = m$
  3618.  
  3619.     m$ = ""
  3620.     m$ = m$ + "........" + chr$(13)
  3621.     m$ = m$ + ".22....2" + chr$(13)
  3622.     m$ = m$ + "2..2..2." + chr$(13)
  3623.     m$ = m$ + "....22.." + chr$(13)
  3624.     m$ = m$ + "........" + chr$(13)
  3625.     m$ = m$ + "........" + chr$(13)
  3626.     m$ = m$ + "........" + chr$(13)
  3627.     m$ = m$ + "........" + chr$(13)
  3628.     arrTileText(126) = m$
  3629.  
  3630.     m$ = ""
  3631.     m$ = m$ + "........" + chr$(13)
  3632.     m$ = m$ + "........" + chr$(13)
  3633.     m$ = m$ + "........" + chr$(13)
  3634.     m$ = m$ + "........" + chr$(13)
  3635.     m$ = m$ + "........" + chr$(13)
  3636.     m$ = m$ + "........" + chr$(13)
  3637.     m$ = m$ + "........" + chr$(13)
  3638.     m$ = m$ + "........" + chr$(13)
  3639.     arrTileText(127) = m$
  3640.  
  3641.     m$ = ""
  3642.     m$ = m$ + "........" + chr$(13)
  3643.     m$ = m$ + "........" + chr$(13)
  3644.     m$ = m$ + "........" + chr$(13)
  3645.     m$ = m$ + "22222222" + chr$(13)
  3646.     m$ = m$ + "22222222" + chr$(13)
  3647.     m$ = m$ + "........" + chr$(13)
  3648.     m$ = m$ + "........" + chr$(13)
  3649.     m$ = m$ + "........" + chr$(13)
  3650.     arrTileText(128) = m$
  3651.  
  3652.     m$ = ""
  3653.     m$ = m$ + "....2..." + chr$(13)
  3654.     m$ = m$ + "...222.." + chr$(13)
  3655.     m$ = m$ + "..22222." + chr$(13)
  3656.     m$ = m$ + ".2222222" + chr$(13)
  3657.     m$ = m$ + ".2222222" + chr$(13)
  3658.     m$ = m$ + "...222.." + chr$(13)
  3659.     m$ = m$ + "..22222." + chr$(13)
  3660.     m$ = m$ + "........" + chr$(13)
  3661.     arrTileText(129) = m$
  3662.  
  3663.     m$ = ""
  3664.     m$ = m$ + "...22..." + chr$(13)
  3665.     m$ = m$ + "...22..." + chr$(13)
  3666.     m$ = m$ + "...22..." + chr$(13)
  3667.     m$ = m$ + "...22..." + chr$(13)
  3668.     m$ = m$ + "...22..." + chr$(13)
  3669.     m$ = m$ + "...22..." + chr$(13)
  3670.     m$ = m$ + "...22..." + chr$(13)
  3671.     m$ = m$ + "...22..." + chr$(13)
  3672.     arrTileText(130) = m$
  3673.  
  3674.     m$ = ""
  3675.     m$ = m$ + "........" + chr$(13)
  3676.     m$ = m$ + "........" + chr$(13)
  3677.     m$ = m$ + "........" + chr$(13)
  3678.     m$ = m$ + "22222222" + chr$(13)
  3679.     m$ = m$ + "22222222" + chr$(13)
  3680.     m$ = m$ + "........" + chr$(13)
  3681.     m$ = m$ + "........" + chr$(13)
  3682.     m$ = m$ + "........" + chr$(13)
  3683.     arrTileText(131) = m$
  3684.  
  3685.     m$ = ""
  3686.     m$ = m$ + "........" + chr$(13)
  3687.     m$ = m$ + "........" + chr$(13)
  3688.     m$ = m$ + "22222222" + chr$(13)
  3689.     m$ = m$ + "22222222" + chr$(13)
  3690.     m$ = m$ + "........" + chr$(13)
  3691.     m$ = m$ + "........" + chr$(13)
  3692.     m$ = m$ + "........" + chr$(13)
  3693.     m$ = m$ + "........" + chr$(13)
  3694.     arrTileText(132) = m$
  3695.  
  3696.     m$ = ""
  3697.     m$ = m$ + "........" + chr$(13)
  3698.     m$ = m$ + "22222222" + chr$(13)
  3699.     m$ = m$ + "22222222" + chr$(13)
  3700.     m$ = m$ + "........" + chr$(13)
  3701.     m$ = m$ + "........" + chr$(13)
  3702.     m$ = m$ + "........" + chr$(13)
  3703.     m$ = m$ + "........" + chr$(13)
  3704.     m$ = m$ + "........" + chr$(13)
  3705.     arrTileText(133) = m$
  3706.  
  3707.     m$ = ""
  3708.     m$ = m$ + "........" + chr$(13)
  3709.     m$ = m$ + "........" + chr$(13)
  3710.     m$ = m$ + "........" + chr$(13)
  3711.     m$ = m$ + "........" + chr$(13)
  3712.     m$ = m$ + "22222222" + chr$(13)
  3713.     m$ = m$ + "22222222" + chr$(13)
  3714.     m$ = m$ + "........" + chr$(13)
  3715.     m$ = m$ + "........" + chr$(13)
  3716.     arrTileText(134) = m$
  3717.  
  3718.     m$ = ""
  3719.     m$ = m$ + "..22...." + chr$(13)
  3720.     m$ = m$ + "..22...." + chr$(13)
  3721.     m$ = m$ + "..22...." + chr$(13)
  3722.     m$ = m$ + "..22...." + chr$(13)
  3723.     m$ = m$ + "..22...." + chr$(13)
  3724.     m$ = m$ + "..22...." + chr$(13)
  3725.     m$ = m$ + "..22...." + chr$(13)
  3726.     m$ = m$ + "..22...." + chr$(13)
  3727.     arrTileText(135) = m$
  3728.  
  3729.     m$ = ""
  3730.     m$ = m$ + "....22.." + chr$(13)
  3731.     m$ = m$ + "....22.." + chr$(13)
  3732.     m$ = m$ + "....22.." + chr$(13)
  3733.     m$ = m$ + "....22.." + chr$(13)
  3734.     m$ = m$ + "....22.." + chr$(13)
  3735.     m$ = m$ + "....22.." + chr$(13)
  3736.     m$ = m$ + "....22.." + chr$(13)
  3737.     m$ = m$ + "....22.." + chr$(13)
  3738.     arrTileText(136) = m$
  3739.  
  3740.     m$ = ""
  3741.     m$ = m$ + "........" + chr$(13)
  3742.     m$ = m$ + "........" + chr$(13)
  3743.     m$ = m$ + "........" + chr$(13)
  3744.     m$ = m$ + "222....." + chr$(13)
  3745.     m$ = m$ + "2222...." + chr$(13)
  3746.     m$ = m$ + "..222..." + chr$(13)
  3747.     m$ = m$ + "...22..." + chr$(13)
  3748.     m$ = m$ + "...22..." + chr$(13)
  3749.     arrTileText(137) = m$
  3750.  
  3751.     m$ = ""
  3752.     m$ = m$ + "...22..." + chr$(13)
  3753.     m$ = m$ + "...22..." + chr$(13)
  3754.     m$ = m$ + "...222.." + chr$(13)
  3755.     m$ = m$ + "....2222" + chr$(13)
  3756.     m$ = m$ + ".....222" + chr$(13)
  3757.     m$ = m$ + "........" + chr$(13)
  3758.     m$ = m$ + "........" + chr$(13)
  3759.     m$ = m$ + "........" + chr$(13)
  3760.     arrTileText(138) = m$
  3761.  
  3762.     m$ = ""
  3763.     m$ = m$ + "...22..." + chr$(13)
  3764.     m$ = m$ + "...22..." + chr$(13)
  3765.     m$ = m$ + "..222..." + chr$(13)
  3766.     m$ = m$ + "2222...." + chr$(13)
  3767.     m$ = m$ + "222....." + chr$(13)
  3768.     m$ = m$ + "........" + chr$(13)
  3769.     m$ = m$ + "........" + chr$(13)
  3770.     m$ = m$ + "........" + chr$(13)
  3771.     arrTileText(139) = m$
  3772.  
  3773.     m$ = ""
  3774.     m$ = m$ + "22......" + chr$(13)
  3775.     m$ = m$ + "22......" + chr$(13)
  3776.     m$ = m$ + "22......" + chr$(13)
  3777.     m$ = m$ + "22......" + chr$(13)
  3778.     m$ = m$ + "22......" + chr$(13)
  3779.     m$ = m$ + "22......" + chr$(13)
  3780.     m$ = m$ + "22222222" + chr$(13)
  3781.     m$ = m$ + "22222222" + chr$(13)
  3782.     arrTileText(140) = m$
  3783.  
  3784.     m$ = ""
  3785.     m$ = m$ + "22......" + chr$(13)
  3786.     m$ = m$ + "222....." + chr$(13)
  3787.     m$ = m$ + ".222...." + chr$(13)
  3788.     m$ = m$ + "..222..." + chr$(13)
  3789.     m$ = m$ + "...222.." + chr$(13)
  3790.     m$ = m$ + "....222." + chr$(13)
  3791.     m$ = m$ + ".....222" + chr$(13)
  3792.     m$ = m$ + "......22" + chr$(13)
  3793.     arrTileText(141) = m$
  3794.  
  3795.     m$ = ""
  3796.     m$ = m$ + "......22" + chr$(13)
  3797.     m$ = m$ + ".....222" + chr$(13)
  3798.     m$ = m$ + "....222." + chr$(13)
  3799.     m$ = m$ + "...222.." + chr$(13)
  3800.     m$ = m$ + "..222..." + chr$(13)
  3801.     m$ = m$ + ".222...." + chr$(13)
  3802.     m$ = m$ + "222....." + chr$(13)
  3803.     m$ = m$ + "22......" + chr$(13)
  3804.     arrTileText(142) = m$
  3805.  
  3806.     m$ = ""
  3807.     m$ = m$ + "22222222" + chr$(13)
  3808.     m$ = m$ + "22222222" + chr$(13)
  3809.     m$ = m$ + "22......" + chr$(13)
  3810.     m$ = m$ + "22......" + chr$(13)
  3811.     m$ = m$ + "22......" + chr$(13)
  3812.     m$ = m$ + "22......" + chr$(13)
  3813.     m$ = m$ + "22......" + chr$(13)
  3814.     m$ = m$ + "22......" + chr$(13)
  3815.     arrTileText(143) = m$
  3816.  
  3817.     m$ = ""
  3818.     m$ = m$ + "22222222" + chr$(13)
  3819.     m$ = m$ + "22222222" + chr$(13)
  3820.     m$ = m$ + "......22" + chr$(13)
  3821.     m$ = m$ + "......22" + chr$(13)
  3822.     m$ = m$ + "......22" + chr$(13)
  3823.     m$ = m$ + "......22" + chr$(13)
  3824.     m$ = m$ + "......22" + chr$(13)
  3825.     m$ = m$ + "......22" + chr$(13)
  3826.     arrTileText(144) = m$
  3827.  
  3828.     m$ = ""
  3829.     m$ = m$ + "........" + chr$(13)
  3830.     m$ = m$ + "..2222.." + chr$(13)
  3831.     m$ = m$ + ".222222." + chr$(13)
  3832.     m$ = m$ + ".222222." + chr$(13)
  3833.     m$ = m$ + ".222222." + chr$(13)
  3834.     m$ = m$ + ".222222." + chr$(13)
  3835.     m$ = m$ + "..2222.." + chr$(13)
  3836.     m$ = m$ + "........" + chr$(13)
  3837.     arrTileText(145) = m$
  3838.  
  3839.     m$ = ""
  3840.     m$ = m$ + "........" + chr$(13)
  3841.     m$ = m$ + "........" + chr$(13)
  3842.     m$ = m$ + "........" + chr$(13)
  3843.     m$ = m$ + "........" + chr$(13)
  3844.     m$ = m$ + "........" + chr$(13)
  3845.     m$ = m$ + "22222222" + chr$(13)
  3846.     m$ = m$ + "22222222" + chr$(13)
  3847.     m$ = m$ + "........" + chr$(13)
  3848.     arrTileText(146) = m$
  3849.  
  3850.     m$ = ""
  3851.     m$ = m$ + "..22.22." + chr$(13)
  3852.     m$ = m$ + ".2222222" + chr$(13)
  3853.     m$ = m$ + ".2222222" + chr$(13)
  3854.     m$ = m$ + ".2222222" + chr$(13)
  3855.     m$ = m$ + "..22222." + chr$(13)
  3856.     m$ = m$ + "...222.." + chr$(13)
  3857.     m$ = m$ + "....2..." + chr$(13)
  3858.     m$ = m$ + "........" + chr$(13)
  3859.     arrTileText(147) = m$
  3860.  
  3861.     m$ = ""
  3862.     m$ = m$ + ".22....." + chr$(13)
  3863.     m$ = m$ + ".22....." + chr$(13)
  3864.     m$ = m$ + ".22....." + chr$(13)
  3865.     m$ = m$ + ".22....." + chr$(13)
  3866.     m$ = m$ + ".22....." + chr$(13)
  3867.     m$ = m$ + ".22....." + chr$(13)
  3868.     m$ = m$ + ".22....." + chr$(13)
  3869.     m$ = m$ + ".22....." + chr$(13)
  3870.     arrTileText(148) = m$
  3871.  
  3872.     m$ = ""
  3873.     m$ = m$ + "........" + chr$(13)
  3874.     m$ = m$ + "........" + chr$(13)
  3875.     m$ = m$ + "........" + chr$(13)
  3876.     m$ = m$ + ".....222" + chr$(13)
  3877.     m$ = m$ + "....2222" + chr$(13)
  3878.     m$ = m$ + "...222.." + chr$(13)
  3879.     m$ = m$ + "...22..." + chr$(13)
  3880.     m$ = m$ + "...22..." + chr$(13)
  3881.     arrTileText(149) = m$
  3882.  
  3883.     m$ = ""
  3884.     m$ = m$ + "22....22" + chr$(13)
  3885.     m$ = m$ + "222..222" + chr$(13)
  3886.     m$ = m$ + ".222222." + chr$(13)
  3887.     m$ = m$ + "..2222.." + chr$(13)
  3888.     m$ = m$ + "..2222.." + chr$(13)
  3889.     m$ = m$ + ".222222." + chr$(13)
  3890.     m$ = m$ + "222..222" + chr$(13)
  3891.     m$ = m$ + "22....22" + chr$(13)
  3892.     arrTileText(150) = m$
  3893.  
  3894.     m$ = ""
  3895.     m$ = m$ + "........" + chr$(13)
  3896.     m$ = m$ + "..2222.." + chr$(13)
  3897.     m$ = m$ + ".222222." + chr$(13)
  3898.     m$ = m$ + ".22..22." + chr$(13)
  3899.     m$ = m$ + ".22..22." + chr$(13)
  3900.     m$ = m$ + ".222222." + chr$(13)
  3901.     m$ = m$ + "..2222.." + chr$(13)
  3902.     m$ = m$ + "........" + chr$(13)
  3903.     arrTileText(151) = m$
  3904.  
  3905.     m$ = ""
  3906.     m$ = m$ + "...22..." + chr$(13)
  3907.     m$ = m$ + "...22..." + chr$(13)
  3908.     m$ = m$ + ".22..22." + chr$(13)
  3909.     m$ = m$ + ".22..22." + chr$(13)
  3910.     m$ = m$ + "...22..." + chr$(13)
  3911.     m$ = m$ + "...22..." + chr$(13)
  3912.     m$ = m$ + "..2222.." + chr$(13)
  3913.     m$ = m$ + "........" + chr$(13)
  3914.     arrTileText(152) = m$
  3915.  
  3916.     m$ = ""
  3917.     m$ = m$ + ".....22." + chr$(13)
  3918.     m$ = m$ + ".....22." + chr$(13)
  3919.     m$ = m$ + ".....22." + chr$(13)
  3920.     m$ = m$ + ".....22." + chr$(13)
  3921.     m$ = m$ + ".....22." + chr$(13)
  3922.     m$ = m$ + ".....22." + chr$(13)
  3923.     m$ = m$ + ".....22." + chr$(13)
  3924.     m$ = m$ + ".....22." + chr$(13)
  3925.     arrTileText(153) = m$
  3926.  
  3927.     m$ = ""
  3928.     m$ = m$ + "....2..." + chr$(13)
  3929.     m$ = m$ + "...222.." + chr$(13)
  3930.     m$ = m$ + "..22222." + chr$(13)
  3931.     m$ = m$ + ".2222222" + chr$(13)
  3932.     m$ = m$ + "..22222." + chr$(13)
  3933.     m$ = m$ + "...222.." + chr$(13)
  3934.     m$ = m$ + "....2..." + chr$(13)
  3935.     m$ = m$ + "........" + chr$(13)
  3936.     arrTileText(154) = m$
  3937.  
  3938.     m$ = ""
  3939.     m$ = m$ + "...22..." + chr$(13)
  3940.     m$ = m$ + "...22..." + chr$(13)
  3941.     m$ = m$ + "...22..." + chr$(13)
  3942.     m$ = m$ + "22222222" + chr$(13)
  3943.     m$ = m$ + "22222222" + chr$(13)
  3944.     m$ = m$ + "...22..." + chr$(13)
  3945.     m$ = m$ + "...22..." + chr$(13)
  3946.     m$ = m$ + "...22..." + chr$(13)
  3947.     arrTileText(155) = m$
  3948.  
  3949.     m$ = ""
  3950.     m$ = m$ + "22......" + chr$(13)
  3951.     m$ = m$ + "22......" + chr$(13)
  3952.     m$ = m$ + "..22...." + chr$(13)
  3953.     m$ = m$ + "..22...." + chr$(13)
  3954.     m$ = m$ + "22......" + chr$(13)
  3955.     m$ = m$ + "22......" + chr$(13)
  3956.     m$ = m$ + "..22...." + chr$(13)
  3957.     m$ = m$ + "..22...." + chr$(13)
  3958.     arrTileText(156) = m$
  3959.  
  3960.     m$ = ""
  3961.     m$ = m$ + "...22..." + chr$(13)
  3962.     m$ = m$ + "...22..." + chr$(13)
  3963.     m$ = m$ + "...22..." + chr$(13)
  3964.     m$ = m$ + "...22..." + chr$(13)
  3965.     m$ = m$ + "...22..." + chr$(13)
  3966.     m$ = m$ + "...22..." + chr$(13)
  3967.     m$ = m$ + "...22..." + chr$(13)
  3968.     m$ = m$ + "...22..." + chr$(13)
  3969.     arrTileText(157) = m$
  3970.  
  3971.     m$ = ""
  3972.     m$ = m$ + "........" + chr$(13)
  3973.     m$ = m$ + "........" + chr$(13)
  3974.     m$ = m$ + "......22" + chr$(13)
  3975.     m$ = m$ + "..22222." + chr$(13)
  3976.     m$ = m$ + ".222.22." + chr$(13)
  3977.     m$ = m$ + "..22.22." + chr$(13)
  3978.     m$ = m$ + "..22.22." + chr$(13)
  3979.     m$ = m$ + "........" + chr$(13)
  3980.     arrTileText(158) = m$
  3981.  
  3982.     m$ = ""
  3983.     m$ = m$ + "22222222" + chr$(13)
  3984.     m$ = m$ + ".2222222" + chr$(13)
  3985.     m$ = m$ + "..222222" + chr$(13)
  3986.     m$ = m$ + "...22222" + chr$(13)
  3987.     m$ = m$ + "....2222" + chr$(13)
  3988.     m$ = m$ + ".....222" + chr$(13)
  3989.     m$ = m$ + "......22" + chr$(13)
  3990.     m$ = m$ + ".......2" + chr$(13)
  3991.     arrTileText(159) = m$
  3992.  
  3993.     m$ = ""
  3994.     m$ = m$ + "........" + chr$(13)
  3995.     m$ = m$ + "........" + chr$(13)
  3996.     m$ = m$ + "........" + chr$(13)
  3997.     m$ = m$ + "........" + chr$(13)
  3998.     m$ = m$ + "........" + chr$(13)
  3999.     m$ = m$ + "........" + chr$(13)
  4000.     m$ = m$ + "........" + chr$(13)
  4001.     m$ = m$ + "........" + chr$(13)
  4002.     arrTileText(160) = m$
  4003.  
  4004.     m$ = ""
  4005.     m$ = m$ + "2222...." + chr$(13)
  4006.     m$ = m$ + "2222...." + chr$(13)
  4007.     m$ = m$ + "2222...." + chr$(13)
  4008.     m$ = m$ + "2222...." + chr$(13)
  4009.     m$ = m$ + "2222...." + chr$(13)
  4010.     m$ = m$ + "2222...." + chr$(13)
  4011.     m$ = m$ + "2222...." + chr$(13)
  4012.     m$ = m$ + "2222...." + chr$(13)
  4013.     arrTileText(161) = m$
  4014.  
  4015.     m$ = ""
  4016.     m$ = m$ + "........" + chr$(13)
  4017.     m$ = m$ + "........" + chr$(13)
  4018.     m$ = m$ + "........" + chr$(13)
  4019.     m$ = m$ + "........" + chr$(13)
  4020.     m$ = m$ + "22222222" + chr$(13)
  4021.     m$ = m$ + "22222222" + chr$(13)
  4022.     m$ = m$ + "22222222" + chr$(13)
  4023.     m$ = m$ + "22222222" + chr$(13)
  4024.     arrTileText(162) = m$
  4025.  
  4026.     m$ = ""
  4027.     m$ = m$ + "22222222" + chr$(13)
  4028.     m$ = m$ + "........" + chr$(13)
  4029.     m$ = m$ + "........" + chr$(13)
  4030.     m$ = m$ + "........" + chr$(13)
  4031.     m$ = m$ + "........" + chr$(13)
  4032.     m$ = m$ + "........" + chr$(13)
  4033.     m$ = m$ + "........" + chr$(13)
  4034.     m$ = m$ + "........" + chr$(13)
  4035.     arrTileText(163) = m$
  4036.  
  4037.     m$ = ""
  4038.     m$ = m$ + "........" + chr$(13)
  4039.     m$ = m$ + "........" + chr$(13)
  4040.     m$ = m$ + "........" + chr$(13)
  4041.     m$ = m$ + "........" + chr$(13)
  4042.     m$ = m$ + "........" + chr$(13)
  4043.     m$ = m$ + "........" + chr$(13)
  4044.     m$ = m$ + "........" + chr$(13)
  4045.     m$ = m$ + "22222222" + chr$(13)
  4046.     arrTileText(164) = m$
  4047.  
  4048.     m$ = ""
  4049.     m$ = m$ + "22......" + chr$(13)
  4050.     m$ = m$ + "22......" + chr$(13)
  4051.     m$ = m$ + "22......" + chr$(13)
  4052.     m$ = m$ + "22......" + chr$(13)
  4053.     m$ = m$ + "22......" + chr$(13)
  4054.     m$ = m$ + "22......" + chr$(13)
  4055.     m$ = m$ + "22......" + chr$(13)
  4056.     m$ = m$ + "22......" + chr$(13)
  4057.     arrTileText(165) = m$
  4058.  
  4059.     m$ = ""
  4060.     m$ = m$ + "22..22.." + chr$(13)
  4061.     m$ = m$ + "22..22.." + chr$(13)
  4062.     m$ = m$ + "..22..22" + chr$(13)
  4063.     m$ = m$ + "..22..22" + chr$(13)
  4064.     m$ = m$ + "22..22.." + chr$(13)
  4065.     m$ = m$ + "22..22.." + chr$(13)
  4066.     m$ = m$ + "..22..22" + chr$(13)
  4067.     m$ = m$ + "..22..22" + chr$(13)
  4068.     arrTileText(166) = m$
  4069.  
  4070.     m$ = ""
  4071.     m$ = m$ + "......22" + chr$(13)
  4072.     m$ = m$ + "......22" + chr$(13)
  4073.     m$ = m$ + "......22" + chr$(13)
  4074.     m$ = m$ + "......22" + chr$(13)
  4075.     m$ = m$ + "......22" + chr$(13)
  4076.     m$ = m$ + "......22" + chr$(13)
  4077.     m$ = m$ + "......22" + chr$(13)
  4078.     m$ = m$ + "......22" + chr$(13)
  4079.     arrTileText(167) = m$
  4080.  
  4081.     m$ = ""
  4082.     m$ = m$ + "........" + chr$(13)
  4083.     m$ = m$ + "........" + chr$(13)
  4084.     m$ = m$ + "........" + chr$(13)
  4085.     m$ = m$ + "........" + chr$(13)
  4086.     m$ = m$ + "22..22.." + chr$(13)
  4087.     m$ = m$ + "22..22.." + chr$(13)
  4088.     m$ = m$ + "..22..22" + chr$(13)
  4089.     m$ = m$ + "..22..22" + chr$(13)
  4090.     arrTileText(168) = m$
  4091.  
  4092.     m$ = ""
  4093.     m$ = m$ + "22222222" + chr$(13)
  4094.     m$ = m$ + "2222222." + chr$(13)
  4095.     m$ = m$ + "222222.." + chr$(13)
  4096.     m$ = m$ + "22222..." + chr$(13)
  4097.     m$ = m$ + "2222...." + chr$(13)
  4098.     m$ = m$ + "222....." + chr$(13)
  4099.     m$ = m$ + "22......" + chr$(13)
  4100.     m$ = m$ + "2......." + chr$(13)
  4101.     arrTileText(169) = m$
  4102.  
  4103.     m$ = ""
  4104.     m$ = m$ + "......22" + chr$(13)
  4105.     m$ = m$ + "......22" + chr$(13)
  4106.     m$ = m$ + "......22" + chr$(13)
  4107.     m$ = m$ + "......22" + chr$(13)
  4108.     m$ = m$ + "......22" + chr$(13)
  4109.     m$ = m$ + "......22" + chr$(13)
  4110.     m$ = m$ + "......22" + chr$(13)
  4111.     m$ = m$ + "......22" + chr$(13)
  4112.     arrTileText(170) = m$
  4113.  
  4114.     m$ = ""
  4115.     m$ = m$ + "...22..." + chr$(13)
  4116.     m$ = m$ + "...22..." + chr$(13)
  4117.     m$ = m$ + "...22..." + chr$(13)
  4118.     m$ = m$ + "...22222" + chr$(13)
  4119.     m$ = m$ + "...22222" + chr$(13)
  4120.     m$ = m$ + "...22..." + chr$(13)
  4121.     m$ = m$ + "...22..." + chr$(13)
  4122.     m$ = m$ + "...22..." + chr$(13)
  4123.     arrTileText(171) = m$
  4124.  
  4125.     m$ = ""
  4126.     m$ = m$ + "........" + chr$(13)
  4127.     m$ = m$ + "........" + chr$(13)
  4128.     m$ = m$ + "........" + chr$(13)
  4129.     m$ = m$ + "........" + chr$(13)
  4130.     m$ = m$ + "....2222" + chr$(13)
  4131.     m$ = m$ + "....2222" + chr$(13)
  4132.     m$ = m$ + "....2222" + chr$(13)
  4133.     m$ = m$ + "....2222" + chr$(13)
  4134.     arrTileText(172) = m$
  4135.  
  4136.     m$ = ""
  4137.     m$ = m$ + "...22..." + chr$(13)
  4138.     m$ = m$ + "...22..." + chr$(13)
  4139.     m$ = m$ + "...22..." + chr$(13)
  4140.     m$ = m$ + "...22222" + chr$(13)
  4141.     m$ = m$ + "...22222" + chr$(13)
  4142.     m$ = m$ + "........" + chr$(13)
  4143.     m$ = m$ + "........" + chr$(13)
  4144.     m$ = m$ + "........" + chr$(13)
  4145.     arrTileText(173) = m$
  4146.  
  4147.     m$ = ""
  4148.     m$ = m$ + "........" + chr$(13)
  4149.     m$ = m$ + "........" + chr$(13)
  4150.     m$ = m$ + "........" + chr$(13)
  4151.     m$ = m$ + "22222..." + chr$(13)
  4152.     m$ = m$ + "22222..." + chr$(13)
  4153.     m$ = m$ + "...22..." + chr$(13)
  4154.     m$ = m$ + "...22..." + chr$(13)
  4155.     m$ = m$ + "...22..." + chr$(13)
  4156.     arrTileText(174) = m$
  4157.  
  4158.     m$ = ""
  4159.     m$ = m$ + "........" + chr$(13)
  4160.     m$ = m$ + "........" + chr$(13)
  4161.     m$ = m$ + "........" + chr$(13)
  4162.     m$ = m$ + "........" + chr$(13)
  4163.     m$ = m$ + "........" + chr$(13)
  4164.     m$ = m$ + "........" + chr$(13)
  4165.     m$ = m$ + "22222222" + chr$(13)
  4166.     m$ = m$ + "22222222" + chr$(13)
  4167.     arrTileText(175) = m$
  4168.  
  4169.     m$ = ""
  4170.     m$ = m$ + "........" + chr$(13)
  4171.     m$ = m$ + "........" + chr$(13)
  4172.     m$ = m$ + "........" + chr$(13)
  4173.     m$ = m$ + "...22222" + chr$(13)
  4174.     m$ = m$ + "...22222" + chr$(13)
  4175.     m$ = m$ + "...22..." + chr$(13)
  4176.     m$ = m$ + "...22..." + chr$(13)
  4177.     m$ = m$ + "...22..." + chr$(13)
  4178.     arrTileText(176) = m$
  4179.  
  4180.     m$ = ""
  4181.     m$ = m$ + "...22..." + chr$(13)
  4182.     m$ = m$ + "...22..." + chr$(13)
  4183.     m$ = m$ + "...22..." + chr$(13)
  4184.     m$ = m$ + "22222222" + chr$(13)
  4185.     m$ = m$ + "22222222" + chr$(13)
  4186.     m$ = m$ + "........" + chr$(13)
  4187.     m$ = m$ + "........" + chr$(13)
  4188.     m$ = m$ + "........" + chr$(13)
  4189.     arrTileText(177) = m$
  4190.  
  4191.     m$ = ""
  4192.     m$ = m$ + "........" + chr$(13)
  4193.     m$ = m$ + "........" + chr$(13)
  4194.     m$ = m$ + "........" + chr$(13)
  4195.     m$ = m$ + "22222222" + chr$(13)
  4196.     m$ = m$ + "22222222" + chr$(13)
  4197.     m$ = m$ + "...22..." + chr$(13)
  4198.     m$ = m$ + "...22..." + chr$(13)
  4199.     m$ = m$ + "...22..." + chr$(13)
  4200.     arrTileText(178) = m$
  4201.  
  4202.     m$ = ""
  4203.     m$ = m$ + "...22..." + chr$(13)
  4204.     m$ = m$ + "...22..." + chr$(13)
  4205.     m$ = m$ + "...22..." + chr$(13)
  4206.     m$ = m$ + "22222..." + chr$(13)
  4207.     m$ = m$ + "22222..." + chr$(13)
  4208.     m$ = m$ + "...22..." + chr$(13)
  4209.     m$ = m$ + "...22..." + chr$(13)
  4210.     m$ = m$ + "...22..." + chr$(13)
  4211.     arrTileText(179) = m$
  4212.  
  4213.     m$ = ""
  4214.     m$ = m$ + "22......" + chr$(13)
  4215.     m$ = m$ + "22......" + chr$(13)
  4216.     m$ = m$ + "22......" + chr$(13)
  4217.     m$ = m$ + "22......" + chr$(13)
  4218.     m$ = m$ + "22......" + chr$(13)
  4219.     m$ = m$ + "22......" + chr$(13)
  4220.     m$ = m$ + "22......" + chr$(13)
  4221.     m$ = m$ + "22......" + chr$(13)
  4222.     arrTileText(180) = m$
  4223.  
  4224.     m$ = ""
  4225.     m$ = m$ + "222....." + chr$(13)
  4226.     m$ = m$ + "222....." + chr$(13)
  4227.     m$ = m$ + "222....." + chr$(13)
  4228.     m$ = m$ + "222....." + chr$(13)
  4229.     m$ = m$ + "222....." + chr$(13)
  4230.     m$ = m$ + "222....." + chr$(13)
  4231.     m$ = m$ + "222....." + chr$(13)
  4232.     m$ = m$ + "222....." + chr$(13)
  4233.     arrTileText(181) = m$
  4234.  
  4235.     m$ = ""
  4236.     m$ = m$ + ".....222" + chr$(13)
  4237.     m$ = m$ + ".....222" + chr$(13)
  4238.     m$ = m$ + ".....222" + chr$(13)
  4239.     m$ = m$ + ".....222" + chr$(13)
  4240.     m$ = m$ + ".....222" + chr$(13)
  4241.     m$ = m$ + ".....222" + chr$(13)
  4242.     m$ = m$ + ".....222" + chr$(13)
  4243.     m$ = m$ + ".....222" + chr$(13)
  4244.     arrTileText(182) = m$
  4245.  
  4246.     m$ = ""
  4247.     m$ = m$ + "22222222" + chr$(13)
  4248.     m$ = m$ + "22222222" + chr$(13)
  4249.     m$ = m$ + "........" + chr$(13)
  4250.     m$ = m$ + "........" + chr$(13)
  4251.     m$ = m$ + "........" + chr$(13)
  4252.     m$ = m$ + "........" + chr$(13)
  4253.     m$ = m$ + "........" + chr$(13)
  4254.     m$ = m$ + "........" + chr$(13)
  4255.     arrTileText(183) = m$
  4256.  
  4257.     m$ = ""
  4258.     m$ = m$ + "22222222" + chr$(13)
  4259.     m$ = m$ + "22222222" + chr$(13)
  4260.     m$ = m$ + "22222222" + chr$(13)
  4261.     m$ = m$ + "........" + chr$(13)
  4262.     m$ = m$ + "........" + chr$(13)
  4263.     m$ = m$ + "........" + chr$(13)
  4264.     m$ = m$ + "........" + chr$(13)
  4265.     m$ = m$ + "........" + chr$(13)
  4266.     arrTileText(184) = m$
  4267.  
  4268.     m$ = ""
  4269.     m$ = m$ + "........" + chr$(13)
  4270.     m$ = m$ + "........" + chr$(13)
  4271.     m$ = m$ + "........" + chr$(13)
  4272.     m$ = m$ + "........" + chr$(13)
  4273.     m$ = m$ + "........" + chr$(13)
  4274.     m$ = m$ + "22222222" + chr$(13)
  4275.     m$ = m$ + "22222222" + chr$(13)
  4276.     m$ = m$ + "22222222" + chr$(13)
  4277.     arrTileText(185) = m$
  4278.  
  4279.     m$ = ""
  4280.     m$ = m$ + "......22" + chr$(13)
  4281.     m$ = m$ + "......22" + chr$(13)
  4282.     m$ = m$ + "......22" + chr$(13)
  4283.     m$ = m$ + "......22" + chr$(13)
  4284.     m$ = m$ + "......22" + chr$(13)
  4285.     m$ = m$ + "......22" + chr$(13)
  4286.     m$ = m$ + "22222222" + chr$(13)
  4287.     m$ = m$ + "22222222" + chr$(13)
  4288.     arrTileText(186) = m$
  4289.  
  4290.     m$ = ""
  4291.     m$ = m$ + "........" + chr$(13)
  4292.     m$ = m$ + "........" + chr$(13)
  4293.     m$ = m$ + "........" + chr$(13)
  4294.     m$ = m$ + "........" + chr$(13)
  4295.     m$ = m$ + "2222...." + chr$(13)
  4296.     m$ = m$ + "2222...." + chr$(13)
  4297.     m$ = m$ + "2222...." + chr$(13)
  4298.     m$ = m$ + "2222...." + chr$(13)
  4299.     arrTileText(187) = m$
  4300.  
  4301.     m$ = ""
  4302.     m$ = m$ + "....2222" + chr$(13)
  4303.     m$ = m$ + "....2222" + chr$(13)
  4304.     m$ = m$ + "....2222" + chr$(13)
  4305.     m$ = m$ + "....2222" + chr$(13)
  4306.     m$ = m$ + "........" + chr$(13)
  4307.     m$ = m$ + "........" + chr$(13)
  4308.     m$ = m$ + "........" + chr$(13)
  4309.     m$ = m$ + "........" + chr$(13)
  4310.     arrTileText(188) = m$
  4311.  
  4312.     m$ = ""
  4313.     m$ = m$ + "...22..." + chr$(13)
  4314.     m$ = m$ + "...22..." + chr$(13)
  4315.     m$ = m$ + "...22..." + chr$(13)
  4316.     m$ = m$ + "22222..." + chr$(13)
  4317.     m$ = m$ + "22222..." + chr$(13)
  4318.     m$ = m$ + "........" + chr$(13)
  4319.     m$ = m$ + "........" + chr$(13)
  4320.     m$ = m$ + "........" + chr$(13)
  4321.     arrTileText(189) = m$
  4322.  
  4323.     m$ = ""
  4324.     m$ = m$ + "2222...." + chr$(13)
  4325.     m$ = m$ + "2222...." + chr$(13)
  4326.     m$ = m$ + "2222...." + chr$(13)
  4327.     m$ = m$ + "2222...." + chr$(13)
  4328.     m$ = m$ + "........" + chr$(13)
  4329.     m$ = m$ + "........" + chr$(13)
  4330.     m$ = m$ + "........" + chr$(13)
  4331.     m$ = m$ + "........" + chr$(13)
  4332.     arrTileText(190) = m$
  4333.  
  4334.     m$ = ""
  4335.     m$ = m$ + "2222...." + chr$(13)
  4336.     m$ = m$ + "2222...." + chr$(13)
  4337.     m$ = m$ + "2222...." + chr$(13)
  4338.     m$ = m$ + "2222...." + chr$(13)
  4339.     m$ = m$ + "....2222" + chr$(13)
  4340.     m$ = m$ + "....2222" + chr$(13)
  4341.     m$ = m$ + "....2222" + chr$(13)
  4342.     m$ = m$ + "....2222" + chr$(13)
  4343.     arrTileText(191) = m$
  4344.  
  4345.     m$ = ""
  4346.     m$ = m$ + "........" + chr$(13)
  4347.     m$ = m$ + ".2222222" + chr$(13)
  4348.     m$ = m$ + ".2.....2" + chr$(13)
  4349.     m$ = m$ + ".2.....2" + chr$(13)
  4350.     m$ = m$ + ".2.....2" + chr$(13)
  4351.     m$ = m$ + ".2.....2" + chr$(13)
  4352.     m$ = m$ + ".2.....2" + chr$(13)
  4353.     m$ = m$ + ".2222222" + chr$(13)
  4354.     arrTileText(192) = m$
  4355.  
  4356.     m$ = ""
  4357.     m$ = m$ + "........" + chr$(13)
  4358.     m$ = m$ + ".2222222" + chr$(13)
  4359.     m$ = m$ + ".2222222" + chr$(13)
  4360.     m$ = m$ + ".2222222" + chr$(13)
  4361.     m$ = m$ + ".2222222" + chr$(13)
  4362.     m$ = m$ + ".2222222" + chr$(13)
  4363.     m$ = m$ + ".2222222" + chr$(13)
  4364.     m$ = m$ + ".2222222" + chr$(13)
  4365.     arrTileText(193) = m$
  4366.  
  4367.     m$ = ""
  4368.     m$ = m$ + "........" + chr$(13)
  4369.     m$ = m$ + "...22..." + chr$(13)
  4370.     m$ = m$ + "..2222.." + chr$(13)
  4371.     m$ = m$ + ".222222." + chr$(13)
  4372.     m$ = m$ + "...22..." + chr$(13)
  4373.     m$ = m$ + "...22..." + chr$(13)
  4374.     m$ = m$ + "...22..." + chr$(13)
  4375.     m$ = m$ + "...22..." + chr$(13)
  4376.     arrTileText(194) = m$
  4377.  
  4378.     m$ = ""
  4379.     m$ = m$ + "........" + chr$(13)
  4380.     m$ = m$ + "...22..." + chr$(13)
  4381.     m$ = m$ + "...22..." + chr$(13)
  4382.     m$ = m$ + "...22..." + chr$(13)
  4383.     m$ = m$ + "...22..." + chr$(13)
  4384.     m$ = m$ + ".222222." + chr$(13)
  4385.     m$ = m$ + "..2222.." + chr$(13)
  4386.     m$ = m$ + "...22..." + chr$(13)
  4387.     arrTileText(195) = m$
  4388.  
  4389.     m$ = ""
  4390.     m$ = m$ + "........" + chr$(13)
  4391.     m$ = m$ + "...2...." + chr$(13)
  4392.     m$ = m$ + "..22...." + chr$(13)
  4393.     m$ = m$ + ".2222222" + chr$(13)
  4394.     m$ = m$ + ".2222222" + chr$(13)
  4395.     m$ = m$ + "..22...." + chr$(13)
  4396.     m$ = m$ + "...2...." + chr$(13)
  4397.     m$ = m$ + "........" + chr$(13)
  4398.     arrTileText(196) = m$
  4399.  
  4400.     m$ = ""
  4401.     m$ = m$ + "........" + chr$(13)
  4402.     m$ = m$ + ".....2.." + chr$(13)
  4403.     m$ = m$ + ".....22." + chr$(13)
  4404.     m$ = m$ + ".2222222" + chr$(13)
  4405.     m$ = m$ + ".2222222" + chr$(13)
  4406.     m$ = m$ + ".....22." + chr$(13)
  4407.     m$ = m$ + ".....2.." + chr$(13)
  4408.     m$ = m$ + "........" + chr$(13)
  4409.     arrTileText(197) = m$
  4410.  
  4411.     m$ = ""
  4412.     m$ = m$ + "........" + chr$(13)
  4413.     m$ = m$ + "........" + chr$(13)
  4414.     m$ = m$ + "........" + chr$(13)
  4415.     m$ = m$ + "........" + chr$(13)
  4416.     m$ = m$ + "........" + chr$(13)
  4417.     m$ = m$ + "........" + chr$(13)
  4418.     m$ = m$ + "........" + chr$(13)
  4419.     m$ = m$ + "........" + chr$(13)
  4420.     arrTileText(198) = m$
  4421.  
  4422.     m$ = ""
  4423.     m$ = m$ + ".222222." + chr$(13)
  4424.     m$ = m$ + "2......2" + chr$(13)
  4425.     m$ = m$ + "2.2..2.2" + chr$(13)
  4426.     m$ = m$ + "2......2" + chr$(13)
  4427.     m$ = m$ + "2.2..2.2" + chr$(13)
  4428.     m$ = m$ + "2.2222.2" + chr$(13)
  4429.     m$ = m$ + "2......2" + chr$(13)
  4430.     m$ = m$ + ".222222." + chr$(13)
  4431.     arrTileText(199) = m$
  4432.  
  4433.     m$ = ""
  4434.     m$ = m$ + ".222222." + chr$(13)
  4435.     m$ = m$ + "2......2" + chr$(13)
  4436.     m$ = m$ + "2.2..2.2" + chr$(13)
  4437.     m$ = m$ + "2......2" + chr$(13)
  4438.     m$ = m$ + "2.2222.2" + chr$(13)
  4439.     m$ = m$ + "2.2..2.2" + chr$(13)
  4440.     m$ = m$ + "2......2" + chr$(13)
  4441.     m$ = m$ + ".222222." + chr$(13)
  4442.     arrTileText(200) = m$
  4443.  
  4444.     m$ = ""
  4445.     m$ = m$ + "........" + chr$(13)
  4446.     m$ = m$ + "........" + chr$(13)
  4447.     m$ = m$ + "........" + chr$(13)
  4448.     m$ = m$ + "........" + chr$(13)
  4449.     m$ = m$ + "........" + chr$(13)
  4450.     m$ = m$ + "........" + chr$(13)
  4451.     m$ = m$ + "........" + chr$(13)
  4452.     m$ = m$ + "........" + chr$(13)
  4453.     arrTileText(201) = m$
  4454.  
  4455.     m$ = ""
  4456.     m$ = m$ + ".222222." + chr$(13)
  4457.     m$ = m$ + ".....22." + chr$(13)
  4458.     m$ = m$ + "....22.." + chr$(13)
  4459.     m$ = m$ + "...22..." + chr$(13)
  4460.     m$ = m$ + "..22...." + chr$(13)
  4461.     m$ = m$ + ".22....." + chr$(13)
  4462.     m$ = m$ + ".222222." + chr$(13)
  4463.     m$ = m$ + "........" + chr$(13)
  4464.     arrTileText(202) = m$
  4465.  
  4466.     m$ = ""
  4467.     m$ = m$ + "...22..." + chr$(13)
  4468.     m$ = m$ + "...22..." + chr$(13)
  4469.     m$ = m$ + "...22..." + chr$(13)
  4470.     m$ = m$ + "22222222" + chr$(13)
  4471.     m$ = m$ + "22222222" + chr$(13)
  4472.     m$ = m$ + "...22..." + chr$(13)
  4473.     m$ = m$ + "...22..." + chr$(13)
  4474.     m$ = m$ + "...22..." + chr$(13)
  4475.     arrTileText(203) = m$
  4476.  
  4477.     m$ = ""
  4478.     m$ = m$ + "22......" + chr$(13)
  4479.     m$ = m$ + "22......" + chr$(13)
  4480.     m$ = m$ + "..22...." + chr$(13)
  4481.     m$ = m$ + "..22...." + chr$(13)
  4482.     m$ = m$ + "22......" + chr$(13)
  4483.     m$ = m$ + "22......" + chr$(13)
  4484.     m$ = m$ + "..22...." + chr$(13)
  4485.     m$ = m$ + "..22...." + chr$(13)
  4486.     arrTileText(204) = m$
  4487.  
  4488.     m$ = ""
  4489.     m$ = m$ + "...22..." + chr$(13)
  4490.     m$ = m$ + "...22..." + chr$(13)
  4491.     m$ = m$ + "...22..." + chr$(13)
  4492.     m$ = m$ + "...22..." + chr$(13)
  4493.     m$ = m$ + "...22..." + chr$(13)
  4494.     m$ = m$ + "...22..." + chr$(13)
  4495.     m$ = m$ + "...22..." + chr$(13)
  4496.     m$ = m$ + "...22..." + chr$(13)
  4497.     arrTileText(205) = m$
  4498.  
  4499.     m$ = ""
  4500.     m$ = m$ + "..22..22" + chr$(13)
  4501.     m$ = m$ + "..22..22" + chr$(13)
  4502.     m$ = m$ + "22..22.." + chr$(13)
  4503.     m$ = m$ + "22..22.." + chr$(13)
  4504.     m$ = m$ + "..22..22" + chr$(13)
  4505.     m$ = m$ + "..22..22" + chr$(13)
  4506.     m$ = m$ + "22..22.." + chr$(13)
  4507.     m$ = m$ + "22..22.." + chr$(13)
  4508.     arrTileText(206) = m$
  4509.  
  4510.     m$ = ""
  4511.     m$ = m$ + "..22..22" + chr$(13)
  4512.     m$ = m$ + "2..22..2" + chr$(13)
  4513.     m$ = m$ + "22..22.." + chr$(13)
  4514.     m$ = m$ + ".22..22." + chr$(13)
  4515.     m$ = m$ + "..22..22" + chr$(13)
  4516.     m$ = m$ + "2..22..2" + chr$(13)
  4517.     m$ = m$ + "22..22.." + chr$(13)
  4518.     m$ = m$ + ".22..22." + chr$(13)
  4519.     arrTileText(207) = m$
  4520.  
  4521.     m$ = ""
  4522.     m$ = m$ + "........" + chr$(13)
  4523.     m$ = m$ + "........" + chr$(13)
  4524.     m$ = m$ + "........" + chr$(13)
  4525.     m$ = m$ + "........" + chr$(13)
  4526.     m$ = m$ + "........" + chr$(13)
  4527.     m$ = m$ + "........" + chr$(13)
  4528.     m$ = m$ + "........" + chr$(13)
  4529.     m$ = m$ + "........" + chr$(13)
  4530.     arrTileText(208) = m$
  4531.  
  4532.     m$ = ""
  4533.     m$ = m$ + "2222...." + chr$(13)
  4534.     m$ = m$ + "2222...." + chr$(13)
  4535.     m$ = m$ + "2222...." + chr$(13)
  4536.     m$ = m$ + "2222...." + chr$(13)
  4537.     m$ = m$ + "2222...." + chr$(13)
  4538.     m$ = m$ + "2222...." + chr$(13)
  4539.     m$ = m$ + "2222...." + chr$(13)
  4540.     m$ = m$ + "2222...." + chr$(13)
  4541.     arrTileText(209) = m$
  4542.  
  4543.     m$ = ""
  4544.     m$ = m$ + "........" + chr$(13)
  4545.     m$ = m$ + "........" + chr$(13)
  4546.     m$ = m$ + "........" + chr$(13)
  4547.     m$ = m$ + "........" + chr$(13)
  4548.     m$ = m$ + "22222222" + chr$(13)
  4549.     m$ = m$ + "22222222" + chr$(13)
  4550.     m$ = m$ + "22222222" + chr$(13)
  4551.     m$ = m$ + "22222222" + chr$(13)
  4552.     arrTileText(210) = m$
  4553.  
  4554.     m$ = ""
  4555.     m$ = m$ + "22222222" + chr$(13)
  4556.     m$ = m$ + "........" + chr$(13)
  4557.     m$ = m$ + "........" + chr$(13)
  4558.     m$ = m$ + "........" + chr$(13)
  4559.     m$ = m$ + "........" + chr$(13)
  4560.     m$ = m$ + "........" + chr$(13)
  4561.     m$ = m$ + "........" + chr$(13)
  4562.     m$ = m$ + "........" + chr$(13)
  4563.     arrTileText(211) = m$
  4564.  
  4565.     m$ = ""
  4566.     m$ = m$ + "........" + chr$(13)
  4567.     m$ = m$ + "........" + chr$(13)
  4568.     m$ = m$ + "........" + chr$(13)
  4569.     m$ = m$ + "........" + chr$(13)
  4570.     m$ = m$ + "........" + chr$(13)
  4571.     m$ = m$ + "........" + chr$(13)
  4572.     m$ = m$ + "........" + chr$(13)
  4573.     m$ = m$ + "22222222" + chr$(13)
  4574.     arrTileText(212) = m$
  4575.  
  4576.     m$ = ""
  4577.     m$ = m$ + "22......" + chr$(13)
  4578.     m$ = m$ + "22......" + chr$(13)
  4579.     m$ = m$ + "22......" + chr$(13)
  4580.     m$ = m$ + "22......" + chr$(13)
  4581.     m$ = m$ + "22......" + chr$(13)
  4582.     m$ = m$ + "22......" + chr$(13)
  4583.     m$ = m$ + "22......" + chr$(13)
  4584.     m$ = m$ + "22......" + chr$(13)
  4585.     arrTileText(213) = m$
  4586.  
  4587.     m$ = ""
  4588.     m$ = m$ + "22..22.." + chr$(13)
  4589.     m$ = m$ + "22..22.." + chr$(13)
  4590.     m$ = m$ + "..22..22" + chr$(13)
  4591.     m$ = m$ + "..22..22" + chr$(13)
  4592.     m$ = m$ + "22..22.." + chr$(13)
  4593.     m$ = m$ + "22..22.." + chr$(13)
  4594.     m$ = m$ + "..22..22" + chr$(13)
  4595.     m$ = m$ + "..22..22" + chr$(13)
  4596.     arrTileText(214) = m$
  4597.  
  4598.     m$ = ""
  4599.     m$ = m$ + "......22" + chr$(13)
  4600.     m$ = m$ + "......22" + chr$(13)
  4601.     m$ = m$ + "......22" + chr$(13)
  4602.     m$ = m$ + "......22" + chr$(13)
  4603.     m$ = m$ + "......22" + chr$(13)
  4604.     m$ = m$ + "......22" + chr$(13)
  4605.     m$ = m$ + "......22" + chr$(13)
  4606.     m$ = m$ + "......22" + chr$(13)
  4607.     arrTileText(215) = m$
  4608.  
  4609.     m$ = ""
  4610.     m$ = m$ + "........" + chr$(13)
  4611.     m$ = m$ + "........" + chr$(13)
  4612.     m$ = m$ + "........" + chr$(13)
  4613.     m$ = m$ + "........" + chr$(13)
  4614.     m$ = m$ + "22..22.." + chr$(13)
  4615.     m$ = m$ + "22..22.." + chr$(13)
  4616.     m$ = m$ + "..22..22" + chr$(13)
  4617.     m$ = m$ + "..22..22" + chr$(13)
  4618.     arrTileText(216) = m$
  4619.  
  4620.     m$ = ""
  4621.     m$ = m$ + "22..22.." + chr$(13)
  4622.     m$ = m$ + "2..22..2" + chr$(13)
  4623.     m$ = m$ + "..22..22" + chr$(13)
  4624.     m$ = m$ + ".22..22." + chr$(13)
  4625.     m$ = m$ + "22..22.." + chr$(13)
  4626.     m$ = m$ + "2..22..2" + chr$(13)
  4627.     m$ = m$ + "..22..22" + chr$(13)
  4628.     m$ = m$ + ".22..22." + chr$(13)
  4629.     arrTileText(217) = m$
  4630.  
  4631.     m$ = ""
  4632.     m$ = m$ + "......22" + chr$(13)
  4633.     m$ = m$ + "......22" + chr$(13)
  4634.     m$ = m$ + "......22" + chr$(13)
  4635.     m$ = m$ + "......22" + chr$(13)
  4636.     m$ = m$ + "......22" + chr$(13)
  4637.     m$ = m$ + "......22" + chr$(13)
  4638.     m$ = m$ + "......22" + chr$(13)
  4639.     m$ = m$ + "......22" + chr$(13)
  4640.     arrTileText(218) = m$
  4641.  
  4642.     m$ = ""
  4643.     m$ = m$ + "...22..." + chr$(13)
  4644.     m$ = m$ + "...22..." + chr$(13)
  4645.     m$ = m$ + "...22..." + chr$(13)
  4646.     m$ = m$ + "...22222" + chr$(13)
  4647.     m$ = m$ + "...22222" + chr$(13)
  4648.     m$ = m$ + "...22..." + chr$(13)
  4649.     m$ = m$ + "...22..." + chr$(13)
  4650.     m$ = m$ + "...22..." + chr$(13)
  4651.     arrTileText(219) = m$
  4652.  
  4653.     m$ = ""
  4654.     m$ = m$ + "........" + chr$(13)
  4655.     m$ = m$ + "........" + chr$(13)
  4656.     m$ = m$ + "........" + chr$(13)
  4657.     m$ = m$ + "........" + chr$(13)
  4658.     m$ = m$ + "....2222" + chr$(13)
  4659.     m$ = m$ + "....2222" + chr$(13)
  4660.     m$ = m$ + "....2222" + chr$(13)
  4661.     m$ = m$ + "....2222" + chr$(13)
  4662.     arrTileText(220) = m$
  4663.  
  4664.     m$ = ""
  4665.     m$ = m$ + "...22..." + chr$(13)
  4666.     m$ = m$ + "...22..." + chr$(13)
  4667.     m$ = m$ + "...22..." + chr$(13)
  4668.     m$ = m$ + "...22222" + chr$(13)
  4669.     m$ = m$ + "...22222" + chr$(13)
  4670.     m$ = m$ + "........" + chr$(13)
  4671.     m$ = m$ + "........" + chr$(13)
  4672.     m$ = m$ + "........" + chr$(13)
  4673.     arrTileText(221) = m$
  4674.  
  4675.     m$ = ""
  4676.     m$ = m$ + "........" + chr$(13)
  4677.     m$ = m$ + "........" + chr$(13)
  4678.     m$ = m$ + "........" + chr$(13)
  4679.     m$ = m$ + "22222..." + chr$(13)
  4680.     m$ = m$ + "22222..." + chr$(13)
  4681.     m$ = m$ + "...22..." + chr$(13)
  4682.     m$ = m$ + "...22..." + chr$(13)
  4683.     m$ = m$ + "...22..." + chr$(13)
  4684.     arrTileText(222) = m$
  4685.  
  4686.     m$ = ""
  4687.     m$ = m$ + "........" + chr$(13)
  4688.     m$ = m$ + "........" + chr$(13)
  4689.     m$ = m$ + "........" + chr$(13)
  4690.     m$ = m$ + "........" + chr$(13)
  4691.     m$ = m$ + "........" + chr$(13)
  4692.     m$ = m$ + "........" + chr$(13)
  4693.     m$ = m$ + "22222222" + chr$(13)
  4694.     m$ = m$ + "22222222" + chr$(13)
  4695.     arrTileText(223) = m$
  4696.  
  4697.     m$ = ""
  4698.     m$ = m$ + "........" + chr$(13)
  4699.     m$ = m$ + "........" + chr$(13)
  4700.     m$ = m$ + "........" + chr$(13)
  4701.     m$ = m$ + "...22222" + chr$(13)
  4702.     m$ = m$ + "...22222" + chr$(13)
  4703.     m$ = m$ + "...22..." + chr$(13)
  4704.     m$ = m$ + "...22..." + chr$(13)
  4705.     m$ = m$ + "...22..." + chr$(13)
  4706.     arrTileText(224) = m$
  4707.  
  4708.     m$ = ""
  4709.     m$ = m$ + "...22..." + chr$(13)
  4710.     m$ = m$ + "...22..." + chr$(13)
  4711.     m$ = m$ + "...22..." + chr$(13)
  4712.     m$ = m$ + "22222222" + chr$(13)
  4713.     m$ = m$ + "22222222" + chr$(13)
  4714.     m$ = m$ + "........" + chr$(13)
  4715.     m$ = m$ + "........" + chr$(13)
  4716.     m$ = m$ + "........" + chr$(13)
  4717.     arrTileText(225) = m$
  4718.  
  4719.     m$ = ""
  4720.     m$ = m$ + "........" + chr$(13)
  4721.     m$ = m$ + "........" + chr$(13)
  4722.     m$ = m$ + "........" + chr$(13)
  4723.     m$ = m$ + "22222222" + chr$(13)
  4724.     m$ = m$ + "22222222" + chr$(13)
  4725.     m$ = m$ + "...22..." + chr$(13)
  4726.     m$ = m$ + "...22..." + chr$(13)
  4727.     m$ = m$ + "...22..." + chr$(13)
  4728.     arrTileText(226) = m$
  4729.  
  4730.     m$ = ""
  4731.     m$ = m$ + "...22..." + chr$(13)
  4732.     m$ = m$ + "...22..." + chr$(13)
  4733.     m$ = m$ + "...22..." + chr$(13)
  4734.     m$ = m$ + "22222..." + chr$(13)
  4735.     m$ = m$ + "22222..." + chr$(13)
  4736.     m$ = m$ + "...22..." + chr$(13)
  4737.     m$ = m$ + "...22..." + chr$(13)
  4738.     m$ = m$ + "...22..." + chr$(13)
  4739.     arrTileText(227) = m$
  4740.  
  4741.     m$ = ""
  4742.     m$ = m$ + "22......" + chr$(13)
  4743.     m$ = m$ + "22......" + chr$(13)
  4744.     m$ = m$ + "22......" + chr$(13)
  4745.     m$ = m$ + "22......" + chr$(13)
  4746.     m$ = m$ + "22......" + chr$(13)
  4747.     m$ = m$ + "22......" + chr$(13)
  4748.     m$ = m$ + "22......" + chr$(13)
  4749.     m$ = m$ + "22......" + chr$(13)
  4750.     arrTileText(228) = m$
  4751.  
  4752.     m$ = ""
  4753.     m$ = m$ + "222....." + chr$(13)
  4754.     m$ = m$ + "222....." + chr$(13)
  4755.     m$ = m$ + "222....." + chr$(13)
  4756.     m$ = m$ + "222....." + chr$(13)
  4757.     m$ = m$ + "222....." + chr$(13)
  4758.     m$ = m$ + "222....." + chr$(13)
  4759.     m$ = m$ + "222....." + chr$(13)
  4760.     m$ = m$ + "222....." + chr$(13)
  4761.     arrTileText(229) = m$
  4762.  
  4763.     m$ = ""
  4764.     m$ = m$ + ".....222" + chr$(13)
  4765.     m$ = m$ + ".....222" + chr$(13)
  4766.     m$ = m$ + ".....222" + chr$(13)
  4767.     m$ = m$ + ".....222" + chr$(13)
  4768.     m$ = m$ + ".....222" + chr$(13)
  4769.     m$ = m$ + ".....222" + chr$(13)
  4770.     m$ = m$ + ".....222" + chr$(13)
  4771.     m$ = m$ + ".....222" + chr$(13)
  4772.     arrTileText(230) = m$
  4773.  
  4774.     m$ = ""
  4775.     m$ = m$ + "22222222" + chr$(13)
  4776.     m$ = m$ + "22222222" + chr$(13)
  4777.     m$ = m$ + "........" + chr$(13)
  4778.     m$ = m$ + "........" + chr$(13)
  4779.     m$ = m$ + "........" + chr$(13)
  4780.     m$ = m$ + "........" + chr$(13)
  4781.     m$ = m$ + "........" + chr$(13)
  4782.     m$ = m$ + "........" + chr$(13)
  4783.     arrTileText(231) = m$
  4784.  
  4785.     m$ = ""
  4786.     m$ = m$ + "22222222" + chr$(13)
  4787.     m$ = m$ + "22222222" + chr$(13)
  4788.     m$ = m$ + "22222222" + chr$(13)
  4789.     m$ = m$ + "........" + chr$(13)
  4790.     m$ = m$ + "........" + chr$(13)
  4791.     m$ = m$ + "........" + chr$(13)
  4792.     m$ = m$ + "........" + chr$(13)
  4793.     m$ = m$ + "........" + chr$(13)
  4794.     arrTileText(232) = m$
  4795.  
  4796.     m$ = ""
  4797.     m$ = m$ + "........" + chr$(13)
  4798.     m$ = m$ + "........" + chr$(13)
  4799.     m$ = m$ + "........" + chr$(13)
  4800.     m$ = m$ + "........" + chr$(13)
  4801.     m$ = m$ + "........" + chr$(13)
  4802.     m$ = m$ + "22222222" + chr$(13)
  4803.     m$ = m$ + "22222222" + chr$(13)
  4804.     m$ = m$ + "22222222" + chr$(13)
  4805.     arrTileText(233) = m$
  4806.  
  4807.     m$ = ""
  4808.     m$ = m$ + ".......2" + chr$(13)
  4809.     m$ = m$ + "......22" + chr$(13)
  4810.     m$ = m$ + ".....22." + chr$(13)
  4811.     m$ = m$ + ".22.22.." + chr$(13)
  4812.     m$ = m$ + ".2222..." + chr$(13)
  4813.     m$ = m$ + ".222...." + chr$(13)
  4814.     m$ = m$ + ".22....." + chr$(13)
  4815.     m$ = m$ + "........" + chr$(13)
  4816.     arrTileText(234) = m$
  4817.  
  4818.     m$ = ""
  4819.     m$ = m$ + "........" + chr$(13)
  4820.     m$ = m$ + "........" + chr$(13)
  4821.     m$ = m$ + "........" + chr$(13)
  4822.     m$ = m$ + "........" + chr$(13)
  4823.     m$ = m$ + "2222...." + chr$(13)
  4824.     m$ = m$ + "2222...." + chr$(13)
  4825.     m$ = m$ + "2222...." + chr$(13)
  4826.     m$ = m$ + "2222...." + chr$(13)
  4827.     arrTileText(235) = m$
  4828.  
  4829.     m$ = ""
  4830.     m$ = m$ + "....2222" + chr$(13)
  4831.     m$ = m$ + "....2222" + chr$(13)
  4832.     m$ = m$ + "....2222" + chr$(13)
  4833.     m$ = m$ + "....2222" + chr$(13)
  4834.     m$ = m$ + "........" + chr$(13)
  4835.     m$ = m$ + "........" + chr$(13)
  4836.     m$ = m$ + "........" + chr$(13)
  4837.     m$ = m$ + "........" + chr$(13)
  4838.     arrTileText(236) = m$
  4839.  
  4840.     m$ = ""
  4841.     m$ = m$ + "...22..." + chr$(13)
  4842.     m$ = m$ + "...22..." + chr$(13)
  4843.     m$ = m$ + "...22..." + chr$(13)
  4844.     m$ = m$ + "22222..." + chr$(13)
  4845.     m$ = m$ + "22222..." + chr$(13)
  4846.     m$ = m$ + "........" + chr$(13)
  4847.     m$ = m$ + "........" + chr$(13)
  4848.     m$ = m$ + "........" + chr$(13)
  4849.     arrTileText(237) = m$
  4850.  
  4851.     m$ = ""
  4852.     m$ = m$ + "2222...." + chr$(13)
  4853.     m$ = m$ + "2222...." + chr$(13)
  4854.     m$ = m$ + "2222...." + chr$(13)
  4855.     m$ = m$ + "2222...." + chr$(13)
  4856.     m$ = m$ + "........" + chr$(13)
  4857.     m$ = m$ + "........" + chr$(13)
  4858.     m$ = m$ + "........" + chr$(13)
  4859.     m$ = m$ + "........" + chr$(13)
  4860.     arrTileText(238) = m$
  4861.  
  4862.     m$ = ""
  4863.     m$ = m$ + "2222...." + chr$(13)
  4864.     m$ = m$ + "2222...." + chr$(13)
  4865.     m$ = m$ + "2222...." + chr$(13)
  4866.     m$ = m$ + "2222...." + chr$(13)
  4867.     m$ = m$ + "....2222" + chr$(13)
  4868.     m$ = m$ + "....2222" + chr$(13)
  4869.     m$ = m$ + "....2222" + chr$(13)
  4870.     m$ = m$ + "....2222" + chr$(13)
  4871.     arrTileText(239) = m$
  4872.  
  4873.     m$ = ""
  4874.     m$ = m$ + "........" + chr$(13)
  4875.     m$ = m$ + "........" + chr$(13)
  4876.     m$ = m$ + "........" + chr$(13)
  4877.     m$ = m$ + "........" + chr$(13)
  4878.     m$ = m$ + "........" + chr$(13)
  4879.     m$ = m$ + "........" + chr$(13)
  4880.     m$ = m$ + "........" + chr$(13)
  4881.     m$ = m$ + "........" + chr$(13)
  4882.     arrTileText(240) = m$
  4883.  
  4884.     m$ = ""
  4885.     m$ = m$ + "22222.22" + chr$(13)
  4886.     m$ = m$ + "22222.22" + chr$(13)
  4887.     m$ = m$ + "22222.22" + chr$(13)
  4888.     m$ = m$ + "........" + chr$(13)
  4889.     m$ = m$ + "22.22222" + chr$(13)
  4890.     m$ = m$ + "22.22222" + chr$(13)
  4891.     m$ = m$ + "22.22222" + chr$(13)
  4892.     m$ = m$ + "........" + chr$(13)
  4893.     arrTileText(241) = m$
  4894.  
  4895.     m$ = ""
  4896.     m$ = m$ + "........" + chr$(13)
  4897.     m$ = m$ + "........" + chr$(13)
  4898.     m$ = m$ + "........" + chr$(13)
  4899.     m$ = m$ + ".222222." + chr$(13)
  4900.     m$ = m$ + "........" + chr$(13)
  4901.     m$ = m$ + "........" + chr$(13)
  4902.     m$ = m$ + "........" + chr$(13)
  4903.     m$ = m$ + "........" + chr$(13)
  4904.     arrTileText(242) = m$
  4905.  
  4906.     m$ = ""
  4907.     m$ = m$ + "........" + chr$(13)
  4908.     m$ = m$ + "...2...." + chr$(13)
  4909.     m$ = m$ + "...2...." + chr$(13)
  4910.     m$ = m$ + "...2...." + chr$(13)
  4911.     m$ = m$ + "...2...." + chr$(13)
  4912.     m$ = m$ + "...2...." + chr$(13)
  4913.     m$ = m$ + "...2...." + chr$(13)
  4914.     m$ = m$ + "........" + chr$(13)
  4915.     arrTileText(243) = m$
  4916.  
  4917.     m$ = ""
  4918.     m$ = m$ + "........" + chr$(13)
  4919.     m$ = m$ + "........" + chr$(13)
  4920.     m$ = m$ + "........" + chr$(13)
  4921.     m$ = m$ + "...2222." + chr$(13)
  4922.     m$ = m$ + "...2...." + chr$(13)
  4923.     m$ = m$ + "...2...." + chr$(13)
  4924.     m$ = m$ + "...2...." + chr$(13)
  4925.     m$ = m$ + "........" + chr$(13)
  4926.     arrTileText(244) = m$
  4927.  
  4928.     m$ = ""
  4929.     m$ = m$ + "........" + chr$(13)
  4930.     m$ = m$ + "........" + chr$(13)
  4931.     m$ = m$ + "........" + chr$(13)
  4932.     m$ = m$ + ".222...." + chr$(13)
  4933.     m$ = m$ + "...2...." + chr$(13)
  4934.     m$ = m$ + "...2...." + chr$(13)
  4935.     m$ = m$ + "...2...." + chr$(13)
  4936.     m$ = m$ + "........" + chr$(13)
  4937.     arrTileText(245) = m$
  4938.  
  4939.     m$ = ""
  4940.     m$ = m$ + "........" + chr$(13)
  4941.     m$ = m$ + "...2...." + chr$(13)
  4942.     m$ = m$ + "...2...." + chr$(13)
  4943.     m$ = m$ + "...2222." + chr$(13)
  4944.     m$ = m$ + "........" + chr$(13)
  4945.     m$ = m$ + "........" + chr$(13)
  4946.     m$ = m$ + "........" + chr$(13)
  4947.     m$ = m$ + "........" + chr$(13)
  4948.     arrTileText(246) = m$
  4949.  
  4950.     m$ = ""
  4951.     m$ = m$ + "........" + chr$(13)
  4952.     m$ = m$ + "...2...." + chr$(13)
  4953.     m$ = m$ + "...2...." + chr$(13)
  4954.     m$ = m$ + ".222...." + chr$(13)
  4955.     m$ = m$ + "........" + chr$(13)
  4956.     m$ = m$ + "........" + chr$(13)
  4957.     m$ = m$ + "........" + chr$(13)
  4958.     m$ = m$ + "........" + chr$(13)
  4959.     arrTileText(247) = m$
  4960.    
  4961.     m$ = ""
  4962.     m$ = m$ + "........" + chr$(13)
  4963.     m$ = m$ + "........" + chr$(13)
  4964.     m$ = m$ + "........" + chr$(13)
  4965.     m$ = m$ + "........" + chr$(13)
  4966.     m$ = m$ + "........" + chr$(13)
  4967.     m$ = m$ + "........" + chr$(13)
  4968.     m$ = m$ + "........" + chr$(13)
  4969.     m$ = m$ + "........" + chr$(13)
  4970.     arrTileText(248) = m$
  4971.  
  4972.     m$ = ""
  4973.     m$ = m$ + "........" + chr$(13)
  4974.     m$ = m$ + "........" + chr$(13)
  4975.     m$ = m$ + "........" + chr$(13)
  4976.     m$ = m$ + "........" + chr$(13)
  4977.     m$ = m$ + "........" + chr$(13)
  4978.     m$ = m$ + "........" + chr$(13)
  4979.     m$ = m$ + "........" + chr$(13)
  4980.     m$ = m$ + "........" + chr$(13)
  4981.     arrTileText(249) = m$
  4982.  
  4983.     m$ = ""
  4984.     m$ = m$ + "........" + chr$(13)
  4985.     m$ = m$ + "........" + chr$(13)
  4986.     m$ = m$ + "........" + chr$(13)
  4987.     m$ = m$ + "........" + chr$(13)
  4988.     m$ = m$ + "........" + chr$(13)
  4989.     m$ = m$ + "........" + chr$(13)
  4990.     m$ = m$ + "........" + chr$(13)
  4991.     m$ = m$ + "........" + chr$(13)
  4992.     arrTileText(250) = m$
  4993.  
  4994.     m$ = ""
  4995.     m$ = m$ + "........" + chr$(13)
  4996.     m$ = m$ + "........" + chr$(13)
  4997.     m$ = m$ + "........" + chr$(13)
  4998.     m$ = m$ + "........" + chr$(13)
  4999.     m$ = m$ + "........" + chr$(13)
  5000.     m$ = m$ + "........" + chr$(13)
  5001.     m$ = m$ + "........" + chr$(13)
  5002.     m$ = m$ + "........" + chr$(13)
  5003.     arrTileText(251) = m$
  5004.  
  5005.     m$ = ""
  5006.     m$ = m$ + "........" + chr$(13)
  5007.     m$ = m$ + "........" + chr$(13)
  5008.     m$ = m$ + "........" + chr$(13)
  5009.     m$ = m$ + "........" + chr$(13)
  5010.     m$ = m$ + "........" + chr$(13)
  5011.     m$ = m$ + "........" + chr$(13)
  5012.     m$ = m$ + "........" + chr$(13)
  5013.     m$ = m$ + "........" + chr$(13)
  5014.     arrTileText(252) = m$
  5015.  
  5016.     m$ = ""
  5017.     m$ = m$ + "........" + chr$(13)
  5018.     m$ = m$ + "........" + chr$(13)
  5019.     m$ = m$ + "........" + chr$(13)
  5020.     m$ = m$ + "........" + chr$(13)
  5021.     m$ = m$ + "........" + chr$(13)
  5022.     m$ = m$ + "........" + chr$(13)
  5023.     m$ = m$ + "........" + chr$(13)
  5024.     m$ = m$ + "........" + chr$(13)
  5025.     arrTileText(253) = m$
  5026.  
  5027.     m$ = ""
  5028.     m$ = m$ + "22222222" + chr$(13)
  5029.     m$ = m$ + "2......2" + chr$(13)
  5030.     m$ = m$ + "2......2" + chr$(13)
  5031.     m$ = m$ + "2......2" + chr$(13)
  5032.     m$ = m$ + "2......2" + chr$(13)
  5033.     m$ = m$ + "2......2" + chr$(13)
  5034.     m$ = m$ + "2......2" + chr$(13)
  5035.     m$ = m$ + "22222222" + chr$(13)
  5036.     arrTileText(254) = m$
  5037.        
  5038.     m$ = ""
  5039.     m$ = m$ + "22222222" + chr$(13)
  5040.     m$ = m$ + "22222222" + chr$(13)
  5041.     m$ = m$ + "22222222" + chr$(13)
  5042.     m$ = m$ + "22222222" + chr$(13)
  5043.     m$ = m$ + "22222222" + chr$(13)
  5044.     m$ = m$ + "22222222" + chr$(13)
  5045.     m$ = m$ + "22222222" + chr$(13)
  5046.     m$ = m$ + "22222222" + chr$(13)
  5047.     arrTileText(255) = m$
  5048.        
  5049. End Sub ' GetTileText
  5050.  
  5051. ' ################################################################################################################################################################
  5052. ' END TILE DEFINITIONS
  5053. ' ################################################################################################################################################################
  5054.  
  5055.  
  5056. ' ################################################################################################################################################################
  5057. ' BEGIN COLOR TEXT TILE FUNCTIONS
  5058. ' ################################################################################################################################################################
  5059.  
  5060. ' /////////////////////////////////////////////////////////////////////////////
  5061. ' Calculates the tile locations ahead of time to save time copying them
  5062. ' to the screen.
  5063.  
  5064. ' TileSheetMapType
  5065. '   xStart
  5066. '   xEnd
  5067. '   yStart
  5068. '   yEnd
  5069.  
  5070. ' TileMapType
  5071. '   xPos
  5072. '   yPos
  5073.  
  5074. '' DECLARATIONS
  5075. 'Dim TileCount%
  5076. 'Dim TilesheetCols%
  5077. 'Dim TilesheetRows%
  5078. 'Dim tileHeightPx%
  5079. 'Dim tileWidthPx%
  5080. 'Dim xOffset%
  5081. 'Dim yOffset%
  5082. 'Dim numTilesX%
  5083. 'Dim numTilesY%
  5084.  
  5085. 'REDIM arrTileSheetMap(255) AS TileSheetMapType
  5086. 'REDIM arrTileMap(20, 20) AS TileMapType
  5087.  
  5088. '' # OF TILES
  5089. 'TileCount% = 256
  5090.  
  5091. '' # OF COLUMNS / ROWS ON SOURCE TILE SHEET
  5092. 'TilesheetCols% = 16
  5093. 'TilesheetRows% = 16
  5094.  
  5095. '' TILE HEIGHT/WIDTH
  5096. 'tileHeightPx% = 32
  5097. 'tileWidthPx% = 32
  5098.  
  5099. '' SCREEN OFFSET
  5100. 'xOffset% = 0
  5101. 'yOffset% = 64
  5102.  
  5103. '' HOW MANY TILES ACROSS
  5104. 'numTilesX% = 20
  5105. 'numTilesY% = 20
  5106.  
  5107. 'ComputeTileLocations arrTileSheetMap(), arrTileMap(), TileCount%, TilesheetCols%, TilesheetRows%, tileWidthPx%, tileHeightPx%, xOffset%, yOffset%, numTilesX%, numTilesY%
  5108.  
  5109. Sub ComputeTileLocations (arrTileSheetMap() AS TileSheetMapType, arrTileMap() AS TileMapType, TileCount%, TilesheetCols%, TilesheetRows%, tileWidthPx%, tileHeightPx%, xOffset%, yOffset%, numTilesX%, numTilesY%)
  5110.     DIM TileNum%
  5111.     DIM sc%
  5112.     DIM sr%
  5113.     DIM sx1%
  5114.     DIM sx2%
  5115.     DIM sy1%
  5116.     DIM sy2%
  5117.  
  5118.     DIM dx%
  5119.     DIM dy%
  5120.     DIM xDest%
  5121.     DIM yDest%
  5122.  
  5123.     ' -----------------------------------------------------------------------------
  5124.     ' CALCULATE TILE SHEET COORDINATES FOR TILES 0-255
  5125.  
  5126.     FOR TileNum% = 0 TO (TileCount% - 1)
  5127.  
  5128.         ' GET THE COLUMN/ROW OF TILE # TileNum% ON THE SOURCE TILE SHEET
  5129.         sc% = TileNum% Mod TilesheetCols%
  5130.         sr% = TileNum% \ TilesheetRows%
  5131.  
  5132.         'Print "Tile#" + cstr$(TileNum%) + " at sc%=" + cstr$(sc%) + ",sr%=" + cstr$(sr%)
  5133.  
  5134.         ' GET THE START X COORDINATE ON THE SOURCE TILE SHEET
  5135.         'sx1% = sc% * tw%
  5136.         sx1% = sc% * tileWidthPx%
  5137.  
  5138.         ' GET THE START Y COORDINATE ON THE SOURCE TILE SHEET
  5139.         'sy1% = sr% * tw%
  5140.         sy1% = sr% * tileHeightPx%
  5141.  
  5142.         ' GET THE END X COORDINATE ON THE SOURCE TILE SHEET
  5143.         'sx2% = sx1% + (tw% - 1)
  5144.         sx2% = sx1% + (tileWidthPx% - 1)
  5145.  
  5146.         ' GET THE END y COORDINATE ON THE SOURCE TILE SHEET
  5147.         'sy2% = sy1% + (tw% - 1)
  5148.         sy2% = sy1% + (tileHeightPx% - 1)
  5149.  
  5150.         ' SAVE THE COORDINATES FOR TileNum% IN THE ARRAY
  5151.         arrTileSheetMap(TileNum%).xStart = sx1%
  5152.         arrTileSheetMap(TileNum%).xEnd = sx2%
  5153.         arrTileSheetMap(TileNum%).yStart = sy1%
  5154.         arrTileSheetMap(TileNum%).yEnd = sy2%
  5155.  
  5156.     NEXT TileNum%
  5157.  
  5158.     ' -----------------------------------------------------------------------------
  5159.     ' CALCULATE SCREEN COORDINATES FOR TILES
  5160.  
  5161.     FOR dx% = 0 TO (numTilesX% - 1)
  5162.         FOR dy% = 0 TO (numTilesY% - 1)
  5163.  
  5164.             ' GET THE DESTINATION X COORDINATE ON THE SCREEN
  5165.             'xDest% = dx% * tw%
  5166.             xDest% = (dx% * tileWidthPx%) + xOffset%
  5167.  
  5168.             ' GET THE DESTINATION Y COORDINATE ON THE SCREEN
  5169.             'yDest% = (dy% * tw%) + 64
  5170.             yDest% = (dy% * tileHeightPx%) + yOffset%
  5171.  
  5172.             'Print "Tile#" + cstr$(TileNum%) + " at r" + cstr$(sr%) + "c" + cstr$(sc%) + " pixel location r" + cstr$(sy1%) + "c" + cstr$(sx1%) + " through r" + cstr$(sy2%) + "c" + cstr$(sx2%)
  5173.  
  5174.             ' SAVE THE SCREEN PIXEL COORDINATES FOR dx%, dy% IN THE ARRAY
  5175.             ' WHERE dx% and dy% ARE 1-BASED
  5176.             arrTileMap(dx%+1, dy%+1).xPos = xDest%
  5177.             arrTileMap(dx%+1, dy%+1).yPos = yDest%
  5178.  
  5179.         NEXT dy%
  5180.     NEXT dx%
  5181.  
  5182. End Sub ' ComputeTileLocations
  5183.  
  5184. ' /////////////////////////////////////////////////////////////////////////////
  5185. ' Like DrawColorTile but faster because it uses precalculated coordinates
  5186. ' to find the tile on the tile sheet, and the destination on the screen.
  5187.  
  5188. ' Receives:
  5189. ' imgScreen& = handle to screen to draw tile on
  5190. ' imgTiles& = handle to 16x16 tile sheet of 16x16 pixel tiles colored black (256 tiles)
  5191. ' arrTileSheetMap() = array of TileSheetMapType which holds precalculated positions of tiles on tilesheet
  5192. ' arrTileMap() = array of TileMapType which holds precalculated positions where tiles go on screen
  5193. ' tileWidthPx% = width of tiles in pixels
  5194. ' tileHeightPx% = height of tiles in pixels
  5195. ' TileNum% = ordinal number of tile on tile sheet to draw (0-255)
  5196. ' TileColor~& = color to use for tile
  5197. ' BackColor~& = color to use for background
  5198. ' dx% = column # to draw tile at (where each column is 16 pixels wide)
  5199. ' dy% = row # to draw tile at (where each row is 16 pixels high)
  5200.  
  5201. ' *** QUESTION
  5202. ' *** IF THE SUB RECEIVES IMAGE HANDLE PARAMETERS imgScreen&, imgTiles&
  5203. ' *** ARE THESE BY REFERENCE?
  5204. ' *** IF NOT, DO THESE LOCAL COPIES HAVE TO BE RELEASED WITH _FREEIMAGE ?
  5205.  
  5206. ' TODO: support transparency?
  5207. '       Colors returned are always opaque as the transparency value is always 255. Use _ALPHA or _CLEARCOLOR to change it.
  5208.  
  5209. 'DrawColorTileFast imgScreen&, imgTiles&, arrTileSheet8Map(), arrTile8Map(), tileWidthPx%, tileHeightPx%, TileNum%, TileColor~&, BackColor~&, dx%, dy%
  5210.  
  5211. Sub DrawColorTileFast (imgScreen&, imgTiles&, arrTileSheetMap() AS TileSheetMapType, arrTileMap() AS TileMapType, tileWidthPx%, tileHeightPx%, TileNum%, TileColor~&, BackColor~&, dx%, dy%)
  5212.     DIM ColorSprite&
  5213.     DIM UniversalSprite&
  5214.  
  5215.     ' -----------------------------------------------------------------------------
  5216.     ' PART 1: DRAW BACKGROUND COLOR
  5217.     IF BackColor~& <> cEmpty THEN
  5218.  
  5219.         ' CREATE A TEMPORARY TILE
  5220.         ColorSprite& = _NewImage(tileWidthPx%, tileHeightPx%, 32)
  5221.         _Dest ColorSprite&
  5222.  
  5223.         ' AND FILL IT WITH THE BACKGROUND COLOR
  5224.         CLS, BackColor~&
  5225.  
  5226.         ' COPY THE TEMPORARY BACKGROUND TILE TO THE SCREEN imgScreen&
  5227.         _SOURCE ColorSprite&
  5228.         _Dest imgScreen&
  5229.  
  5230.         '_PUTIMAGE (0  , 0  ), sourceHandle& ' places image at upper left corner of window w/o stretching it
  5231.         '_PUTIMAGE (dx1, dy1), sourceHandle&, destHandle&, (sx1, sy1)-(sx2, sy2) ' portion of source to the top-left corner of the destination page
  5232.         '_PUTIMAGE (64,  128), imgTiles&,     imgScreen&,  (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  5233.         '_PutImage (64,  128), imgTiles&,     imgScreen&,  (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  5234.         _PutImage (arrTileMap(dx%, dy%).xPos, arrTileMap(dx%, dy%).yPos), ColorSprite&, imgScreen&, (0, 0)-(tileWidthPx% - 1, tileHeightPx% - 1) ' portion of source to the top-left corner of the destination page
  5235.     END IF
  5236.  
  5237.     ' -----------------------------------------------------------------------------
  5238.     ' PART 2: DRAW FOREGROUND TILE IN SPECIFIED COLOR
  5239.  
  5240.     ' CREATE A TEMPORARY TILE TO COLOR
  5241.     UniversalSprite& = _NewImage(tileWidthPx%, tileHeightPx%, 32)
  5242.  
  5243.     ' COPY THE SOURCE (MASK) TILE TO THE TEMPORARY ONE
  5244.     _SOURCE imgTiles&
  5245.     _Dest UniversalSprite&
  5246.  
  5247.     '_PutImage(dx, dy)  sourceHandle&, destHandle&     , (sx1                             , sy1                             )-(sx2                           , sy2                           )
  5248.     _PutImage (0 , 0 ), imgTiles&,     UniversalSprite&, (arrTileSheetMap(TileNum%).xStart, arrTileSheetMap(TileNum%).yStart)-(arrTileSheetMap(TileNum%).xEnd, arrTileSheetMap(TileNum%).yEnd)
  5249.  
  5250.     ' COLOR IN THE TEMPORARY TILE
  5251.     ' REPLACING BLACK (THE SOURCE COLOR) WITH THE TILE COLOR
  5252. '    IF ColorSprite& < -1 THEN _FreeImage ColorSprite&
  5253.     IF ColorSprite& < -1 OR ColorSprite& > 0 THEN _FreeImage ColorSprite&
  5254.     DoColorSwap UniversalSprite&, cBlack, TileColor~&, ColorSprite&
  5255.     'ColorSprite& = swapcolor&(UniversalSprite&, cBlack, TileColor~&)
  5256.     ' ^^^
  5257.     ' PROGRAM CRASHED HERE, BEFORE FIXING swapcolor& AND CHANGING FROM FUNCTION TO SUB DoColorSwap
  5258.  
  5259.     ' COPY THE TEMPORARY TILE TO THE SCREEN imgScreen&
  5260.     _SOURCE ColorSprite&
  5261.     _Dest imgScreen&
  5262.     '_PutImage(dx                       , dy                       ), sourceHandle&, destHandle&, (sx1, sy1)-(sx2,              sy2              )
  5263.     _PutImage (arrTileMap(dx%, dy%).xPos, arrTileMap(dx%, dy%).yPos), ColorSprite&,  imgScreen&,  (0,   0  )-(tileWidthPx% - 1, tileHeightPx% - 1) ' portion of source to the top-left corner of the destination page
  5264.  
  5265.     ' -----------------------------------------------------------------------------
  5266.     ' PART 3: CLEANUP
  5267.  
  5268.     ' ADDED PER FellipeHeitor
  5269.     IF ColorSprite& < -1 OR ColorSprite& > 0 THEN _FREEIMAGE ColorSprite&
  5270.     IF UniversalSprite& < -1 OR UniversalSprite& > 0 THEN _FREEIMAGE UniversalSprite&
  5271.  
  5272. End Sub ' DrawColorTileFast
  5273.  
  5274. ' /////////////////////////////////////////////////////////////////////////////
  5275. ' Like DrawTile but faster because it uses precalculated coordinates
  5276. ' to find the tile on the tile sheet, and the destination on the screen.
  5277.  
  5278. 'OLD: DrawTileFast imgTiles&, TileNum%, imgScreen&, arrTileSheetMap(), arrTileMap(), dx%, dy%
  5279. 'NEW: DrawTileFast dx%, dy%, TileNum%, imgScreen&, imgTiles&, arrTileSheetMap(), arrTileMap()
  5280.  
  5281. Sub DrawTileFast (dx%, dy%, TileNum%, imgScreen&, imgTiles&, arrTileSheetMap() AS TileSheetMapType, arrTileMap() AS TileMapType)
  5282.     _Dest imgScreen&
  5283.     ' portion of source to the top-left corner of the destination page
  5284.     _PutImage (arrTileMap(dx%, dy%).xPos, arrTileMap(dx%, dy%).yPos), imgTiles&, imgScreen&, (arrTileSheetMap(TileNum%).xStart, arrTileSheetMap(TileNum%).yStart)-(arrTileSheetMap(TileNum%).xEnd, arrTileSheetMap(TileNum%).yEnd)
  5285. End Sub ' DrawTileFast
  5286.  
  5287. ' /////////////////////////////////////////////////////////////////////////////
  5288. ' Draw entire array on screen.
  5289.  
  5290. ' Like PlotTilesToScreen but faster because it uses precalculated coordinates
  5291. ' to find the tile on the tile sheet, and the destination on the screen.
  5292.  
  5293. 'PlotTilesToScreenFast imgScreen&, imgTiles&, arrTileSheetMap(), arrTileMap(), arrTiles()
  5294. Sub PlotTilesToScreenFast(imgScreen&, imgTiles&, arrTileSheetMap() AS TileSheetMapType, arrTileMap() AS TileMapType, arrTiles() AS INTEGER)
  5295.     Dim dx%
  5296.     Dim dy%
  5297.     Dim TileNum%
  5298.    
  5299.     'Screen imgScreen&
  5300.     For dx% = 1 To UBound(arrTiles, 1)
  5301.         For dy% = 1 To UBound(arrTiles, 2)
  5302.             TileNum% = arrTiles(dx%, dy%)
  5303.             'DrawTile imgTiles&, TileNum%, imgScreen&, dx%-1, dy%-1
  5304.             'DrawTileFast imgTiles&, TileNum%, imgScreen&, arrTileSheetMap(), arrTileMap(), dx%, dy%
  5305.             DrawTileFast dx%, dy%, TileNum%, imgScreen&, imgTiles&, arrTileSheetMap(), arrTileMap()
  5306.         Next dy%
  5307.     Next dx%
  5308.     '_Display ' update screen with changes
  5309. End Sub ' PlotTilesToScreenFast
  5310.  
  5311. ' /////////////////////////////////////////////////////////////////////////////
  5312. ' Original version which calculates coordinates on tile sheet and destination
  5313. ' screen every time. For a faster version uses precalculated coordinates,
  5314. ' see DrawColorTileFast.
  5315.  
  5316. ' Receives:
  5317. ' imgTiles& = handle to 16x16 tile sheet of 16x16 pixel tiles colored black (256 tiles)
  5318. ' TileNum% = ordinal number of tile on tile sheet to draw (0-255)
  5319. ' TileColor~& = color to use for tile
  5320. ' imgScreen& = handle to screen to draw tile on
  5321. ' dx% = column # to draw tile at (where each column is 16 pixels wide)
  5322. ' dy% = row # to draw tile at (where each row is 16 pixels high)
  5323. ' xOffset% = offset tile this many columns over
  5324. ' yOffset% = offset tile this many rows down
  5325.  
  5326. ' TODO: support background color bcolor&
  5327.  
  5328. ' TODO: support transparency?
  5329. '       Colors returned are always opaque as the transparency value is always 255. Use _ALPHA or _CLEARCOLOR to change it.
  5330.  
  5331. Sub DrawColorTile (imgScreen&, imgTiles&, TileNum%, TileColor~&, BackColor~&, dx%, dy%, xOffset%, yOffset%)
  5332.     Dim cols%
  5333.     Dim rows%
  5334.     Dim sc%
  5335.     Dim sr%
  5336.     Dim sx1%
  5337.     Dim sy1%
  5338.     Dim sx2%
  5339.     Dim sy2%
  5340.     Dim xDest%
  5341.     Dim yDest%
  5342.     Dim ColorSprite&
  5343.     Dim UniversalSprite&
  5344.  
  5345.     '_PUTIMAGE (0, 0), i ' places image at upper left corner of window w/o stretching it
  5346.     '_PUTIMAGE (dx1, dy1), sourceHandle&, destHandle&, (sx1, sy1)-(sx2, sy2) ' portion of source to the top-left corner of the destination page
  5347.     '_PUTIMAGE (64,  128), imgTiles&,      imgScreen&,   (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  5348.     '_PutImage (64, 128), imgTiles&, imgScreen&, (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  5349.  
  5350.     ' # OF COLUMNS / ROWS ON SOURCE TILE SHEET
  5351.     cols% = 16
  5352.     rows% = 16
  5353.  
  5354.     ' GET THE COLUMN/ROW OF TILE # TileNum% ON THE SOURCE TILE SHEET
  5355.     sc% = TileNum% Mod rows%
  5356.     sr% = TileNum% \ rows%
  5357.  
  5358.     'Print "Tile#" + cstr$(TileNum%) + " at sc%=" + cstr$(sc%) + ",sr%=" + cstr$(sr%)
  5359.  
  5360.     ' GET THE START X COORDINATE ON THE SOURCE TILE SHEET
  5361.     'sx1% = sc% * tw%
  5362.     sx1% = sc% * 8
  5363.  
  5364.     ' GET THE START Y COORDINATE ON THE SOURCE TILE SHEET
  5365.     'sy1% = sr% * tw%
  5366.     sy1% = sr% * 8
  5367.  
  5368.     ' GET THE END X COORDINATE ON THE SOURCE TILE SHEET
  5369.     'sx2% = sx1% + (tw% - 1)
  5370.     sx2% = sx1% + 7
  5371.  
  5372.     ' GET THE END y COORDINATE ON THE SOURCE TILE SHEET
  5373.     'sy2% = sy1% + (tw% - 1)
  5374.     sy2% = sy1% + 7
  5375.  
  5376.     ' GET THE DESTINATION X COORDINATE ON THE SCREEN
  5377.     'xDest% = dx% * tw%
  5378.     xDest% = dx% * 8 + (8 * xOffset%)
  5379.  
  5380.     ' GET THE DESTINATION Y COORDINATE ON THE SCREEN
  5381.     ''yDest% = (dy% * tw%) + 64
  5382.     'yDest% = (dy% * 8) + 64 + (8 * yOffset%)
  5383.     yDest% = (dy% * 8) + (8 * yOffset%)
  5384.  
  5385.     ' IS THERE A BACKGROUND COLOR?
  5386.     If BackColor~& <> cEmpty Then
  5387.         ColorSprite& = _NewImage(8, 8, 32)
  5388.         _Dest ColorSprite&
  5389.         'SCREEN ColorSprite&
  5390.         'CLS , _RGB(0, 0, 0) ' makes the background opaque black
  5391.         Cls , BackColor~&
  5392.  
  5393.         'SCREEN imgScreen& ' SHIFT FOCUS BACK TO THE SCREEN
  5394.  
  5395.         ' COPY THE TEMPORARY TILE TO THE SCREEN imgScreen&
  5396.         _Source ColorSprite&
  5397.         _Dest imgScreen&
  5398.         'TODO: SHOULDN'T THIS BE 7,7 NOT 15,15 ?
  5399.         '_PutImage (xDest%, yDest%), ColorSprite&, imgScreen&, (0, 0)-(15, 15) ' portion of source to the top-left corner of the destination page
  5400.         _PutImage (xDest%, yDest%), ColorSprite&, imgScreen&, (0, 0)-(7, 7) ' portion of source to the top-left corner of the destination page
  5401.     End If
  5402.  
  5403.     ' CREATE A TEMPORARY TILE TO COLOR
  5404.     'UniversalSprite& = _NewImage(tw%, tw%, 32)
  5405.     UniversalSprite& = _NewImage(8, 8, 32)
  5406.  
  5407.     ' COPY THE TILE TO THE TEMPORARY ONE
  5408.     _Source imgTiles&
  5409.     _Dest UniversalSprite&
  5410.     _PutImage (0, 0), imgTiles&, UniversalSprite&, (sx1%, sy1%)-(sx2%, sy2%)
  5411.  
  5412.     ' COLOR IN THE TEMPORARY TILE
  5413.     ' REPLACING BLACK (THE SOURCE COLOR) WITH THE TILE COLOR
  5414.     'If ColorSprite& < -1 Then _FreeImage ColorSprite&
  5415.     IF ColorSprite& < -1 OR ColorSprite& > 0 THEN _FreeImage ColorSprite&
  5416.     'ColorSprite& = swapcolor&(UniversalSprite&, cBlack, TileColor~&)
  5417.     DoColorSwap UniversalSprite&, cBlack, TileColor~&, ColorSprite&
  5418.  
  5419.     ' COPY THE TEMPORARY TILE TO THE SCREEN imgScreen&
  5420.     _Source ColorSprite&
  5421.     _Dest imgScreen&
  5422.     _PutImage (xDest%, yDest%), ColorSprite&, imgScreen&, (0, 0)-(7, 7) ' portion of source to the top-left corner of the destination page
  5423.  
  5424.     ' ADDED PER FellipeHeitor
  5425.     IF ColorSprite& < -1 OR ColorSprite& > 0 THEN _FreeImage ColorSprite&
  5426.     IF UniversalSprite& < -1 OR UniversalSprite& > 0 THEN _FreeImage UniversalSprite&
  5427.  
  5428. End Sub ' DrawColorTile
  5429.  
  5430. '' /////////////////////////////////////////////////////////////////////////////
  5431. '' Like DrawColorTile but faster because it uses precalculated coordinates
  5432. '' to find the tile on the tile sheet, and the destination on the screen.
  5433. '
  5434. '' Receives:
  5435. '' imgScreen& = handle to screen to draw tile on
  5436. '' imgTiles& = handle to 16x16 tile sheet of 16x16 pixel tiles colored black (256 tiles)
  5437. '' arrTileSheetMap() = array of TileSheetMapType which holds precalculated positions of tiles on tilesheet
  5438. '' arrTileMap() = array of TileMapType which holds precalculated positions where tiles go on screen
  5439. '' tileWidthPx% = width of tiles in pixels
  5440. '' tileHeightPx% = height of tiles in pixels
  5441. '' TileNum% = ordinal number of tile on tile sheet to draw (0-255)
  5442. '' TileColor~& = color to use for tile
  5443. '' BackColor~& = color to use for background
  5444. '' dx% = column # to draw tile at (where each column is 16 pixels wide)
  5445. '' dy% = row # to draw tile at (where each row is 16 pixels high)
  5446. '
  5447. '' *** QUESTION
  5448. '' *** IF THE SUB RECEIVES IMAGE HANDLE PARAMETERS imgScreen&, imgTiles&
  5449. '' *** ARE THESE BY REFERENCE?
  5450. '' *** IF NOT, DO THESE LOCAL COPIES HAVE TO BE RELEASED WITH _FREEIMAGE ?
  5451. '
  5452. '' TODO: support transparency?
  5453. ''       Colors returned are always opaque as the transparency value is always 255. Use _ALPHA or _CLEARCOLOR to change it.
  5454. '
  5455. ''DrawColorTileFast imgScreen&, imgTiles&, arrTileSheet16Map(), arrTile16Map(), tileWidthPx%, tileHeightPx%, TileNum%, TileColor~&, BackColor~&, dx%, dy%
  5456. '
  5457. 'Sub DrawColorTileFast (imgScreen&, imgTiles&, arrTileSheetMap() AS TileSheetMapType, arrTileMap() AS TileMapType, tileWidthPx%, tileHeightPx%, TileNum%, TileColor~&, BackColor~&, dx%, dy%)
  5458. '    DIM ColorSprite&
  5459. '    DIM UniversalSprite&
  5460. '
  5461. '    ' -----------------------------------------------------------------------------
  5462. '    ' PART 1: DRAW BACKGROUND COLOR
  5463. '    IF BackColor~& <> cEmpty& THEN
  5464. '
  5465. '        ' CREATE A TEMPORARY TILE
  5466. '        ColorSprite& = _NewImage(tileWidthPx%, tileHeightPx%, 32)
  5467. '        _Dest ColorSprite&
  5468. '
  5469. '        ' AND FILL IT WITH THE BACKGROUND COLOR
  5470. '        CLS, BackColor~&
  5471. '
  5472. '        ' COPY THE TEMPORARY BACKGROUND TILE TO THE SCREEN imgScreen&
  5473. '        _SOURCE ColorSprite&
  5474. '        _Dest imgScreen&
  5475. '
  5476. '        '_PUTIMAGE (0  , 0  ), sourceHandle& ' places image at upper left corner of window w/o stretching it
  5477. '        '_PUTIMAGE (dx1, dy1), sourceHandle&, destHandle&, (sx1, sy1)-(sx2, sy2) ' portion of source to the top-left corner of the destination page
  5478. '        '_PUTIMAGE (64,  128), imgTiles&,     imgScreen&,  (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  5479. '        '_PutImage (64,  128), imgTiles&,     imgScreen&,  (128, 128)-(164, 164) ' portion of source to the top-left corner of the destination page
  5480. '        _PutImage (arrTileMap(dx%, dy%).xPos, arrTileMap(dx%, dy%).yPos), ColorSprite&, imgScreen&, (0, 0)-(tileWidthPx% - 1, tileHeightPx% - 1) ' portion of source to the top-left corner of the destination page
  5481. '    END IF
  5482. '
  5483. '    ' -----------------------------------------------------------------------------
  5484. '    ' PART 2: DRAW FOREGROUND TILE IN SPECIFIED COLOR
  5485. '
  5486. '    ' CREATE A TEMPORARY TILE TO COLOR
  5487. '    UniversalSprite& = _NewImage(tileWidthPx%, tileHeightPx%, 32)
  5488. '
  5489. '    ' COPY THE SOURCE (MASK) TILE TO THE TEMPORARY ONE
  5490. '    _SOURCE imgTiles&
  5491. '    _Dest UniversalSprite&
  5492. '
  5493. '    '_PutImage(dx, dy)  sourceHandle&, destHandle&     , (sx1                             , sy1                             )-(sx2                           , sy2                           )
  5494. '    _PutImage (0 , 0 ), imgTiles&,     UniversalSprite&, (arrTileSheetMap(TileNum%).xStart, arrTileSheetMap(TileNum%).yStart)-(arrTileSheetMap(TileNum%).xEnd, arrTileSheetMap(TileNum%).yEnd)
  5495. '
  5496. '    ' COLOR IN THE TEMPORARY TILE
  5497. '    ' REPLACING BLACK (THE SOURCE COLOR) WITH THE TILE COLOR
  5498. ''    IF ColorSprite& < -1 THEN _FreeImage ColorSprite&
  5499. '    IF ColorSprite& < -1 OR ColorSprite& > 0 THEN _FreeImage ColorSprite&
  5500. '    DoColorSwap UniversalSprite&, cBlack, TileColor~&, ColorSprite&
  5501. '    'ColorSprite& = swapcolor&(UniversalSprite&, cBlack, TileColor~&)
  5502. '    ' ^^^
  5503. '    ' PROGRAM CRASHED HERE, BEFORE FIXING swapcolor& AND CHANGING FROM FUNCTION TO SUB DoColorSwap
  5504. '
  5505. '    ' COPY THE TEMPORARY TILE TO THE SCREEN imgScreen&
  5506. '    _SOURCE ColorSprite&
  5507. '    _Dest imgScreen&
  5508. '    '_PutImage(dx                       , dy                       ), sourceHandle&, destHandle&, (sx1, sy1)-(sx2,              sy2              )
  5509. '    _PutImage (arrTileMap(dx%, dy%).xPos, arrTileMap(dx%, dy%).yPos), ColorSprite&,  imgScreen&,  (0,   0  )-(tileWidthPx% - 1, tileHeightPx% - 1) ' portion of source to the top-left corner of the destination page
  5510. '
  5511. '    ' -----------------------------------------------------------------------------
  5512. '    ' PART 3: CLEANUP
  5513. '
  5514. '    ' ADDED PER FellipeHeitor
  5515. '    IF ColorSprite& < -1 OR ColorSprite& > 0 THEN _FREEIMAGE ColorSprite&
  5516. '    IF UniversalSprite& < -1 OR UniversalSprite& > 0 THEN _FREEIMAGE UniversalSprite&
  5517. '
  5518. 'End Sub ' DrawColorTileFast
  5519.  
  5520. ' /////////////////////////////////////////////////////////////////////////////
  5521. ' Latest version with NOVARSEG's changes.
  5522.  
  5523. ' Based on code from:
  5524.  
  5525. ' Image color swap?
  5526. ' https://www.qb64.org/forum/index.php?topic=2312.0
  5527.  
  5528. ' Like Function swapcolor& except returns new image in a parameter
  5529. ' in case being a function causes a memory leak?
  5530.  
  5531. Sub DoColorSwap (imgOriginal&, oldcolor~&, newcolor~&, imgNew&)
  5532.     Dim m As _MEM
  5533.     Dim a As _Offset
  5534.     a = 0
  5535.     imgNew& = _CopyImage(imgOriginal&, 32)
  5536.     m = _MemImage(imgNew&)
  5537.     Do Until a = m.SIZE - 4
  5538.         a = a + 4
  5539.         c = _MemGet(m, m.OFFSET + a, _Unsigned Long)
  5540.         If c = oldcolor~& Then
  5541.             _MemPut m, m.OFFSET + a, newcolor~&
  5542.         End If
  5543.     Loop
  5544.     _MemFree m
  5545. End Sub ' DoColorSwap&
  5546.  
  5547. ' ################################################################################################################################################################
  5548. ' END COLOR TEXT TILE FUNCTIONS
  5549. ' ################################################################################################################################################################
  5550.  
  5551. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5552. ' BEGIN DEBUGGING ROUTINES #DEBUGGING
  5553. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5554.  
  5555. Sub DebugPrint (s$)
  5556.     If m_bDebug = TRUE Then
  5557.         _Echo s$
  5558.         'ReDim arrLines$(0)
  5559.         'dim delim$ : delim$ = Chr$(13)
  5560.         'split MyString, delim$, arrLines$()
  5561.     End If
  5562. End Sub ' DebugPrint
  5563.  
  5564. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5565. ' END DEBUGGING ROUTINES @DEBUGGING
  5566. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5567.  
  5568. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5569. ' BEGIN PSET 8-BIT PATTERN PLOTTING CODE
  5570. ' ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  5571.  
  5572. ' /////////////////////////////////////////////////////////////////////////////
  5573. ' DrawTileBitPattern8PSET imgScreen&, arrTileBytes(), _
  5574. '     iTileNum, iCol, iRow, fgColor, bgColor
  5575. ' where arrTileBytes is
  5576. ' arrTileBytes(0 to 255, 0 To 7) As Integer
  5577.  
  5578. Sub DrawTileBitPattern8PSET(  _
  5579.         imgScreen&, arrTileBytes() As Integer, _
  5580.         iTileNum As Integer, iCol As Integer, iRow As Integer, _
  5581.         fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  5582.         )
  5583.        
  5584.         Dim iByte As Integer
  5585.         for iByte = 0 to 7
  5586.                 Select Case arrTileBytes(iTileNum, iByte)
  5587.                         Case 0:
  5588.                                 DrawBitPatternPSET000 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5589.                         Case 1:
  5590.                                 DrawBitPatternPSET001 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5591.                         Case 2:
  5592.                                 DrawBitPatternPSET002 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5593.                         Case 3:
  5594.                                 DrawBitPatternPSET003 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5595.                         Case 4:
  5596.                                 DrawBitPatternPSET004 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5597.                         Case 5:
  5598.                                 DrawBitPatternPSET005 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5599.                         Case 6:
  5600.                                 DrawBitPatternPSET006 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5601.                         Case 7:
  5602.                                 DrawBitPatternPSET007 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5603.                         Case 8:
  5604.                                 DrawBitPatternPSET008 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5605.                         Case 9:
  5606.                                 DrawBitPatternPSET009 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5607.                         Case 10:
  5608.                                 DrawBitPatternPSET010 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5609.                         Case 11:
  5610.                                 DrawBitPatternPSET011 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5611.                         Case 12:
  5612.                                 DrawBitPatternPSET012 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5613.                         Case 13:
  5614.                                 DrawBitPatternPSET013 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5615.                         Case 14:
  5616.                                 DrawBitPatternPSET014 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5617.                         Case 15:
  5618.                                 DrawBitPatternPSET015 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5619.                         Case 16:
  5620.                                 DrawBitPatternPSET016 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5621.                         Case 17:
  5622.                                 DrawBitPatternPSET017 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5623.                         Case 18:
  5624.                                 DrawBitPatternPSET018 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5625.                         Case 19:
  5626.                                 DrawBitPatternPSET019 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5627.                         Case 20:
  5628.                                 DrawBitPatternPSET020 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5629.                         Case 21:
  5630.                                 DrawBitPatternPSET021 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5631.                         Case 22:
  5632.                                 DrawBitPatternPSET022 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5633.                         Case 23:
  5634.                                 DrawBitPatternPSET023 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5635.                         Case 24:
  5636.                                 DrawBitPatternPSET024 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5637.                         Case 25:
  5638.                                 DrawBitPatternPSET025 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5639.                         Case 26:
  5640.                                 DrawBitPatternPSET026 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5641.                         Case 27:
  5642.                                 DrawBitPatternPSET027 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5643.                         Case 28:
  5644.                                 DrawBitPatternPSET028 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5645.                         Case 29:
  5646.                                 DrawBitPatternPSET029 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5647.                         Case 30:
  5648.                                 DrawBitPatternPSET030 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5649.                         Case 31:
  5650.                                 DrawBitPatternPSET031 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5651.                         Case 32:
  5652.                                 DrawBitPatternPSET032 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5653.                         Case 33:
  5654.                                 DrawBitPatternPSET033 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5655.                         Case 34:
  5656.                                 DrawBitPatternPSET034 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5657.                         Case 35:
  5658.                                 DrawBitPatternPSET035 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5659.                         Case 36:
  5660.                                 DrawBitPatternPSET036 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5661.                         Case 37:
  5662.                                 DrawBitPatternPSET037 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5663.                         Case 38:
  5664.                                 DrawBitPatternPSET038 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5665.                         Case 39:
  5666.                                 DrawBitPatternPSET039 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5667.                         Case 40:
  5668.                                 DrawBitPatternPSET040 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5669.                         Case 41:
  5670.                                 DrawBitPatternPSET041 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5671.                         Case 42:
  5672.                                 DrawBitPatternPSET042 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5673.                         Case 43:
  5674.                                 DrawBitPatternPSET043 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5675.                         Case 44:
  5676.                                 DrawBitPatternPSET044 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5677.                         Case 45:
  5678.                                 DrawBitPatternPSET045 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5679.                         Case 46:
  5680.                                 DrawBitPatternPSET046 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5681.                         Case 47:
  5682.                                 DrawBitPatternPSET047 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5683.                         Case 48:
  5684.                                 DrawBitPatternPSET048 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5685.                         Case 49:
  5686.                                 DrawBitPatternPSET049 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5687.                         Case 50:
  5688.                                 DrawBitPatternPSET050 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5689.                         Case 51:
  5690.                                 DrawBitPatternPSET051 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5691.                         Case 52:
  5692.                                 DrawBitPatternPSET052 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5693.                         Case 53:
  5694.                                 DrawBitPatternPSET053 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5695.                         Case 54:
  5696.                                 DrawBitPatternPSET054 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5697.                         Case 55:
  5698.                                 DrawBitPatternPSET055 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5699.                         Case 56:
  5700.                                 DrawBitPatternPSET056 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5701.                         Case 57:
  5702.                                 DrawBitPatternPSET057 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5703.                         Case 58:
  5704.                                 DrawBitPatternPSET058 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5705.                         Case 59:
  5706.                                 DrawBitPatternPSET059 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5707.                         Case 60:
  5708.                                 DrawBitPatternPSET060 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5709.                         Case 61:
  5710.                                 DrawBitPatternPSET061 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5711.                         Case 62:
  5712.                                 DrawBitPatternPSET062 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5713.                         Case 63:
  5714.                                 DrawBitPatternPSET063 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5715.                         Case 64:
  5716.                                 DrawBitPatternPSET064 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5717.                         Case 65:
  5718.                                 DrawBitPatternPSET065 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5719.                         Case 66:
  5720.                                 DrawBitPatternPSET066 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5721.                         Case 67:
  5722.                                 DrawBitPatternPSET067 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5723.                         Case 68:
  5724.                                 DrawBitPatternPSET068 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5725.                         Case 69:
  5726.                                 DrawBitPatternPSET069 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5727.                         Case 70:
  5728.                                 DrawBitPatternPSET070 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5729.                         Case 71:
  5730.                                 DrawBitPatternPSET071 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5731.                         Case 72:
  5732.                                 DrawBitPatternPSET072 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5733.                         Case 73:
  5734.                                 DrawBitPatternPSET073 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5735.                         Case 74:
  5736.                                 DrawBitPatternPSET074 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5737.                         Case 75:
  5738.                                 DrawBitPatternPSET075 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5739.                         Case 76:
  5740.                                 DrawBitPatternPSET076 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5741.                         Case 77:
  5742.                                 DrawBitPatternPSET077 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5743.                         Case 78:
  5744.                                 DrawBitPatternPSET078 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5745.                         Case 79:
  5746.                                 DrawBitPatternPSET079 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5747.                         Case 80:
  5748.                                 DrawBitPatternPSET080 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5749.                         Case 81:
  5750.                                 DrawBitPatternPSET081 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5751.                         Case 82:
  5752.                                 DrawBitPatternPSET082 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5753.                         Case 83:
  5754.                                 DrawBitPatternPSET083 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5755.                         Case 84:
  5756.                                 DrawBitPatternPSET084 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5757.                         Case 85:
  5758.                                 DrawBitPatternPSET085 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5759.                         Case 86:
  5760.                                 DrawBitPatternPSET086 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5761.                         Case 87:
  5762.                                 DrawBitPatternPSET087 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5763.                         Case 88:
  5764.                                 DrawBitPatternPSET088 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5765.                         Case 89:
  5766.                                 DrawBitPatternPSET089 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5767.                         Case 90:
  5768.                                 DrawBitPatternPSET090 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5769.                         Case 91:
  5770.                                 DrawBitPatternPSET091 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5771.                         Case 92:
  5772.                                 DrawBitPatternPSET092 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5773.                         Case 93:
  5774.                                 DrawBitPatternPSET093 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5775.                         Case 94:
  5776.                                 DrawBitPatternPSET094 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5777.                         Case 95:
  5778.                                 DrawBitPatternPSET095 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5779.                         Case 96:
  5780.                                 DrawBitPatternPSET096 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5781.                         Case 97:
  5782.                                 DrawBitPatternPSET097 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5783.                         Case 98:
  5784.                                 DrawBitPatternPSET098 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5785.                         Case 99:
  5786.                                 DrawBitPatternPSET099 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5787.                         Case 100:
  5788.                                 DrawBitPatternPSET100 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5789.                         Case 101:
  5790.                                 DrawBitPatternPSET101 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5791.                         Case 102:
  5792.                                 DrawBitPatternPSET102 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5793.                         Case 103:
  5794.                                 DrawBitPatternPSET103 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5795.                         Case 104:
  5796.                                 DrawBitPatternPSET104 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5797.                         Case 105:
  5798.                                 DrawBitPatternPSET105 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5799.                         Case 106:
  5800.                                 DrawBitPatternPSET106 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5801.                         Case 107:
  5802.                                 DrawBitPatternPSET107 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5803.                         Case 108:
  5804.                                 DrawBitPatternPSET108 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5805.                         Case 109:
  5806.                                 DrawBitPatternPSET109 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5807.                         Case 110:
  5808.                                 DrawBitPatternPSET110 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5809.                         Case 111:
  5810.                                 DrawBitPatternPSET111 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5811.                         Case 112:
  5812.                                 DrawBitPatternPSET112 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5813.                         Case 113:
  5814.                                 DrawBitPatternPSET113 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5815.                         Case 114:
  5816.                                 DrawBitPatternPSET114 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5817.                         Case 115:
  5818.                                 DrawBitPatternPSET115 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5819.                         Case 116:
  5820.                                 DrawBitPatternPSET116 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5821.                         Case 117:
  5822.                                 DrawBitPatternPSET117 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5823.                         Case 118:
  5824.                                 DrawBitPatternPSET118 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5825.                         Case 119:
  5826.                                 DrawBitPatternPSET119 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5827.                         Case 120:
  5828.                                 DrawBitPatternPSET120 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5829.                         Case 121:
  5830.                                 DrawBitPatternPSET121 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5831.                         Case 122:
  5832.                                 DrawBitPatternPSET122 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5833.                         Case 123:
  5834.                                 DrawBitPatternPSET123 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5835.                         Case 124:
  5836.                                 DrawBitPatternPSET124 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5837.                         Case 125:
  5838.                                 DrawBitPatternPSET125 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5839.                         Case 126:
  5840.                                 DrawBitPatternPSET126 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5841.                         Case 127:
  5842.                                 DrawBitPatternPSET127 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5843.                         Case 128:
  5844.                                 DrawBitPatternPSET128 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5845.                         Case 129:
  5846.                                 DrawBitPatternPSET129 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5847.                         Case 130:
  5848.                                 DrawBitPatternPSET130 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5849.                         Case 131:
  5850.                                 DrawBitPatternPSET131 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5851.                         Case 132:
  5852.                                 DrawBitPatternPSET132 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5853.                         Case 133:
  5854.                                 DrawBitPatternPSET133 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5855.                         Case 134:
  5856.                                 DrawBitPatternPSET134 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5857.                         Case 135:
  5858.                                 DrawBitPatternPSET135 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5859.                         Case 136:
  5860.                                 DrawBitPatternPSET136 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5861.                         Case 137:
  5862.                                 DrawBitPatternPSET137 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5863.                         Case 138:
  5864.                                 DrawBitPatternPSET138 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5865.                         Case 139:
  5866.                                 DrawBitPatternPSET139 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5867.                         Case 140:
  5868.                                 DrawBitPatternPSET140 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5869.                         Case 141:
  5870.                                 DrawBitPatternPSET141 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5871.                         Case 142:
  5872.                                 DrawBitPatternPSET142 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5873.                         Case 143:
  5874.                                 DrawBitPatternPSET143 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5875.                         Case 144:
  5876.                                 DrawBitPatternPSET144 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5877.                         Case 145:
  5878.                                 DrawBitPatternPSET145 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5879.                         Case 146:
  5880.                                 DrawBitPatternPSET146 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5881.                         Case 147:
  5882.                                 DrawBitPatternPSET147 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5883.                         Case 148:
  5884.                                 DrawBitPatternPSET148 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5885.                         Case 149:
  5886.                                 DrawBitPatternPSET149 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5887.                         Case 150:
  5888.                                 DrawBitPatternPSET150 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5889.                         Case 151:
  5890.                                 DrawBitPatternPSET151 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5891.                         Case 152:
  5892.                                 DrawBitPatternPSET152 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5893.                         Case 153:
  5894.                                 DrawBitPatternPSET153 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5895.                         Case 154:
  5896.                                 DrawBitPatternPSET154 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5897.                         Case 155:
  5898.                                 DrawBitPatternPSET155 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5899.                         Case 156:
  5900.                                 DrawBitPatternPSET156 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5901.                         Case 157:
  5902.                                 DrawBitPatternPSET157 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5903.                         Case 158:
  5904.                                 DrawBitPatternPSET158 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5905.                         Case 159:
  5906.                                 DrawBitPatternPSET159 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5907.                         Case 160:
  5908.                                 DrawBitPatternPSET160 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5909.                         Case 161:
  5910.                                 DrawBitPatternPSET161 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5911.                         Case 162:
  5912.                                 DrawBitPatternPSET162 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5913.                         Case 163:
  5914.                                 DrawBitPatternPSET163 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5915.                         Case 164:
  5916.                                 DrawBitPatternPSET164 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5917.                         Case 165:
  5918.                                 DrawBitPatternPSET165 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5919.                         Case 166:
  5920.                                 DrawBitPatternPSET166 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5921.                         Case 167:
  5922.                                 DrawBitPatternPSET167 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5923.                         Case 168:
  5924.                                 DrawBitPatternPSET168 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5925.                         Case 169:
  5926.                                 DrawBitPatternPSET169 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5927.                         Case 170:
  5928.                                 DrawBitPatternPSET170 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5929.                         Case 171:
  5930.                                 DrawBitPatternPSET171 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5931.                         Case 172:
  5932.                                 DrawBitPatternPSET172 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5933.                         Case 173:
  5934.                                 DrawBitPatternPSET173 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5935.                         Case 174:
  5936.                                 DrawBitPatternPSET174 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5937.                         Case 175:
  5938.                                 DrawBitPatternPSET175 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5939.                         Case 176:
  5940.                                 DrawBitPatternPSET176 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5941.                         Case 177:
  5942.                                 DrawBitPatternPSET177 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5943.                         Case 178:
  5944.                                 DrawBitPatternPSET178 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5945.                         Case 179:
  5946.                                 DrawBitPatternPSET179 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5947.                         Case 180:
  5948.                                 DrawBitPatternPSET180 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5949.                         Case 181:
  5950.                                 DrawBitPatternPSET181 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5951.                         Case 182:
  5952.                                 DrawBitPatternPSET182 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5953.                         Case 183:
  5954.                                 DrawBitPatternPSET183 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5955.                         Case 184:
  5956.                                 DrawBitPatternPSET184 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5957.                         Case 185:
  5958.                                 DrawBitPatternPSET185 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5959.                         Case 186:
  5960.                                 DrawBitPatternPSET186 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5961.                         Case 187:
  5962.                                 DrawBitPatternPSET187 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5963.                         Case 188:
  5964.                                 DrawBitPatternPSET188 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5965.                         Case 189:
  5966.                                 DrawBitPatternPSET189 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5967.                         Case 190:
  5968.                                 DrawBitPatternPSET190 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5969.                         Case 191:
  5970.                                 DrawBitPatternPSET191 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5971.                         Case 192:
  5972.                                 DrawBitPatternPSET192 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5973.                         Case 193:
  5974.                                 DrawBitPatternPSET193 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5975.                         Case 194:
  5976.                                 DrawBitPatternPSET194 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5977.                         Case 195:
  5978.                                 DrawBitPatternPSET195 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5979.                         Case 196:
  5980.                                 DrawBitPatternPSET196 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5981.                         Case 197:
  5982.                                 DrawBitPatternPSET197 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5983.                         Case 198:
  5984.                                 DrawBitPatternPSET198 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5985.                         Case 199:
  5986.                                 DrawBitPatternPSET199 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5987.                         Case 200:
  5988.                                 DrawBitPatternPSET200 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5989.                         Case 201:
  5990.                                 DrawBitPatternPSET201 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5991.                         Case 202:
  5992.                                 DrawBitPatternPSET202 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5993.                         Case 203:
  5994.                                 DrawBitPatternPSET203 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5995.                         Case 204:
  5996.                                 DrawBitPatternPSET204 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5997.                         Case 205:
  5998.                                 DrawBitPatternPSET205 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  5999.                         Case 206:
  6000.                                 DrawBitPatternPSET206 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6001.                         Case 207:
  6002.                                 DrawBitPatternPSET207 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6003.                         Case 208:
  6004.                                 DrawBitPatternPSET208 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6005.                         Case 209:
  6006.                                 DrawBitPatternPSET209 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6007.                         Case 210:
  6008.                                 DrawBitPatternPSET210 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6009.                         Case 211:
  6010.                                 DrawBitPatternPSET211 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6011.                         Case 212:
  6012.                                 DrawBitPatternPSET212 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6013.                         Case 213:
  6014.                                 DrawBitPatternPSET213 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6015.                         Case 214:
  6016.                                 DrawBitPatternPSET214 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6017.                         Case 215:
  6018.                                 DrawBitPatternPSET215 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6019.                         Case 216:
  6020.                                 DrawBitPatternPSET216 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6021.                         Case 217:
  6022.                                 DrawBitPatternPSET217 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6023.                         Case 218:
  6024.                                 DrawBitPatternPSET218 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6025.                         Case 219:
  6026.                                 DrawBitPatternPSET219 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6027.                         Case 220:
  6028.                                 DrawBitPatternPSET220 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6029.                         Case 221:
  6030.                                 DrawBitPatternPSET221 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6031.                         Case 222:
  6032.                                 DrawBitPatternPSET222 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6033.                         Case 223:
  6034.                                 DrawBitPatternPSET223 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6035.                         Case 224:
  6036.                                 DrawBitPatternPSET224 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6037.                         Case 225:
  6038.                                 DrawBitPatternPSET225 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6039.                         Case 226:
  6040.                                 DrawBitPatternPSET226 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6041.                         Case 227:
  6042.                                 DrawBitPatternPSET227 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6043.                         Case 228:
  6044.                                 DrawBitPatternPSET228 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6045.                         Case 229:
  6046.                                 DrawBitPatternPSET229 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6047.                         Case 230:
  6048.                                 DrawBitPatternPSET230 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6049.                         Case 231:
  6050.                                 DrawBitPatternPSET231 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6051.                         Case 232:
  6052.                                 DrawBitPatternPSET232 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6053.                         Case 233:
  6054.                                 DrawBitPatternPSET233 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6055.                         Case 234:
  6056.                                 DrawBitPatternPSET234 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6057.                         Case 235:
  6058.                                 DrawBitPatternPSET235 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6059.                         Case 236:
  6060.                                 DrawBitPatternPSET236 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6061.                         Case 237:
  6062.                                 DrawBitPatternPSET237 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6063.                         Case 238:
  6064.                                 DrawBitPatternPSET238 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6065.                         Case 239:
  6066.                                 DrawBitPatternPSET239 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6067.                         Case 240:
  6068.                                 DrawBitPatternPSET240 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6069.                         Case 241:
  6070.                                 DrawBitPatternPSET241 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6071.                         Case 242:
  6072.                                 DrawBitPatternPSET242 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6073.                         Case 243:
  6074.                                 DrawBitPatternPSET243 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6075.                         Case 244:
  6076.                                 DrawBitPatternPSET244 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6077.                         Case 245:
  6078.                                 DrawBitPatternPSET245 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6079.                         Case 246:
  6080.                                 DrawBitPatternPSET246 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6081.                         Case 247:
  6082.                                 DrawBitPatternPSET247 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6083.                         Case 248:
  6084.                                 DrawBitPatternPSET248 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6085.                         Case 249:
  6086.                                 DrawBitPatternPSET249 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6087.                         Case 250:
  6088.                                 DrawBitPatternPSET250 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6089.                         Case 251:
  6090.                                 DrawBitPatternPSET251 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6091.                         Case 252:
  6092.                                 DrawBitPatternPSET252 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6093.                         Case 253:
  6094.                                 DrawBitPatternPSET253 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6095.                         Case 254:
  6096.                                 DrawBitPatternPSET254 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6097.                         Case 255:
  6098.                                 DrawBitPatternPSET255 imgScreen&, iCol, iRow, iByte, fgColor, bgColor
  6099.                 End Select
  6100.         next iByte
  6101. End Sub ' DrawTileBitPattern8PSET
  6102.  
  6103. Sub DrawBitPatternPSET000(  _
  6104.     imgScreen&, iCol As Integer, iRow As Integer, _
  6105.     iLine As Integer, _
  6106.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6107.     )
  6108.     Dim iX As Integer : iX = iCol * 8
  6109.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6110.     PSET (iX+7, iY), bgColor
  6111.     PSET (iX+6, iY), bgColor
  6112.     PSET (iX+5, iY), bgColor
  6113.     PSET (iX+4, iY), bgColor
  6114.     PSET (iX+3, iY), bgColor
  6115.     PSET (iX+2, iY), bgColor
  6116.     PSET (iX+1, iY), bgColor
  6117.     PSET (iX+0, iY), bgColor
  6118. End Sub ' DrawBitPatternPSET000
  6119.  
  6120. Sub DrawBitPatternPSET001(  _
  6121.     imgScreen&, iCol As Integer, iRow As Integer, _
  6122.     iLine As Integer, _
  6123.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6124.     )
  6125.     Dim iX As Integer : iX = iCol * 8
  6126.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6127.     PSET (iX+7, iY), bgColor
  6128.     PSET (iX+6, iY), bgColor
  6129.     PSET (iX+5, iY), bgColor
  6130.     PSET (iX+4, iY), bgColor
  6131.     PSET (iX+3, iY), bgColor
  6132.     PSET (iX+2, iY), bgColor
  6133.     PSET (iX+1, iY), bgColor
  6134.     PSET (iX+0, iY), fgColor
  6135. End Sub ' DrawBitPatternPSET001
  6136.  
  6137. Sub DrawBitPatternPSET002(  _
  6138.     imgScreen&, iCol As Integer, iRow As Integer, _
  6139.     iLine As Integer, _
  6140.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6141.     )
  6142.     Dim iX As Integer : iX = iCol * 8
  6143.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6144.     PSET (iX+7, iY), bgColor
  6145.     PSET (iX+6, iY), bgColor
  6146.     PSET (iX+5, iY), bgColor
  6147.     PSET (iX+4, iY), bgColor
  6148.     PSET (iX+3, iY), bgColor
  6149.     PSET (iX+2, iY), bgColor
  6150.     PSET (iX+1, iY), fgColor
  6151.     PSET (iX+0, iY), bgColor
  6152. End Sub ' DrawBitPatternPSET002
  6153.  
  6154. Sub DrawBitPatternPSET003(  _
  6155.     imgScreen&, iCol As Integer, iRow As Integer, _
  6156.     iLine As Integer, _
  6157.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6158.     )
  6159.     Dim iX As Integer : iX = iCol * 8
  6160.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6161.     PSET (iX+7, iY), bgColor
  6162.     PSET (iX+6, iY), bgColor
  6163.     PSET (iX+5, iY), bgColor
  6164.     PSET (iX+4, iY), bgColor
  6165.     PSET (iX+3, iY), bgColor
  6166.     PSET (iX+2, iY), bgColor
  6167.     PSET (iX+1, iY), fgColor
  6168.     PSET (iX+0, iY), fgColor
  6169. End Sub ' DrawBitPatternPSET003
  6170.  
  6171. Sub DrawBitPatternPSET004(  _
  6172.     imgScreen&, iCol As Integer, iRow As Integer, _
  6173.     iLine As Integer, _
  6174.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6175.     )
  6176.     Dim iX As Integer : iX = iCol * 8
  6177.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6178.     PSET (iX+7, iY), bgColor
  6179.     PSET (iX+6, iY), bgColor
  6180.     PSET (iX+5, iY), bgColor
  6181.     PSET (iX+4, iY), bgColor
  6182.     PSET (iX+3, iY), bgColor
  6183.     PSET (iX+2, iY), fgColor
  6184.     PSET (iX+1, iY), bgColor
  6185.     PSET (iX+0, iY), bgColor
  6186. End Sub ' DrawBitPatternPSET004
  6187.  
  6188. Sub DrawBitPatternPSET005(  _
  6189.     imgScreen&, iCol As Integer, iRow As Integer, _
  6190.     iLine As Integer, _
  6191.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6192.     )
  6193.     Dim iX As Integer : iX = iCol * 8
  6194.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6195.     PSET (iX+7, iY), bgColor
  6196.     PSET (iX+6, iY), bgColor
  6197.     PSET (iX+5, iY), bgColor
  6198.     PSET (iX+4, iY), bgColor
  6199.     PSET (iX+3, iY), bgColor
  6200.     PSET (iX+2, iY), fgColor
  6201.     PSET (iX+1, iY), bgColor
  6202.     PSET (iX+0, iY), fgColor
  6203. End Sub ' DrawBitPatternPSET005
  6204.  
  6205. Sub DrawBitPatternPSET006(  _
  6206.     imgScreen&, iCol As Integer, iRow As Integer, _
  6207.     iLine As Integer, _
  6208.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6209.     )
  6210.     Dim iX As Integer : iX = iCol * 8
  6211.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6212.     PSET (iX+7, iY), bgColor
  6213.     PSET (iX+6, iY), bgColor
  6214.     PSET (iX+5, iY), bgColor
  6215.     PSET (iX+4, iY), bgColor
  6216.     PSET (iX+3, iY), bgColor
  6217.     PSET (iX+2, iY), fgColor
  6218.     PSET (iX+1, iY), fgColor
  6219.     PSET (iX+0, iY), bgColor
  6220. End Sub ' DrawBitPatternPSET006
  6221.  
  6222. Sub DrawBitPatternPSET007(  _
  6223.     imgScreen&, iCol As Integer, iRow As Integer, _
  6224.     iLine As Integer, _
  6225.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6226.     )
  6227.     Dim iX As Integer : iX = iCol * 8
  6228.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6229.     PSET (iX+7, iY), bgColor
  6230.     PSET (iX+6, iY), bgColor
  6231.     PSET (iX+5, iY), bgColor
  6232.     PSET (iX+4, iY), bgColor
  6233.     PSET (iX+3, iY), bgColor
  6234.     PSET (iX+2, iY), fgColor
  6235.     PSET (iX+1, iY), fgColor
  6236.     PSET (iX+0, iY), fgColor
  6237. End Sub ' DrawBitPatternPSET007
  6238.  
  6239. Sub DrawBitPatternPSET008(  _
  6240.     imgScreen&, iCol As Integer, iRow As Integer, _
  6241.     iLine As Integer, _
  6242.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6243.     )
  6244.     Dim iX As Integer : iX = iCol * 8
  6245.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6246.     PSET (iX+7, iY), bgColor
  6247.     PSET (iX+6, iY), bgColor
  6248.     PSET (iX+5, iY), bgColor
  6249.     PSET (iX+4, iY), bgColor
  6250.     PSET (iX+3, iY), fgColor
  6251.     PSET (iX+2, iY), bgColor
  6252.     PSET (iX+1, iY), bgColor
  6253.     PSET (iX+0, iY), bgColor
  6254. End Sub ' DrawBitPatternPSET008
  6255.  
  6256. Sub DrawBitPatternPSET009(  _
  6257.     imgScreen&, iCol As Integer, iRow As Integer, _
  6258.     iLine As Integer, _
  6259.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6260.     )
  6261.     Dim iX As Integer : iX = iCol * 8
  6262.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6263.     PSET (iX+7, iY), bgColor
  6264.     PSET (iX+6, iY), bgColor
  6265.     PSET (iX+5, iY), bgColor
  6266.     PSET (iX+4, iY), bgColor
  6267.     PSET (iX+3, iY), fgColor
  6268.     PSET (iX+2, iY), bgColor
  6269.     PSET (iX+1, iY), bgColor
  6270.     PSET (iX+0, iY), fgColor
  6271. End Sub ' DrawBitPatternPSET009
  6272.  
  6273. Sub DrawBitPatternPSET010(  _
  6274.     imgScreen&, iCol As Integer, iRow As Integer, _
  6275.     iLine As Integer, _
  6276.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6277.     )
  6278.     Dim iX As Integer : iX = iCol * 8
  6279.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6280.     PSET (iX+7, iY), bgColor
  6281.     PSET (iX+6, iY), bgColor
  6282.     PSET (iX+5, iY), bgColor
  6283.     PSET (iX+4, iY), bgColor
  6284.     PSET (iX+3, iY), fgColor
  6285.     PSET (iX+2, iY), bgColor
  6286.     PSET (iX+1, iY), fgColor
  6287.     PSET (iX+0, iY), bgColor
  6288. End Sub ' DrawBitPatternPSET010
  6289.  
  6290. Sub DrawBitPatternPSET011(  _
  6291.     imgScreen&, iCol As Integer, iRow As Integer, _
  6292.     iLine As Integer, _
  6293.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6294.     )
  6295.     Dim iX As Integer : iX = iCol * 8
  6296.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6297.     PSET (iX+7, iY), bgColor
  6298.     PSET (iX+6, iY), bgColor
  6299.     PSET (iX+5, iY), bgColor
  6300.     PSET (iX+4, iY), bgColor
  6301.     PSET (iX+3, iY), fgColor
  6302.     PSET (iX+2, iY), bgColor
  6303.     PSET (iX+1, iY), fgColor
  6304.     PSET (iX+0, iY), fgColor
  6305. End Sub ' DrawBitPatternPSET011
  6306.  
  6307. Sub DrawBitPatternPSET012(  _
  6308.     imgScreen&, iCol As Integer, iRow As Integer, _
  6309.     iLine As Integer, _
  6310.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6311.     )
  6312.     Dim iX As Integer : iX = iCol * 8
  6313.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6314.     PSET (iX+7, iY), bgColor
  6315.     PSET (iX+6, iY), bgColor
  6316.     PSET (iX+5, iY), bgColor
  6317.     PSET (iX+4, iY), bgColor
  6318.     PSET (iX+3, iY), fgColor
  6319.     PSET (iX+2, iY), fgColor
  6320.     PSET (iX+1, iY), bgColor
  6321.     PSET (iX+0, iY), bgColor
  6322. End Sub ' DrawBitPatternPSET012
  6323.  
  6324. Sub DrawBitPatternPSET013(  _
  6325.     imgScreen&, iCol As Integer, iRow As Integer, _
  6326.     iLine As Integer, _
  6327.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6328.     )
  6329.     Dim iX As Integer : iX = iCol * 8
  6330.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6331.     PSET (iX+7, iY), bgColor
  6332.     PSET (iX+6, iY), bgColor
  6333.     PSET (iX+5, iY), bgColor
  6334.     PSET (iX+4, iY), bgColor
  6335.     PSET (iX+3, iY), fgColor
  6336.     PSET (iX+2, iY), fgColor
  6337.     PSET (iX+1, iY), bgColor
  6338.     PSET (iX+0, iY), fgColor
  6339. End Sub ' DrawBitPatternPSET013
  6340.  
  6341. Sub DrawBitPatternPSET014(  _
  6342.     imgScreen&, iCol As Integer, iRow As Integer, _
  6343.     iLine As Integer, _
  6344.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6345.     )
  6346.     Dim iX As Integer : iX = iCol * 8
  6347.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6348.     PSET (iX+7, iY), bgColor
  6349.     PSET (iX+6, iY), bgColor
  6350.     PSET (iX+5, iY), bgColor
  6351.     PSET (iX+4, iY), bgColor
  6352.     PSET (iX+3, iY), fgColor
  6353.     PSET (iX+2, iY), fgColor
  6354.     PSET (iX+1, iY), fgColor
  6355.     PSET (iX+0, iY), bgColor
  6356. End Sub ' DrawBitPatternPSET014
  6357.  
  6358. Sub DrawBitPatternPSET015(  _
  6359.     imgScreen&, iCol As Integer, iRow As Integer, _
  6360.     iLine As Integer, _
  6361.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6362.     )
  6363.     Dim iX As Integer : iX = iCol * 8
  6364.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6365.     PSET (iX+7, iY), bgColor
  6366.     PSET (iX+6, iY), bgColor
  6367.     PSET (iX+5, iY), bgColor
  6368.     PSET (iX+4, iY), bgColor
  6369.     PSET (iX+3, iY), fgColor
  6370.     PSET (iX+2, iY), fgColor
  6371.     PSET (iX+1, iY), fgColor
  6372.     PSET (iX+0, iY), fgColor
  6373. End Sub ' DrawBitPatternPSET015
  6374.  
  6375. Sub DrawBitPatternPSET016(  _
  6376.     imgScreen&, iCol As Integer, iRow As Integer, _
  6377.     iLine As Integer, _
  6378.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6379.     )
  6380.     Dim iX As Integer : iX = iCol * 8
  6381.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6382.     PSET (iX+7, iY), bgColor
  6383.     PSET (iX+6, iY), bgColor
  6384.     PSET (iX+5, iY), bgColor
  6385.     PSET (iX+4, iY), fgColor
  6386.     PSET (iX+3, iY), bgColor
  6387.     PSET (iX+2, iY), bgColor
  6388.     PSET (iX+1, iY), bgColor
  6389.     PSET (iX+0, iY), bgColor
  6390. End Sub ' DrawBitPatternPSET016
  6391.  
  6392. Sub DrawBitPatternPSET017(  _
  6393.     imgScreen&, iCol As Integer, iRow As Integer, _
  6394.     iLine As Integer, _
  6395.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6396.     )
  6397.     Dim iX As Integer : iX = iCol * 8
  6398.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6399.     PSET (iX+7, iY), bgColor
  6400.     PSET (iX+6, iY), bgColor
  6401.     PSET (iX+5, iY), bgColor
  6402.     PSET (iX+4, iY), fgColor
  6403.     PSET (iX+3, iY), bgColor
  6404.     PSET (iX+2, iY), bgColor
  6405.     PSET (iX+1, iY), bgColor
  6406.     PSET (iX+0, iY), fgColor
  6407. End Sub ' DrawBitPatternPSET017
  6408.  
  6409. Sub DrawBitPatternPSET018(  _
  6410.     imgScreen&, iCol As Integer, iRow As Integer, _
  6411.     iLine As Integer, _
  6412.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6413.     )
  6414.     Dim iX As Integer : iX = iCol * 8
  6415.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6416.     PSET (iX+7, iY), bgColor
  6417.     PSET (iX+6, iY), bgColor
  6418.     PSET (iX+5, iY), bgColor
  6419.     PSET (iX+4, iY), fgColor
  6420.     PSET (iX+3, iY), bgColor
  6421.     PSET (iX+2, iY), bgColor
  6422.     PSET (iX+1, iY), fgColor
  6423.     PSET (iX+0, iY), bgColor
  6424. End Sub ' DrawBitPatternPSET018
  6425.  
  6426. Sub DrawBitPatternPSET019(  _
  6427.     imgScreen&, iCol As Integer, iRow As Integer, _
  6428.     iLine As Integer, _
  6429.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6430.     )
  6431.     Dim iX As Integer : iX = iCol * 8
  6432.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6433.     PSET (iX+7, iY), bgColor
  6434.     PSET (iX+6, iY), bgColor
  6435.     PSET (iX+5, iY), bgColor
  6436.     PSET (iX+4, iY), fgColor
  6437.     PSET (iX+3, iY), bgColor
  6438.     PSET (iX+2, iY), bgColor
  6439.     PSET (iX+1, iY), fgColor
  6440.     PSET (iX+0, iY), fgColor
  6441. End Sub ' DrawBitPatternPSET019
  6442.  
  6443. Sub DrawBitPatternPSET020(  _
  6444.     imgScreen&, iCol As Integer, iRow As Integer, _
  6445.     iLine As Integer, _
  6446.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6447.     )
  6448.     Dim iX As Integer : iX = iCol * 8
  6449.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6450.     PSET (iX+7, iY), bgColor
  6451.     PSET (iX+6, iY), bgColor
  6452.     PSET (iX+5, iY), bgColor
  6453.     PSET (iX+4, iY), fgColor
  6454.     PSET (iX+3, iY), bgColor
  6455.     PSET (iX+2, iY), fgColor
  6456.     PSET (iX+1, iY), bgColor
  6457.     PSET (iX+0, iY), bgColor
  6458. End Sub ' DrawBitPatternPSET020
  6459.  
  6460. Sub DrawBitPatternPSET021(  _
  6461.     imgScreen&, iCol As Integer, iRow As Integer, _
  6462.     iLine As Integer, _
  6463.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6464.     )
  6465.     Dim iX As Integer : iX = iCol * 8
  6466.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6467.     PSET (iX+7, iY), bgColor
  6468.     PSET (iX+6, iY), bgColor
  6469.     PSET (iX+5, iY), bgColor
  6470.     PSET (iX+4, iY), fgColor
  6471.     PSET (iX+3, iY), bgColor
  6472.     PSET (iX+2, iY), fgColor
  6473.     PSET (iX+1, iY), bgColor
  6474.     PSET (iX+0, iY), fgColor
  6475. End Sub ' DrawBitPatternPSET021
  6476.  
  6477. Sub DrawBitPatternPSET022(  _
  6478.     imgScreen&, iCol As Integer, iRow As Integer, _
  6479.     iLine As Integer, _
  6480.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6481.     )
  6482.     Dim iX As Integer : iX = iCol * 8
  6483.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6484.     PSET (iX+7, iY), bgColor
  6485.     PSET (iX+6, iY), bgColor
  6486.     PSET (iX+5, iY), bgColor
  6487.     PSET (iX+4, iY), fgColor
  6488.     PSET (iX+3, iY), bgColor
  6489.     PSET (iX+2, iY), fgColor
  6490.     PSET (iX+1, iY), fgColor
  6491.     PSET (iX+0, iY), bgColor
  6492. End Sub ' DrawBitPatternPSET022
  6493.  
  6494. Sub DrawBitPatternPSET023(  _
  6495.     imgScreen&, iCol As Integer, iRow As Integer, _
  6496.     iLine As Integer, _
  6497.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6498.     )
  6499.     Dim iX As Integer : iX = iCol * 8
  6500.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6501.     PSET (iX+7, iY), bgColor
  6502.     PSET (iX+6, iY), bgColor
  6503.     PSET (iX+5, iY), bgColor
  6504.     PSET (iX+4, iY), fgColor
  6505.     PSET (iX+3, iY), bgColor
  6506.     PSET (iX+2, iY), fgColor
  6507.     PSET (iX+1, iY), fgColor
  6508.     PSET (iX+0, iY), fgColor
  6509. End Sub ' DrawBitPatternPSET023
  6510.  
  6511. Sub DrawBitPatternPSET024(  _
  6512.     imgScreen&, iCol As Integer, iRow As Integer, _
  6513.     iLine As Integer, _
  6514.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6515.     )
  6516.     Dim iX As Integer : iX = iCol * 8
  6517.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6518.     PSET (iX+7, iY), bgColor
  6519.     PSET (iX+6, iY), bgColor
  6520.     PSET (iX+5, iY), bgColor
  6521.     PSET (iX+4, iY), fgColor
  6522.     PSET (iX+3, iY), fgColor
  6523.     PSET (iX+2, iY), bgColor
  6524.     PSET (iX+1, iY), bgColor
  6525.     PSET (iX+0, iY), bgColor
  6526. End Sub ' DrawBitPatternPSET024
  6527.  
  6528. Sub DrawBitPatternPSET025(  _
  6529.     imgScreen&, iCol As Integer, iRow As Integer, _
  6530.     iLine As Integer, _
  6531.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6532.     )
  6533.     Dim iX As Integer : iX = iCol * 8
  6534.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6535.     PSET (iX+7, iY), bgColor
  6536.     PSET (iX+6, iY), bgColor
  6537.     PSET (iX+5, iY), bgColor
  6538.     PSET (iX+4, iY), fgColor
  6539.     PSET (iX+3, iY), fgColor
  6540.     PSET (iX+2, iY), bgColor
  6541.     PSET (iX+1, iY), bgColor
  6542.     PSET (iX+0, iY), fgColor
  6543. End Sub ' DrawBitPatternPSET025
  6544.  
  6545. Sub DrawBitPatternPSET026(  _
  6546.     imgScreen&, iCol As Integer, iRow As Integer, _
  6547.     iLine As Integer, _
  6548.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6549.     )
  6550.     Dim iX As Integer : iX = iCol * 8
  6551.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6552.     PSET (iX+7, iY), bgColor
  6553.     PSET (iX+6, iY), bgColor
  6554.     PSET (iX+5, iY), bgColor
  6555.     PSET (iX+4, iY), fgColor
  6556.     PSET (iX+3, iY), fgColor
  6557.     PSET (iX+2, iY), bgColor
  6558.     PSET (iX+1, iY), fgColor
  6559.     PSET (iX+0, iY), bgColor
  6560. End Sub ' DrawBitPatternPSET026
  6561.  
  6562. Sub DrawBitPatternPSET027(  _
  6563.     imgScreen&, iCol As Integer, iRow As Integer, _
  6564.     iLine As Integer, _
  6565.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6566.     )
  6567.     Dim iX As Integer : iX = iCol * 8
  6568.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6569.     PSET (iX+7, iY), bgColor
  6570.     PSET (iX+6, iY), bgColor
  6571.     PSET (iX+5, iY), bgColor
  6572.     PSET (iX+4, iY), fgColor
  6573.     PSET (iX+3, iY), fgColor
  6574.     PSET (iX+2, iY), bgColor
  6575.     PSET (iX+1, iY), fgColor
  6576.     PSET (iX+0, iY), fgColor
  6577. End Sub ' DrawBitPatternPSET027
  6578.  
  6579. Sub DrawBitPatternPSET028(  _
  6580.     imgScreen&, iCol As Integer, iRow As Integer, _
  6581.     iLine As Integer, _
  6582.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6583.     )
  6584.     Dim iX As Integer : iX = iCol * 8
  6585.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6586.     PSET (iX+7, iY), bgColor
  6587.     PSET (iX+6, iY), bgColor
  6588.     PSET (iX+5, iY), bgColor
  6589.     PSET (iX+4, iY), fgColor
  6590.     PSET (iX+3, iY), fgColor
  6591.     PSET (iX+2, iY), fgColor
  6592.     PSET (iX+1, iY), bgColor
  6593.     PSET (iX+0, iY), bgColor
  6594. End Sub ' DrawBitPatternPSET028
  6595.  
  6596. Sub DrawBitPatternPSET029(  _
  6597.     imgScreen&, iCol As Integer, iRow As Integer, _
  6598.     iLine As Integer, _
  6599.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6600.     )
  6601.     Dim iX As Integer : iX = iCol * 8
  6602.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6603.     PSET (iX+7, iY), bgColor
  6604.     PSET (iX+6, iY), bgColor
  6605.     PSET (iX+5, iY), bgColor
  6606.     PSET (iX+4, iY), fgColor
  6607.     PSET (iX+3, iY), fgColor
  6608.     PSET (iX+2, iY), fgColor
  6609.     PSET (iX+1, iY), bgColor
  6610.     PSET (iX+0, iY), fgColor
  6611. End Sub ' DrawBitPatternPSET029
  6612.  
  6613. Sub DrawBitPatternPSET030(  _
  6614.     imgScreen&, iCol As Integer, iRow As Integer, _
  6615.     iLine As Integer, _
  6616.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6617.     )
  6618.     Dim iX As Integer : iX = iCol * 8
  6619.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6620.     PSET (iX+7, iY), bgColor
  6621.     PSET (iX+6, iY), bgColor
  6622.     PSET (iX+5, iY), bgColor
  6623.     PSET (iX+4, iY), fgColor
  6624.     PSET (iX+3, iY), fgColor
  6625.     PSET (iX+2, iY), fgColor
  6626.     PSET (iX+1, iY), fgColor
  6627.     PSET (iX+0, iY), bgColor
  6628. End Sub ' DrawBitPatternPSET030
  6629.  
  6630. Sub DrawBitPatternPSET031(  _
  6631.     imgScreen&, iCol As Integer, iRow As Integer, _
  6632.     iLine As Integer, _
  6633.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6634.     )
  6635.     Dim iX As Integer : iX = iCol * 8
  6636.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6637.     PSET (iX+7, iY), bgColor
  6638.     PSET (iX+6, iY), bgColor
  6639.     PSET (iX+5, iY), bgColor
  6640.     PSET (iX+4, iY), fgColor
  6641.     PSET (iX+3, iY), fgColor
  6642.     PSET (iX+2, iY), fgColor
  6643.     PSET (iX+1, iY), fgColor
  6644.     PSET (iX+0, iY), fgColor
  6645. End Sub ' DrawBitPatternPSET031
  6646.  
  6647. Sub DrawBitPatternPSET032(  _
  6648.     imgScreen&, iCol As Integer, iRow As Integer, _
  6649.     iLine As Integer, _
  6650.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6651.     )
  6652.     Dim iX As Integer : iX = iCol * 8
  6653.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6654.     PSET (iX+7, iY), bgColor
  6655.     PSET (iX+6, iY), bgColor
  6656.     PSET (iX+5, iY), fgColor
  6657.     PSET (iX+4, iY), bgColor
  6658.     PSET (iX+3, iY), bgColor
  6659.     PSET (iX+2, iY), bgColor
  6660.     PSET (iX+1, iY), bgColor
  6661.     PSET (iX+0, iY), bgColor
  6662. End Sub ' DrawBitPatternPSET032
  6663.  
  6664. Sub DrawBitPatternPSET033(  _
  6665.     imgScreen&, iCol As Integer, iRow As Integer, _
  6666.     iLine As Integer, _
  6667.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6668.     )
  6669.     Dim iX As Integer : iX = iCol * 8
  6670.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6671.     PSET (iX+7, iY), bgColor
  6672.     PSET (iX+6, iY), bgColor
  6673.     PSET (iX+5, iY), fgColor
  6674.     PSET (iX+4, iY), bgColor
  6675.     PSET (iX+3, iY), bgColor
  6676.     PSET (iX+2, iY), bgColor
  6677.     PSET (iX+1, iY), bgColor
  6678.     PSET (iX+0, iY), fgColor
  6679. End Sub ' DrawBitPatternPSET033
  6680.  
  6681. Sub DrawBitPatternPSET034(  _
  6682.     imgScreen&, iCol As Integer, iRow As Integer, _
  6683.     iLine As Integer, _
  6684.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6685.     )
  6686.     Dim iX As Integer : iX = iCol * 8
  6687.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6688.     PSET (iX+7, iY), bgColor
  6689.     PSET (iX+6, iY), bgColor
  6690.     PSET (iX+5, iY), fgColor
  6691.     PSET (iX+4, iY), bgColor
  6692.     PSET (iX+3, iY), bgColor
  6693.     PSET (iX+2, iY), bgColor
  6694.     PSET (iX+1, iY), fgColor
  6695.     PSET (iX+0, iY), bgColor
  6696. End Sub ' DrawBitPatternPSET034
  6697.  
  6698. Sub DrawBitPatternPSET035(  _
  6699.     imgScreen&, iCol As Integer, iRow As Integer, _
  6700.     iLine As Integer, _
  6701.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6702.     )
  6703.     Dim iX As Integer : iX = iCol * 8
  6704.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6705.     PSET (iX+7, iY), bgColor
  6706.     PSET (iX+6, iY), bgColor
  6707.     PSET (iX+5, iY), fgColor
  6708.     PSET (iX+4, iY), bgColor
  6709.     PSET (iX+3, iY), bgColor
  6710.     PSET (iX+2, iY), bgColor
  6711.     PSET (iX+1, iY), fgColor
  6712.     PSET (iX+0, iY), fgColor
  6713. End Sub ' DrawBitPatternPSET035
  6714.  
  6715. Sub DrawBitPatternPSET036(  _
  6716.     imgScreen&, iCol As Integer, iRow As Integer, _
  6717.     iLine As Integer, _
  6718.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6719.     )
  6720.     Dim iX As Integer : iX = iCol * 8
  6721.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6722.     PSET (iX+7, iY), bgColor
  6723.     PSET (iX+6, iY), bgColor
  6724.     PSET (iX+5, iY), fgColor
  6725.     PSET (iX+4, iY), bgColor
  6726.     PSET (iX+3, iY), bgColor
  6727.     PSET (iX+2, iY), fgColor
  6728.     PSET (iX+1, iY), bgColor
  6729.     PSET (iX+0, iY), bgColor
  6730. End Sub ' DrawBitPatternPSET036
  6731.  
  6732. Sub DrawBitPatternPSET037(  _
  6733.     imgScreen&, iCol As Integer, iRow As Integer, _
  6734.     iLine As Integer, _
  6735.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6736.     )
  6737.     Dim iX As Integer : iX = iCol * 8
  6738.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6739.     PSET (iX+7, iY), bgColor
  6740.     PSET (iX+6, iY), bgColor
  6741.     PSET (iX+5, iY), fgColor
  6742.     PSET (iX+4, iY), bgColor
  6743.     PSET (iX+3, iY), bgColor
  6744.     PSET (iX+2, iY), fgColor
  6745.     PSET (iX+1, iY), bgColor
  6746.     PSET (iX+0, iY), fgColor
  6747. End Sub ' DrawBitPatternPSET037
  6748.  
  6749. Sub DrawBitPatternPSET038(  _
  6750.     imgScreen&, iCol As Integer, iRow As Integer, _
  6751.     iLine As Integer, _
  6752.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6753.     )
  6754.     Dim iX As Integer : iX = iCol * 8
  6755.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6756.     PSET (iX+7, iY), bgColor
  6757.     PSET (iX+6, iY), bgColor
  6758.     PSET (iX+5, iY), fgColor
  6759.     PSET (iX+4, iY), bgColor
  6760.     PSET (iX+3, iY), bgColor
  6761.     PSET (iX+2, iY), fgColor
  6762.     PSET (iX+1, iY), fgColor
  6763.     PSET (iX+0, iY), bgColor
  6764. End Sub ' DrawBitPatternPSET038
  6765.  
  6766. Sub DrawBitPatternPSET039(  _
  6767.     imgScreen&, iCol As Integer, iRow As Integer, _
  6768.     iLine As Integer, _
  6769.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6770.     )
  6771.     Dim iX As Integer : iX = iCol * 8
  6772.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6773.     PSET (iX+7, iY), bgColor
  6774.     PSET (iX+6, iY), bgColor
  6775.     PSET (iX+5, iY), fgColor
  6776.     PSET (iX+4, iY), bgColor
  6777.     PSET (iX+3, iY), bgColor
  6778.     PSET (iX+2, iY), fgColor
  6779.     PSET (iX+1, iY), fgColor
  6780.     PSET (iX+0, iY), fgColor
  6781. End Sub ' DrawBitPatternPSET039
  6782.  
  6783. Sub DrawBitPatternPSET040(  _
  6784.     imgScreen&, iCol As Integer, iRow As Integer, _
  6785.     iLine As Integer, _
  6786.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6787.     )
  6788.     Dim iX As Integer : iX = iCol * 8
  6789.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6790.     PSET (iX+7, iY), bgColor
  6791.     PSET (iX+6, iY), bgColor
  6792.     PSET (iX+5, iY), fgColor
  6793.     PSET (iX+4, iY), bgColor
  6794.     PSET (iX+3, iY), fgColor
  6795.     PSET (iX+2, iY), bgColor
  6796.     PSET (iX+1, iY), bgColor
  6797.     PSET (iX+0, iY), bgColor
  6798. End Sub ' DrawBitPatternPSET040
  6799.  
  6800. Sub DrawBitPatternPSET041(  _
  6801.     imgScreen&, iCol As Integer, iRow As Integer, _
  6802.     iLine As Integer, _
  6803.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6804.     )
  6805.     Dim iX As Integer : iX = iCol * 8
  6806.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6807.     PSET (iX+7, iY), bgColor
  6808.     PSET (iX+6, iY), bgColor
  6809.     PSET (iX+5, iY), fgColor
  6810.     PSET (iX+4, iY), bgColor
  6811.     PSET (iX+3, iY), fgColor
  6812.     PSET (iX+2, iY), bgColor
  6813.     PSET (iX+1, iY), bgColor
  6814.     PSET (iX+0, iY), fgColor
  6815. End Sub ' DrawBitPatternPSET041
  6816.  
  6817. Sub DrawBitPatternPSET042(  _
  6818.     imgScreen&, iCol As Integer, iRow As Integer, _
  6819.     iLine As Integer, _
  6820.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6821.     )
  6822.     Dim iX As Integer : iX = iCol * 8
  6823.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6824.     PSET (iX+7, iY), bgColor
  6825.     PSET (iX+6, iY), bgColor
  6826.     PSET (iX+5, iY), fgColor
  6827.     PSET (iX+4, iY), bgColor
  6828.     PSET (iX+3, iY), fgColor
  6829.     PSET (iX+2, iY), bgColor
  6830.     PSET (iX+1, iY), fgColor
  6831.     PSET (iX+0, iY), bgColor
  6832. End Sub ' DrawBitPatternPSET042
  6833.  
  6834. Sub DrawBitPatternPSET043(  _
  6835.     imgScreen&, iCol As Integer, iRow As Integer, _
  6836.     iLine As Integer, _
  6837.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6838.     )
  6839.     Dim iX As Integer : iX = iCol * 8
  6840.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6841.     PSET (iX+7, iY), bgColor
  6842.     PSET (iX+6, iY), bgColor
  6843.     PSET (iX+5, iY), fgColor
  6844.     PSET (iX+4, iY), bgColor
  6845.     PSET (iX+3, iY), fgColor
  6846.     PSET (iX+2, iY), bgColor
  6847.     PSET (iX+1, iY), fgColor
  6848.     PSET (iX+0, iY), fgColor
  6849. End Sub ' DrawBitPatternPSET043
  6850.  
  6851. Sub DrawBitPatternPSET044(  _
  6852.     imgScreen&, iCol As Integer, iRow As Integer, _
  6853.     iLine As Integer, _
  6854.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6855.     )
  6856.     Dim iX As Integer : iX = iCol * 8
  6857.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6858.     PSET (iX+7, iY), bgColor
  6859.     PSET (iX+6, iY), bgColor
  6860.     PSET (iX+5, iY), fgColor
  6861.     PSET (iX+4, iY), bgColor
  6862.     PSET (iX+3, iY), fgColor
  6863.     PSET (iX+2, iY), fgColor
  6864.     PSET (iX+1, iY), bgColor
  6865.     PSET (iX+0, iY), bgColor
  6866. End Sub ' DrawBitPatternPSET044
  6867.  
  6868. Sub DrawBitPatternPSET045(  _
  6869.     imgScreen&, iCol As Integer, iRow As Integer, _
  6870.     iLine As Integer, _
  6871.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6872.     )
  6873.     Dim iX As Integer : iX = iCol * 8
  6874.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6875.     PSET (iX+7, iY), bgColor
  6876.     PSET (iX+6, iY), bgColor
  6877.     PSET (iX+5, iY), fgColor
  6878.     PSET (iX+4, iY), bgColor
  6879.     PSET (iX+3, iY), fgColor
  6880.     PSET (iX+2, iY), fgColor
  6881.     PSET (iX+1, iY), bgColor
  6882.     PSET (iX+0, iY), fgColor
  6883. End Sub ' DrawBitPatternPSET045
  6884.  
  6885. Sub DrawBitPatternPSET046(  _
  6886.     imgScreen&, iCol As Integer, iRow As Integer, _
  6887.     iLine As Integer, _
  6888.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6889.     )
  6890.     Dim iX As Integer : iX = iCol * 8
  6891.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6892.     PSET (iX+7, iY), bgColor
  6893.     PSET (iX+6, iY), bgColor
  6894.     PSET (iX+5, iY), fgColor
  6895.     PSET (iX+4, iY), bgColor
  6896.     PSET (iX+3, iY), fgColor
  6897.     PSET (iX+2, iY), fgColor
  6898.     PSET (iX+1, iY), fgColor
  6899.     PSET (iX+0, iY), bgColor
  6900. End Sub ' DrawBitPatternPSET046
  6901.  
  6902. Sub DrawBitPatternPSET047(  _
  6903.     imgScreen&, iCol As Integer, iRow As Integer, _
  6904.     iLine As Integer, _
  6905.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6906.     )
  6907.     Dim iX As Integer : iX = iCol * 8
  6908.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6909.     PSET (iX+7, iY), bgColor
  6910.     PSET (iX+6, iY), bgColor
  6911.     PSET (iX+5, iY), fgColor
  6912.     PSET (iX+4, iY), bgColor
  6913.     PSET (iX+3, iY), fgColor
  6914.     PSET (iX+2, iY), fgColor
  6915.     PSET (iX+1, iY), fgColor
  6916.     PSET (iX+0, iY), fgColor
  6917. End Sub ' DrawBitPatternPSET047
  6918.  
  6919. Sub DrawBitPatternPSET048(  _
  6920.     imgScreen&, iCol As Integer, iRow As Integer, _
  6921.     iLine As Integer, _
  6922.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6923.     )
  6924.     Dim iX As Integer : iX = iCol * 8
  6925.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6926.     PSET (iX+7, iY), bgColor
  6927.     PSET (iX+6, iY), bgColor
  6928.     PSET (iX+5, iY), fgColor
  6929.     PSET (iX+4, iY), fgColor
  6930.     PSET (iX+3, iY), bgColor
  6931.     PSET (iX+2, iY), bgColor
  6932.     PSET (iX+1, iY), bgColor
  6933.     PSET (iX+0, iY), bgColor
  6934. End Sub ' DrawBitPatternPSET048
  6935.  
  6936. Sub DrawBitPatternPSET049(  _
  6937.     imgScreen&, iCol As Integer, iRow As Integer, _
  6938.     iLine As Integer, _
  6939.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6940.     )
  6941.     Dim iX As Integer : iX = iCol * 8
  6942.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6943.     PSET (iX+7, iY), bgColor
  6944.     PSET (iX+6, iY), bgColor
  6945.     PSET (iX+5, iY), fgColor
  6946.     PSET (iX+4, iY), fgColor
  6947.     PSET (iX+3, iY), bgColor
  6948.     PSET (iX+2, iY), bgColor
  6949.     PSET (iX+1, iY), bgColor
  6950.     PSET (iX+0, iY), fgColor
  6951. End Sub ' DrawBitPatternPSET049
  6952.  
  6953. Sub DrawBitPatternPSET050(  _
  6954.     imgScreen&, iCol As Integer, iRow As Integer, _
  6955.     iLine As Integer, _
  6956.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6957.     )
  6958.     Dim iX As Integer : iX = iCol * 8
  6959.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6960.     PSET (iX+7, iY), bgColor
  6961.     PSET (iX+6, iY), bgColor
  6962.     PSET (iX+5, iY), fgColor
  6963.     PSET (iX+4, iY), fgColor
  6964.     PSET (iX+3, iY), bgColor
  6965.     PSET (iX+2, iY), bgColor
  6966.     PSET (iX+1, iY), fgColor
  6967.     PSET (iX+0, iY), bgColor
  6968. End Sub ' DrawBitPatternPSET050
  6969.  
  6970. Sub DrawBitPatternPSET051(  _
  6971.     imgScreen&, iCol As Integer, iRow As Integer, _
  6972.     iLine As Integer, _
  6973.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6974.     )
  6975.     Dim iX As Integer : iX = iCol * 8
  6976.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6977.     PSET (iX+7, iY), bgColor
  6978.     PSET (iX+6, iY), bgColor
  6979.     PSET (iX+5, iY), fgColor
  6980.     PSET (iX+4, iY), fgColor
  6981.     PSET (iX+3, iY), bgColor
  6982.     PSET (iX+2, iY), bgColor
  6983.     PSET (iX+1, iY), fgColor
  6984.     PSET (iX+0, iY), fgColor
  6985. End Sub ' DrawBitPatternPSET051
  6986.  
  6987. Sub DrawBitPatternPSET052(  _
  6988.     imgScreen&, iCol As Integer, iRow As Integer, _
  6989.     iLine As Integer, _
  6990.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  6991.     )
  6992.     Dim iX As Integer : iX = iCol * 8
  6993.     Dim iY As Integer : iY = (iRow * 8) + iLine
  6994.     PSET (iX+7, iY), bgColor
  6995.     PSET (iX+6, iY), bgColor
  6996.     PSET (iX+5, iY), fgColor
  6997.     PSET (iX+4, iY), fgColor
  6998.     PSET (iX+3, iY), bgColor
  6999.     PSET (iX+2, iY), fgColor
  7000.     PSET (iX+1, iY), bgColor
  7001.     PSET (iX+0, iY), bgColor
  7002. End Sub ' DrawBitPatternPSET052
  7003.  
  7004. Sub DrawBitPatternPSET053(  _
  7005.     imgScreen&, iCol As Integer, iRow As Integer, _
  7006.     iLine As Integer, _
  7007.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7008.     )
  7009.     Dim iX As Integer : iX = iCol * 8
  7010.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7011.     PSET (iX+7, iY), bgColor
  7012.     PSET (iX+6, iY), bgColor
  7013.     PSET (iX+5, iY), fgColor
  7014.     PSET (iX+4, iY), fgColor
  7015.     PSET (iX+3, iY), bgColor
  7016.     PSET (iX+2, iY), fgColor
  7017.     PSET (iX+1, iY), bgColor
  7018.     PSET (iX+0, iY), fgColor
  7019. End Sub ' DrawBitPatternPSET053
  7020.  
  7021. Sub DrawBitPatternPSET054(  _
  7022.     imgScreen&, iCol As Integer, iRow As Integer, _
  7023.     iLine As Integer, _
  7024.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7025.     )
  7026.     Dim iX As Integer : iX = iCol * 8
  7027.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7028.     PSET (iX+7, iY), bgColor
  7029.     PSET (iX+6, iY), bgColor
  7030.     PSET (iX+5, iY), fgColor
  7031.     PSET (iX+4, iY), fgColor
  7032.     PSET (iX+3, iY), bgColor
  7033.     PSET (iX+2, iY), fgColor
  7034.     PSET (iX+1, iY), fgColor
  7035.     PSET (iX+0, iY), bgColor
  7036. End Sub ' DrawBitPatternPSET054
  7037.  
  7038. Sub DrawBitPatternPSET055(  _
  7039.     imgScreen&, iCol As Integer, iRow As Integer, _
  7040.     iLine As Integer, _
  7041.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7042.     )
  7043.     Dim iX As Integer : iX = iCol * 8
  7044.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7045.     PSET (iX+7, iY), bgColor
  7046.     PSET (iX+6, iY), bgColor
  7047.     PSET (iX+5, iY), fgColor
  7048.     PSET (iX+4, iY), fgColor
  7049.     PSET (iX+3, iY), bgColor
  7050.     PSET (iX+2, iY), fgColor
  7051.     PSET (iX+1, iY), fgColor
  7052.     PSET (iX+0, iY), fgColor
  7053. End Sub ' DrawBitPatternPSET055
  7054.  
  7055. Sub DrawBitPatternPSET056(  _
  7056.     imgScreen&, iCol As Integer, iRow As Integer, _
  7057.     iLine As Integer, _
  7058.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7059.     )
  7060.     Dim iX As Integer : iX = iCol * 8
  7061.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7062.     PSET (iX+7, iY), bgColor
  7063.     PSET (iX+6, iY), bgColor
  7064.     PSET (iX+5, iY), fgColor
  7065.     PSET (iX+4, iY), fgColor
  7066.     PSET (iX+3, iY), fgColor
  7067.     PSET (iX+2, iY), bgColor
  7068.     PSET (iX+1, iY), bgColor
  7069.     PSET (iX+0, iY), bgColor
  7070. End Sub ' DrawBitPatternPSET056
  7071.  
  7072. Sub DrawBitPatternPSET057(  _
  7073.     imgScreen&, iCol As Integer, iRow As Integer, _
  7074.     iLine As Integer, _
  7075.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7076.     )
  7077.     Dim iX As Integer : iX = iCol * 8
  7078.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7079.     PSET (iX+7, iY), bgColor
  7080.     PSET (iX+6, iY), bgColor
  7081.     PSET (iX+5, iY), fgColor
  7082.     PSET (iX+4, iY), fgColor
  7083.     PSET (iX+3, iY), fgColor
  7084.     PSET (iX+2, iY), bgColor
  7085.     PSET (iX+1, iY), bgColor
  7086.     PSET (iX+0, iY), fgColor
  7087. End Sub ' DrawBitPatternPSET057
  7088.  
  7089. Sub DrawBitPatternPSET058(  _
  7090.     imgScreen&, iCol As Integer, iRow As Integer, _
  7091.     iLine As Integer, _
  7092.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7093.     )
  7094.     Dim iX As Integer : iX = iCol * 8
  7095.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7096.     PSET (iX+7, iY), bgColor
  7097.     PSET (iX+6, iY), bgColor
  7098.     PSET (iX+5, iY), fgColor
  7099.     PSET (iX+4, iY), fgColor
  7100.     PSET (iX+3, iY), fgColor
  7101.     PSET (iX+2, iY), bgColor
  7102.     PSET (iX+1, iY), fgColor
  7103.     PSET (iX+0, iY), bgColor
  7104. End Sub ' DrawBitPatternPSET058
  7105.  
  7106. Sub DrawBitPatternPSET059(  _
  7107.     imgScreen&, iCol As Integer, iRow As Integer, _
  7108.     iLine As Integer, _
  7109.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7110.     )
  7111.     Dim iX As Integer : iX = iCol * 8
  7112.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7113.     PSET (iX+7, iY), bgColor
  7114.     PSET (iX+6, iY), bgColor
  7115.     PSET (iX+5, iY), fgColor
  7116.     PSET (iX+4, iY), fgColor
  7117.     PSET (iX+3, iY), fgColor
  7118.     PSET (iX+2, iY), bgColor
  7119.     PSET (iX+1, iY), fgColor
  7120.     PSET (iX+0, iY), fgColor
  7121. End Sub ' DrawBitPatternPSET059
  7122.  
  7123. Sub DrawBitPatternPSET060(  _
  7124.     imgScreen&, iCol As Integer, iRow As Integer, _
  7125.     iLine As Integer, _
  7126.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7127.     )
  7128.     Dim iX As Integer : iX = iCol * 8
  7129.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7130.     PSET (iX+7, iY), bgColor
  7131.     PSET (iX+6, iY), bgColor
  7132.     PSET (iX+5, iY), fgColor
  7133.     PSET (iX+4, iY), fgColor
  7134.     PSET (iX+3, iY), fgColor
  7135.     PSET (iX+2, iY), fgColor
  7136.     PSET (iX+1, iY), bgColor
  7137.     PSET (iX+0, iY), bgColor
  7138. End Sub ' DrawBitPatternPSET060
  7139.  
  7140. Sub DrawBitPatternPSET061(  _
  7141.     imgScreen&, iCol As Integer, iRow As Integer, _
  7142.     iLine As Integer, _
  7143.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7144.     )
  7145.     Dim iX As Integer : iX = iCol * 8
  7146.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7147.     PSET (iX+7, iY), bgColor
  7148.     PSET (iX+6, iY), bgColor
  7149.     PSET (iX+5, iY), fgColor
  7150.     PSET (iX+4, iY), fgColor
  7151.     PSET (iX+3, iY), fgColor
  7152.     PSET (iX+2, iY), fgColor
  7153.     PSET (iX+1, iY), bgColor
  7154.     PSET (iX+0, iY), fgColor
  7155. End Sub ' DrawBitPatternPSET061
  7156.  
  7157. Sub DrawBitPatternPSET062(  _
  7158.     imgScreen&, iCol As Integer, iRow As Integer, _
  7159.     iLine As Integer, _
  7160.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7161.     )
  7162.     Dim iX As Integer : iX = iCol * 8
  7163.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7164.     PSET (iX+7, iY), bgColor
  7165.     PSET (iX+6, iY), bgColor
  7166.     PSET (iX+5, iY), fgColor
  7167.     PSET (iX+4, iY), fgColor
  7168.     PSET (iX+3, iY), fgColor
  7169.     PSET (iX+2, iY), fgColor
  7170.     PSET (iX+1, iY), fgColor
  7171.     PSET (iX+0, iY), bgColor
  7172. End Sub ' DrawBitPatternPSET062
  7173.  
  7174. Sub DrawBitPatternPSET063(  _
  7175.     imgScreen&, iCol As Integer, iRow As Integer, _
  7176.     iLine As Integer, _
  7177.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7178.     )
  7179.     Dim iX As Integer : iX = iCol * 8
  7180.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7181.     PSET (iX+7, iY), bgColor
  7182.     PSET (iX+6, iY), bgColor
  7183.     PSET (iX+5, iY), fgColor
  7184.     PSET (iX+4, iY), fgColor
  7185.     PSET (iX+3, iY), fgColor
  7186.     PSET (iX+2, iY), fgColor
  7187.     PSET (iX+1, iY), fgColor
  7188.     PSET (iX+0, iY), fgColor
  7189. End Sub ' DrawBitPatternPSET063
  7190.  
  7191. Sub DrawBitPatternPSET064(  _
  7192.     imgScreen&, iCol As Integer, iRow As Integer, _
  7193.     iLine As Integer, _
  7194.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7195.     )
  7196.     Dim iX As Integer : iX = iCol * 8
  7197.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7198.     PSET (iX+7, iY), bgColor
  7199.     PSET (iX+6, iY), fgColor
  7200.     PSET (iX+5, iY), bgColor
  7201.     PSET (iX+4, iY), bgColor
  7202.     PSET (iX+3, iY), bgColor
  7203.     PSET (iX+2, iY), bgColor
  7204.     PSET (iX+1, iY), bgColor
  7205.     PSET (iX+0, iY), bgColor
  7206. End Sub ' DrawBitPatternPSET064
  7207.  
  7208. Sub DrawBitPatternPSET065(  _
  7209.     imgScreen&, iCol As Integer, iRow As Integer, _
  7210.     iLine As Integer, _
  7211.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7212.     )
  7213.     Dim iX As Integer : iX = iCol * 8
  7214.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7215.     PSET (iX+7, iY), bgColor
  7216.     PSET (iX+6, iY), fgColor
  7217.     PSET (iX+5, iY), bgColor
  7218.     PSET (iX+4, iY), bgColor
  7219.     PSET (iX+3, iY), bgColor
  7220.     PSET (iX+2, iY), bgColor
  7221.     PSET (iX+1, iY), bgColor
  7222.     PSET (iX+0, iY), fgColor
  7223. End Sub ' DrawBitPatternPSET065
  7224.  
  7225. Sub DrawBitPatternPSET066(  _
  7226.     imgScreen&, iCol As Integer, iRow As Integer, _
  7227.     iLine As Integer, _
  7228.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7229.     )
  7230.     Dim iX As Integer : iX = iCol * 8
  7231.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7232.     PSET (iX+7, iY), bgColor
  7233.     PSET (iX+6, iY), fgColor
  7234.     PSET (iX+5, iY), bgColor
  7235.     PSET (iX+4, iY), bgColor
  7236.     PSET (iX+3, iY), bgColor
  7237.     PSET (iX+2, iY), bgColor
  7238.     PSET (iX+1, iY), fgColor
  7239.     PSET (iX+0, iY), bgColor
  7240. End Sub ' DrawBitPatternPSET066
  7241.  
  7242. Sub DrawBitPatternPSET067(  _
  7243.     imgScreen&, iCol As Integer, iRow As Integer, _
  7244.     iLine As Integer, _
  7245.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7246.     )
  7247.     Dim iX As Integer : iX = iCol * 8
  7248.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7249.     PSET (iX+7, iY), bgColor
  7250.     PSET (iX+6, iY), fgColor
  7251.     PSET (iX+5, iY), bgColor
  7252.     PSET (iX+4, iY), bgColor
  7253.     PSET (iX+3, iY), bgColor
  7254.     PSET (iX+2, iY), bgColor
  7255.     PSET (iX+1, iY), fgColor
  7256.     PSET (iX+0, iY), fgColor
  7257. End Sub ' DrawBitPatternPSET067
  7258.  
  7259. Sub DrawBitPatternPSET068(  _
  7260.     imgScreen&, iCol As Integer, iRow As Integer, _
  7261.     iLine As Integer, _
  7262.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7263.     )
  7264.     Dim iX As Integer : iX = iCol * 8
  7265.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7266.     PSET (iX+7, iY), bgColor
  7267.     PSET (iX+6, iY), fgColor
  7268.     PSET (iX+5, iY), bgColor
  7269.     PSET (iX+4, iY), bgColor
  7270.     PSET (iX+3, iY), bgColor
  7271.     PSET (iX+2, iY), fgColor
  7272.     PSET (iX+1, iY), bgColor
  7273.     PSET (iX+0, iY), bgColor
  7274. End Sub ' DrawBitPatternPSET068
  7275.  
  7276. Sub DrawBitPatternPSET069(  _
  7277.     imgScreen&, iCol As Integer, iRow As Integer, _
  7278.     iLine As Integer, _
  7279.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7280.     )
  7281.     Dim iX As Integer : iX = iCol * 8
  7282.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7283.     PSET (iX+7, iY), bgColor
  7284.     PSET (iX+6, iY), fgColor
  7285.     PSET (iX+5, iY), bgColor
  7286.     PSET (iX+4, iY), bgColor
  7287.     PSET (iX+3, iY), bgColor
  7288.     PSET (iX+2, iY), fgColor
  7289.     PSET (iX+1, iY), bgColor
  7290.     PSET (iX+0, iY), fgColor
  7291. End Sub ' DrawBitPatternPSET069
  7292.  
  7293. Sub DrawBitPatternPSET070(  _
  7294.     imgScreen&, iCol As Integer, iRow As Integer, _
  7295.     iLine As Integer, _
  7296.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7297.     )
  7298.     Dim iX As Integer : iX = iCol * 8
  7299.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7300.     PSET (iX+7, iY), bgColor
  7301.     PSET (iX+6, iY), fgColor
  7302.     PSET (iX+5, iY), bgColor
  7303.     PSET (iX+4, iY), bgColor
  7304.     PSET (iX+3, iY), bgColor
  7305.     PSET (iX+2, iY), fgColor
  7306.     PSET (iX+1, iY), fgColor
  7307.     PSET (iX+0, iY), bgColor
  7308. End Sub ' DrawBitPatternPSET070
  7309.  
  7310. Sub DrawBitPatternPSET071(  _
  7311.     imgScreen&, iCol As Integer, iRow As Integer, _
  7312.     iLine As Integer, _
  7313.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7314.     )
  7315.     Dim iX As Integer : iX = iCol * 8
  7316.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7317.     PSET (iX+7, iY), bgColor
  7318.     PSET (iX+6, iY), fgColor
  7319.     PSET (iX+5, iY), bgColor
  7320.     PSET (iX+4, iY), bgColor
  7321.     PSET (iX+3, iY), bgColor
  7322.     PSET (iX+2, iY), fgColor
  7323.     PSET (iX+1, iY), fgColor
  7324.     PSET (iX+0, iY), fgColor
  7325. End Sub ' DrawBitPatternPSET071
  7326.  
  7327. Sub DrawBitPatternPSET072(  _
  7328.     imgScreen&, iCol As Integer, iRow As Integer, _
  7329.     iLine As Integer, _
  7330.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7331.     )
  7332.     Dim iX As Integer : iX = iCol * 8
  7333.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7334.     PSET (iX+7, iY), bgColor
  7335.     PSET (iX+6, iY), fgColor
  7336.     PSET (iX+5, iY), bgColor
  7337.     PSET (iX+4, iY), bgColor
  7338.     PSET (iX+3, iY), fgColor
  7339.     PSET (iX+2, iY), bgColor
  7340.     PSET (iX+1, iY), bgColor
  7341.     PSET (iX+0, iY), bgColor
  7342. End Sub ' DrawBitPatternPSET072
  7343.  
  7344. Sub DrawBitPatternPSET073(  _
  7345.     imgScreen&, iCol As Integer, iRow As Integer, _
  7346.     iLine As Integer, _
  7347.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7348.     )
  7349.     Dim iX As Integer : iX = iCol * 8
  7350.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7351.     PSET (iX+7, iY), bgColor
  7352.     PSET (iX+6, iY), fgColor
  7353.     PSET (iX+5, iY), bgColor
  7354.     PSET (iX+4, iY), bgColor
  7355.     PSET (iX+3, iY), fgColor
  7356.     PSET (iX+2, iY), bgColor
  7357.     PSET (iX+1, iY), bgColor
  7358.     PSET (iX+0, iY), fgColor
  7359. End Sub ' DrawBitPatternPSET073
  7360.  
  7361. Sub DrawBitPatternPSET074(  _
  7362.     imgScreen&, iCol As Integer, iRow As Integer, _
  7363.     iLine As Integer, _
  7364.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7365.     )
  7366.     Dim iX As Integer : iX = iCol * 8
  7367.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7368.     PSET (iX+7, iY), bgColor
  7369.     PSET (iX+6, iY), fgColor
  7370.     PSET (iX+5, iY), bgColor
  7371.     PSET (iX+4, iY), bgColor
  7372.     PSET (iX+3, iY), fgColor
  7373.     PSET (iX+2, iY), bgColor
  7374.     PSET (iX+1, iY), fgColor
  7375.     PSET (iX+0, iY), bgColor
  7376. End Sub ' DrawBitPatternPSET074
  7377.  
  7378. Sub DrawBitPatternPSET075(  _
  7379.     imgScreen&, iCol As Integer, iRow As Integer, _
  7380.     iLine As Integer, _
  7381.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7382.     )
  7383.     Dim iX As Integer : iX = iCol * 8
  7384.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7385.     PSET (iX+7, iY), bgColor
  7386.     PSET (iX+6, iY), fgColor
  7387.     PSET (iX+5, iY), bgColor
  7388.     PSET (iX+4, iY), bgColor
  7389.     PSET (iX+3, iY), fgColor
  7390.     PSET (iX+2, iY), bgColor
  7391.     PSET (iX+1, iY), fgColor
  7392.     PSET (iX+0, iY), fgColor
  7393. End Sub ' DrawBitPatternPSET075
  7394.  
  7395. Sub DrawBitPatternPSET076(  _
  7396.     imgScreen&, iCol As Integer, iRow As Integer, _
  7397.     iLine As Integer, _
  7398.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7399.     )
  7400.     Dim iX As Integer : iX = iCol * 8
  7401.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7402.     PSET (iX+7, iY), bgColor
  7403.     PSET (iX+6, iY), fgColor
  7404.     PSET (iX+5, iY), bgColor
  7405.     PSET (iX+4, iY), bgColor
  7406.     PSET (iX+3, iY), fgColor
  7407.     PSET (iX+2, iY), fgColor
  7408.     PSET (iX+1, iY), bgColor
  7409.     PSET (iX+0, iY), bgColor
  7410. End Sub ' DrawBitPatternPSET076
  7411.  
  7412. Sub DrawBitPatternPSET077(  _
  7413.     imgScreen&, iCol As Integer, iRow As Integer, _
  7414.     iLine As Integer, _
  7415.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7416.     )
  7417.     Dim iX As Integer : iX = iCol * 8
  7418.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7419.     PSET (iX+7, iY), bgColor
  7420.     PSET (iX+6, iY), fgColor
  7421.     PSET (iX+5, iY), bgColor
  7422.     PSET (iX+4, iY), bgColor
  7423.     PSET (iX+3, iY), fgColor
  7424.     PSET (iX+2, iY), fgColor
  7425.     PSET (iX+1, iY), bgColor
  7426.     PSET (iX+0, iY), fgColor
  7427. End Sub ' DrawBitPatternPSET077
  7428.  
  7429. Sub DrawBitPatternPSET078(  _
  7430.     imgScreen&, iCol As Integer, iRow As Integer, _
  7431.     iLine As Integer, _
  7432.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7433.     )
  7434.     Dim iX As Integer : iX = iCol * 8
  7435.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7436.     PSET (iX+7, iY), bgColor
  7437.     PSET (iX+6, iY), fgColor
  7438.     PSET (iX+5, iY), bgColor
  7439.     PSET (iX+4, iY), bgColor
  7440.     PSET (iX+3, iY), fgColor
  7441.     PSET (iX+2, iY), fgColor
  7442.     PSET (iX+1, iY), fgColor
  7443.     PSET (iX+0, iY), bgColor
  7444. End Sub ' DrawBitPatternPSET078
  7445.  
  7446. Sub DrawBitPatternPSET079(  _
  7447.     imgScreen&, iCol As Integer, iRow As Integer, _
  7448.     iLine As Integer, _
  7449.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7450.     )
  7451.     Dim iX As Integer : iX = iCol * 8
  7452.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7453.     PSET (iX+7, iY), bgColor
  7454.     PSET (iX+6, iY), fgColor
  7455.     PSET (iX+5, iY), bgColor
  7456.     PSET (iX+4, iY), bgColor
  7457.     PSET (iX+3, iY), fgColor
  7458.     PSET (iX+2, iY), fgColor
  7459.     PSET (iX+1, iY), fgColor
  7460.     PSET (iX+0, iY), fgColor
  7461. End Sub ' DrawBitPatternPSET079
  7462.  
  7463. Sub DrawBitPatternPSET080(  _
  7464.     imgScreen&, iCol As Integer, iRow As Integer, _
  7465.     iLine As Integer, _
  7466.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7467.     )
  7468.     Dim iX As Integer : iX = iCol * 8
  7469.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7470.     PSET (iX+7, iY), bgColor
  7471.     PSET (iX+6, iY), fgColor
  7472.     PSET (iX+5, iY), bgColor
  7473.     PSET (iX+4, iY), fgColor
  7474.     PSET (iX+3, iY), bgColor
  7475.     PSET (iX+2, iY), bgColor
  7476.     PSET (iX+1, iY), bgColor
  7477.     PSET (iX+0, iY), bgColor
  7478. End Sub ' DrawBitPatternPSET080
  7479.  
  7480. Sub DrawBitPatternPSET081(  _
  7481.     imgScreen&, iCol As Integer, iRow As Integer, _
  7482.     iLine As Integer, _
  7483.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7484.     )
  7485.     Dim iX As Integer : iX = iCol * 8
  7486.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7487.     PSET (iX+7, iY), bgColor
  7488.     PSET (iX+6, iY), fgColor
  7489.     PSET (iX+5, iY), bgColor
  7490.     PSET (iX+4, iY), fgColor
  7491.     PSET (iX+3, iY), bgColor
  7492.     PSET (iX+2, iY), bgColor
  7493.     PSET (iX+1, iY), bgColor
  7494.     PSET (iX+0, iY), fgColor
  7495. End Sub ' DrawBitPatternPSET081
  7496.  
  7497. Sub DrawBitPatternPSET082(  _
  7498.     imgScreen&, iCol As Integer, iRow As Integer, _
  7499.     iLine As Integer, _
  7500.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7501.     )
  7502.     Dim iX As Integer : iX = iCol * 8
  7503.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7504.     PSET (iX+7, iY), bgColor
  7505.     PSET (iX+6, iY), fgColor
  7506.     PSET (iX+5, iY), bgColor
  7507.     PSET (iX+4, iY), fgColor
  7508.     PSET (iX+3, iY), bgColor
  7509.     PSET (iX+2, iY), bgColor
  7510.     PSET (iX+1, iY), fgColor
  7511.     PSET (iX+0, iY), bgColor
  7512. End Sub ' DrawBitPatternPSET082
  7513.  
  7514. Sub DrawBitPatternPSET083(  _
  7515.     imgScreen&, iCol As Integer, iRow As Integer, _
  7516.     iLine As Integer, _
  7517.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7518.     )
  7519.     Dim iX As Integer : iX = iCol * 8
  7520.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7521.     PSET (iX+7, iY), bgColor
  7522.     PSET (iX+6, iY), fgColor
  7523.     PSET (iX+5, iY), bgColor
  7524.     PSET (iX+4, iY), fgColor
  7525.     PSET (iX+3, iY), bgColor
  7526.     PSET (iX+2, iY), bgColor
  7527.     PSET (iX+1, iY), fgColor
  7528.     PSET (iX+0, iY), fgColor
  7529. End Sub ' DrawBitPatternPSET083
  7530.  
  7531. Sub DrawBitPatternPSET084(  _
  7532.     imgScreen&, iCol As Integer, iRow As Integer, _
  7533.     iLine As Integer, _
  7534.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7535.     )
  7536.     Dim iX As Integer : iX = iCol * 8
  7537.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7538.     PSET (iX+7, iY), bgColor
  7539.     PSET (iX+6, iY), fgColor
  7540.     PSET (iX+5, iY), bgColor
  7541.     PSET (iX+4, iY), fgColor
  7542.     PSET (iX+3, iY), bgColor
  7543.     PSET (iX+2, iY), fgColor
  7544.     PSET (iX+1, iY), bgColor
  7545.     PSET (iX+0, iY), bgColor
  7546. End Sub ' DrawBitPatternPSET084
  7547.  
  7548. Sub DrawBitPatternPSET085(  _
  7549.     imgScreen&, iCol As Integer, iRow As Integer, _
  7550.     iLine As Integer, _
  7551.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7552.     )
  7553.     Dim iX As Integer : iX = iCol * 8
  7554.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7555.     PSET (iX+7, iY), bgColor
  7556.     PSET (iX+6, iY), fgColor
  7557.     PSET (iX+5, iY), bgColor
  7558.     PSET (iX+4, iY), fgColor
  7559.     PSET (iX+3, iY), bgColor
  7560.     PSET (iX+2, iY), fgColor
  7561.     PSET (iX+1, iY), bgColor
  7562.     PSET (iX+0, iY), fgColor
  7563. End Sub ' DrawBitPatternPSET085
  7564.  
  7565. Sub DrawBitPatternPSET086(  _
  7566.     imgScreen&, iCol As Integer, iRow As Integer, _
  7567.     iLine As Integer, _
  7568.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7569.     )
  7570.     Dim iX As Integer : iX = iCol * 8
  7571.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7572.     PSET (iX+7, iY), bgColor
  7573.     PSET (iX+6, iY), fgColor
  7574.     PSET (iX+5, iY), bgColor
  7575.     PSET (iX+4, iY), fgColor
  7576.     PSET (iX+3, iY), bgColor
  7577.     PSET (iX+2, iY), fgColor
  7578.     PSET (iX+1, iY), fgColor
  7579.     PSET (iX+0, iY), bgColor
  7580. End Sub ' DrawBitPatternPSET086
  7581.  
  7582. Sub DrawBitPatternPSET087(  _
  7583.     imgScreen&, iCol As Integer, iRow As Integer, _
  7584.     iLine As Integer, _
  7585.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7586.     )
  7587.     Dim iX As Integer : iX = iCol * 8
  7588.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7589.     PSET (iX+7, iY), bgColor
  7590.     PSET (iX+6, iY), fgColor
  7591.     PSET (iX+5, iY), bgColor
  7592.     PSET (iX+4, iY), fgColor
  7593.     PSET (iX+3, iY), bgColor
  7594.     PSET (iX+2, iY), fgColor
  7595.     PSET (iX+1, iY), fgColor
  7596.     PSET (iX+0, iY), fgColor
  7597. End Sub ' DrawBitPatternPSET087
  7598.  
  7599. Sub DrawBitPatternPSET088(  _
  7600.     imgScreen&, iCol As Integer, iRow As Integer, _
  7601.     iLine As Integer, _
  7602.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7603.     )
  7604.     Dim iX As Integer : iX = iCol * 8
  7605.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7606.     PSET (iX+7, iY), bgColor
  7607.     PSET (iX+6, iY), fgColor
  7608.     PSET (iX+5, iY), bgColor
  7609.     PSET (iX+4, iY), fgColor
  7610.     PSET (iX+3, iY), fgColor
  7611.     PSET (iX+2, iY), bgColor
  7612.     PSET (iX+1, iY), bgColor
  7613.     PSET (iX+0, iY), bgColor
  7614. End Sub ' DrawBitPatternPSET088
  7615.  
  7616. Sub DrawBitPatternPSET089(  _
  7617.     imgScreen&, iCol As Integer, iRow As Integer, _
  7618.     iLine As Integer, _
  7619.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7620.     )
  7621.     Dim iX As Integer : iX = iCol * 8
  7622.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7623.     PSET (iX+7, iY), bgColor
  7624.     PSET (iX+6, iY), fgColor
  7625.     PSET (iX+5, iY), bgColor
  7626.     PSET (iX+4, iY), fgColor
  7627.     PSET (iX+3, iY), fgColor
  7628.     PSET (iX+2, iY), bgColor
  7629.     PSET (iX+1, iY), bgColor
  7630.     PSET (iX+0, iY), fgColor
  7631. End Sub ' DrawBitPatternPSET089
  7632.  
  7633. Sub DrawBitPatternPSET090(  _
  7634.     imgScreen&, iCol As Integer, iRow As Integer, _
  7635.     iLine As Integer, _
  7636.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7637.     )
  7638.     Dim iX As Integer : iX = iCol * 8
  7639.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7640.     PSET (iX+7, iY), bgColor
  7641.     PSET (iX+6, iY), fgColor
  7642.     PSET (iX+5, iY), bgColor
  7643.     PSET (iX+4, iY), fgColor
  7644.     PSET (iX+3, iY), fgColor
  7645.     PSET (iX+2, iY), bgColor
  7646.     PSET (iX+1, iY), fgColor
  7647.     PSET (iX+0, iY), bgColor
  7648. End Sub ' DrawBitPatternPSET090
  7649.  
  7650. Sub DrawBitPatternPSET091(  _
  7651.     imgScreen&, iCol As Integer, iRow As Integer, _
  7652.     iLine As Integer, _
  7653.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7654.     )
  7655.     Dim iX As Integer : iX = iCol * 8
  7656.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7657.     PSET (iX+7, iY), bgColor
  7658.     PSET (iX+6, iY), fgColor
  7659.     PSET (iX+5, iY), bgColor
  7660.     PSET (iX+4, iY), fgColor
  7661.     PSET (iX+3, iY), fgColor
  7662.     PSET (iX+2, iY), bgColor
  7663.     PSET (iX+1, iY), fgColor
  7664.     PSET (iX+0, iY), fgColor
  7665. End Sub ' DrawBitPatternPSET091
  7666.  
  7667. Sub DrawBitPatternPSET092(  _
  7668.     imgScreen&, iCol As Integer, iRow As Integer, _
  7669.     iLine As Integer, _
  7670.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7671.     )
  7672.     Dim iX As Integer : iX = iCol * 8
  7673.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7674.     PSET (iX+7, iY), bgColor
  7675.     PSET (iX+6, iY), fgColor
  7676.     PSET (iX+5, iY), bgColor
  7677.     PSET (iX+4, iY), fgColor
  7678.     PSET (iX+3, iY), fgColor
  7679.     PSET (iX+2, iY), fgColor
  7680.     PSET (iX+1, iY), bgColor
  7681.     PSET (iX+0, iY), bgColor
  7682. End Sub ' DrawBitPatternPSET092
  7683.  
  7684. Sub DrawBitPatternPSET093(  _
  7685.     imgScreen&, iCol As Integer, iRow As Integer, _
  7686.     iLine As Integer, _
  7687.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7688.     )
  7689.     Dim iX As Integer : iX = iCol * 8
  7690.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7691.     PSET (iX+7, iY), bgColor
  7692.     PSET (iX+6, iY), fgColor
  7693.     PSET (iX+5, iY), bgColor
  7694.     PSET (iX+4, iY), fgColor
  7695.     PSET (iX+3, iY), fgColor
  7696.     PSET (iX+2, iY), fgColor
  7697.     PSET (iX+1, iY), bgColor
  7698.     PSET (iX+0, iY), fgColor
  7699. End Sub ' DrawBitPatternPSET093
  7700.  
  7701. Sub DrawBitPatternPSET094(  _
  7702.     imgScreen&, iCol As Integer, iRow As Integer, _
  7703.     iLine As Integer, _
  7704.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7705.     )
  7706.     Dim iX As Integer : iX = iCol * 8
  7707.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7708.     PSET (iX+7, iY), bgColor
  7709.     PSET (iX+6, iY), fgColor
  7710.     PSET (iX+5, iY), bgColor
  7711.     PSET (iX+4, iY), fgColor
  7712.     PSET (iX+3, iY), fgColor
  7713.     PSET (iX+2, iY), fgColor
  7714.     PSET (iX+1, iY), fgColor
  7715.     PSET (iX+0, iY), bgColor
  7716. End Sub ' DrawBitPatternPSET094
  7717.  
  7718. Sub DrawBitPatternPSET095(  _
  7719.     imgScreen&, iCol As Integer, iRow As Integer, _
  7720.     iLine As Integer, _
  7721.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7722.     )
  7723.     Dim iX As Integer : iX = iCol * 8
  7724.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7725.     PSET (iX+7, iY), bgColor
  7726.     PSET (iX+6, iY), fgColor
  7727.     PSET (iX+5, iY), bgColor
  7728.     PSET (iX+4, iY), fgColor
  7729.     PSET (iX+3, iY), fgColor
  7730.     PSET (iX+2, iY), fgColor
  7731.     PSET (iX+1, iY), fgColor
  7732.     PSET (iX+0, iY), fgColor
  7733. End Sub ' DrawBitPatternPSET095
  7734.  
  7735. Sub DrawBitPatternPSET096(  _
  7736.     imgScreen&, iCol As Integer, iRow As Integer, _
  7737.     iLine As Integer, _
  7738.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7739.     )
  7740.     Dim iX As Integer : iX = iCol * 8
  7741.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7742.     PSET (iX+7, iY), bgColor
  7743.     PSET (iX+6, iY), fgColor
  7744.     PSET (iX+5, iY), fgColor
  7745.     PSET (iX+4, iY), bgColor
  7746.     PSET (iX+3, iY), bgColor
  7747.     PSET (iX+2, iY), bgColor
  7748.     PSET (iX+1, iY), bgColor
  7749.     PSET (iX+0, iY), bgColor
  7750. End Sub ' DrawBitPatternPSET096
  7751.  
  7752. Sub DrawBitPatternPSET097(  _
  7753.     imgScreen&, iCol As Integer, iRow As Integer, _
  7754.     iLine As Integer, _
  7755.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7756.     )
  7757.     Dim iX As Integer : iX = iCol * 8
  7758.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7759.     PSET (iX+7, iY), bgColor
  7760.     PSET (iX+6, iY), fgColor
  7761.     PSET (iX+5, iY), fgColor
  7762.     PSET (iX+4, iY), bgColor
  7763.     PSET (iX+3, iY), bgColor
  7764.     PSET (iX+2, iY), bgColor
  7765.     PSET (iX+1, iY), bgColor
  7766.     PSET (iX+0, iY), fgColor
  7767. End Sub ' DrawBitPatternPSET097
  7768.  
  7769. Sub DrawBitPatternPSET098(  _
  7770.     imgScreen&, iCol As Integer, iRow As Integer, _
  7771.     iLine As Integer, _
  7772.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7773.     )
  7774.     Dim iX As Integer : iX = iCol * 8
  7775.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7776.     PSET (iX+7, iY), bgColor
  7777.     PSET (iX+6, iY), fgColor
  7778.     PSET (iX+5, iY), fgColor
  7779.     PSET (iX+4, iY), bgColor
  7780.     PSET (iX+3, iY), bgColor
  7781.     PSET (iX+2, iY), bgColor
  7782.     PSET (iX+1, iY), fgColor
  7783.     PSET (iX+0, iY), bgColor
  7784. End Sub ' DrawBitPatternPSET098
  7785.  
  7786. Sub DrawBitPatternPSET099(  _
  7787.     imgScreen&, iCol As Integer, iRow As Integer, _
  7788.     iLine As Integer, _
  7789.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7790.     )
  7791.     Dim iX As Integer : iX = iCol * 8
  7792.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7793.     PSET (iX+7, iY), bgColor
  7794.     PSET (iX+6, iY), fgColor
  7795.     PSET (iX+5, iY), fgColor
  7796.     PSET (iX+4, iY), bgColor
  7797.     PSET (iX+3, iY), bgColor
  7798.     PSET (iX+2, iY), bgColor
  7799.     PSET (iX+1, iY), fgColor
  7800.     PSET (iX+0, iY), fgColor
  7801. End Sub ' DrawBitPatternPSET099
  7802.  
  7803. Sub DrawBitPatternPSET100(  _
  7804.     imgScreen&, iCol As Integer, iRow As Integer, _
  7805.     iLine As Integer, _
  7806.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7807.     )
  7808.     Dim iX As Integer : iX = iCol * 8
  7809.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7810.     PSET (iX+7, iY), bgColor
  7811.     PSET (iX+6, iY), fgColor
  7812.     PSET (iX+5, iY), fgColor
  7813.     PSET (iX+4, iY), bgColor
  7814.     PSET (iX+3, iY), bgColor
  7815.     PSET (iX+2, iY), fgColor
  7816.     PSET (iX+1, iY), bgColor
  7817.     PSET (iX+0, iY), bgColor
  7818. End Sub ' DrawBitPatternPSET100
  7819.  
  7820. Sub DrawBitPatternPSET101(  _
  7821.     imgScreen&, iCol As Integer, iRow As Integer, _
  7822.     iLine As Integer, _
  7823.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7824.     )
  7825.     Dim iX As Integer : iX = iCol * 8
  7826.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7827.     PSET (iX+7, iY), bgColor
  7828.     PSET (iX+6, iY), fgColor
  7829.     PSET (iX+5, iY), fgColor
  7830.     PSET (iX+4, iY), bgColor
  7831.     PSET (iX+3, iY), bgColor
  7832.     PSET (iX+2, iY), fgColor
  7833.     PSET (iX+1, iY), bgColor
  7834.     PSET (iX+0, iY), fgColor
  7835. End Sub ' DrawBitPatternPSET101
  7836.  
  7837. Sub DrawBitPatternPSET102(  _
  7838.     imgScreen&, iCol As Integer, iRow As Integer, _
  7839.     iLine As Integer, _
  7840.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7841.     )
  7842.     Dim iX As Integer : iX = iCol * 8
  7843.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7844.     PSET (iX+7, iY), bgColor
  7845.     PSET (iX+6, iY), fgColor
  7846.     PSET (iX+5, iY), fgColor
  7847.     PSET (iX+4, iY), bgColor
  7848.     PSET (iX+3, iY), bgColor
  7849.     PSET (iX+2, iY), fgColor
  7850.     PSET (iX+1, iY), fgColor
  7851.     PSET (iX+0, iY), bgColor
  7852. End Sub ' DrawBitPatternPSET102
  7853.  
  7854. Sub DrawBitPatternPSET103(  _
  7855.     imgScreen&, iCol As Integer, iRow As Integer, _
  7856.     iLine As Integer, _
  7857.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7858.     )
  7859.     Dim iX As Integer : iX = iCol * 8
  7860.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7861.     PSET (iX+7, iY), bgColor
  7862.     PSET (iX+6, iY), fgColor
  7863.     PSET (iX+5, iY), fgColor
  7864.     PSET (iX+4, iY), bgColor
  7865.     PSET (iX+3, iY), bgColor
  7866.     PSET (iX+2, iY), fgColor
  7867.     PSET (iX+1, iY), fgColor
  7868.     PSET (iX+0, iY), fgColor
  7869. End Sub ' DrawBitPatternPSET103
  7870.  
  7871. Sub DrawBitPatternPSET104(  _
  7872.     imgScreen&, iCol As Integer, iRow As Integer, _
  7873.     iLine As Integer, _
  7874.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7875.     )
  7876.     Dim iX As Integer : iX = iCol * 8
  7877.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7878.     PSET (iX+7, iY), bgColor
  7879.     PSET (iX+6, iY), fgColor
  7880.     PSET (iX+5, iY), fgColor
  7881.     PSET (iX+4, iY), bgColor
  7882.     PSET (iX+3, iY), fgColor
  7883.     PSET (iX+2, iY), bgColor
  7884.     PSET (iX+1, iY), bgColor
  7885.     PSET (iX+0, iY), bgColor
  7886. End Sub ' DrawBitPatternPSET104
  7887.  
  7888. Sub DrawBitPatternPSET105(  _
  7889.     imgScreen&, iCol As Integer, iRow As Integer, _
  7890.     iLine As Integer, _
  7891.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7892.     )
  7893.     Dim iX As Integer : iX = iCol * 8
  7894.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7895.     PSET (iX+7, iY), bgColor
  7896.     PSET (iX+6, iY), fgColor
  7897.     PSET (iX+5, iY), fgColor
  7898.     PSET (iX+4, iY), bgColor
  7899.     PSET (iX+3, iY), fgColor
  7900.     PSET (iX+2, iY), bgColor
  7901.     PSET (iX+1, iY), bgColor
  7902.     PSET (iX+0, iY), fgColor
  7903. End Sub ' DrawBitPatternPSET105
  7904.  
  7905. Sub DrawBitPatternPSET106(  _
  7906.     imgScreen&, iCol As Integer, iRow As Integer, _
  7907.     iLine As Integer, _
  7908.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7909.     )
  7910.     Dim iX As Integer : iX = iCol * 8
  7911.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7912.     PSET (iX+7, iY), bgColor
  7913.     PSET (iX+6, iY), fgColor
  7914.     PSET (iX+5, iY), fgColor
  7915.     PSET (iX+4, iY), bgColor
  7916.     PSET (iX+3, iY), fgColor
  7917.     PSET (iX+2, iY), bgColor
  7918.     PSET (iX+1, iY), fgColor
  7919.     PSET (iX+0, iY), bgColor
  7920. End Sub ' DrawBitPatternPSET106
  7921.  
  7922. Sub DrawBitPatternPSET107(  _
  7923.     imgScreen&, iCol As Integer, iRow As Integer, _
  7924.     iLine As Integer, _
  7925.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7926.     )
  7927.     Dim iX As Integer : iX = iCol * 8
  7928.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7929.     PSET (iX+7, iY), bgColor
  7930.     PSET (iX+6, iY), fgColor
  7931.     PSET (iX+5, iY), fgColor
  7932.     PSET (iX+4, iY), bgColor
  7933.     PSET (iX+3, iY), fgColor
  7934.     PSET (iX+2, iY), bgColor
  7935.     PSET (iX+1, iY), fgColor
  7936.     PSET (iX+0, iY), fgColor
  7937. End Sub ' DrawBitPatternPSET107
  7938.  
  7939. Sub DrawBitPatternPSET108(  _
  7940.     imgScreen&, iCol As Integer, iRow As Integer, _
  7941.     iLine As Integer, _
  7942.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7943.     )
  7944.     Dim iX As Integer : iX = iCol * 8
  7945.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7946.     PSET (iX+7, iY), bgColor
  7947.     PSET (iX+6, iY), fgColor
  7948.     PSET (iX+5, iY), fgColor
  7949.     PSET (iX+4, iY), bgColor
  7950.     PSET (iX+3, iY), fgColor
  7951.     PSET (iX+2, iY), fgColor
  7952.     PSET (iX+1, iY), bgColor
  7953.     PSET (iX+0, iY), bgColor
  7954. End Sub ' DrawBitPatternPSET108
  7955.  
  7956. Sub DrawBitPatternPSET109(  _
  7957.     imgScreen&, iCol As Integer, iRow As Integer, _
  7958.     iLine As Integer, _
  7959.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7960.     )
  7961.     Dim iX As Integer : iX = iCol * 8
  7962.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7963.     PSET (iX+7, iY), bgColor
  7964.     PSET (iX+6, iY), fgColor
  7965.     PSET (iX+5, iY), fgColor
  7966.     PSET (iX+4, iY), bgColor
  7967.     PSET (iX+3, iY), fgColor
  7968.     PSET (iX+2, iY), fgColor
  7969.     PSET (iX+1, iY), bgColor
  7970.     PSET (iX+0, iY), fgColor
  7971. End Sub ' DrawBitPatternPSET109
  7972.  
  7973. Sub DrawBitPatternPSET110(  _
  7974.     imgScreen&, iCol As Integer, iRow As Integer, _
  7975.     iLine As Integer, _
  7976.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7977.     )
  7978.     Dim iX As Integer : iX = iCol * 8
  7979.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7980.     PSET (iX+7, iY), bgColor
  7981.     PSET (iX+6, iY), fgColor
  7982.     PSET (iX+5, iY), fgColor
  7983.     PSET (iX+4, iY), bgColor
  7984.     PSET (iX+3, iY), fgColor
  7985.     PSET (iX+2, iY), fgColor
  7986.     PSET (iX+1, iY), fgColor
  7987.     PSET (iX+0, iY), bgColor
  7988. End Sub ' DrawBitPatternPSET110
  7989.  
  7990. Sub DrawBitPatternPSET111(  _
  7991.     imgScreen&, iCol As Integer, iRow As Integer, _
  7992.     iLine As Integer, _
  7993.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  7994.     )
  7995.     Dim iX As Integer : iX = iCol * 8
  7996.     Dim iY As Integer : iY = (iRow * 8) + iLine
  7997.     PSET (iX+7, iY), bgColor
  7998.     PSET (iX+6, iY), fgColor
  7999.     PSET (iX+5, iY), fgColor
  8000.     PSET (iX+4, iY), bgColor
  8001.     PSET (iX+3, iY), fgColor
  8002.     PSET (iX+2, iY), fgColor
  8003.     PSET (iX+1, iY), fgColor
  8004.     PSET (iX+0, iY), fgColor
  8005. End Sub ' DrawBitPatternPSET111
  8006.  
  8007. Sub DrawBitPatternPSET112(  _
  8008.     imgScreen&, iCol As Integer, iRow As Integer, _
  8009.     iLine As Integer, _
  8010.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8011.     )
  8012.     Dim iX As Integer : iX = iCol * 8
  8013.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8014.     PSET (iX+7, iY), bgColor
  8015.     PSET (iX+6, iY), fgColor
  8016.     PSET (iX+5, iY), fgColor
  8017.     PSET (iX+4, iY), fgColor
  8018.     PSET (iX+3, iY), bgColor
  8019.     PSET (iX+2, iY), bgColor
  8020.     PSET (iX+1, iY), bgColor
  8021.     PSET (iX+0, iY), bgColor
  8022. End Sub ' DrawBitPatternPSET112
  8023.  
  8024. Sub DrawBitPatternPSET113(  _
  8025.     imgScreen&, iCol As Integer, iRow As Integer, _
  8026.     iLine As Integer, _
  8027.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8028.     )
  8029.     Dim iX As Integer : iX = iCol * 8
  8030.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8031.     PSET (iX+7, iY), bgColor
  8032.     PSET (iX+6, iY), fgColor
  8033.     PSET (iX+5, iY), fgColor
  8034.     PSET (iX+4, iY), fgColor
  8035.     PSET (iX+3, iY), bgColor
  8036.     PSET (iX+2, iY), bgColor
  8037.     PSET (iX+1, iY), bgColor
  8038.     PSET (iX+0, iY), fgColor
  8039. End Sub ' DrawBitPatternPSET113
  8040.  
  8041. Sub DrawBitPatternPSET114(  _
  8042.     imgScreen&, iCol As Integer, iRow As Integer, _
  8043.     iLine As Integer, _
  8044.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8045.     )
  8046.     Dim iX As Integer : iX = iCol * 8
  8047.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8048.     PSET (iX+7, iY), bgColor
  8049.     PSET (iX+6, iY), fgColor
  8050.     PSET (iX+5, iY), fgColor
  8051.     PSET (iX+4, iY), fgColor
  8052.     PSET (iX+3, iY), bgColor
  8053.     PSET (iX+2, iY), bgColor
  8054.     PSET (iX+1, iY), fgColor
  8055.     PSET (iX+0, iY), bgColor
  8056. End Sub ' DrawBitPatternPSET114
  8057.  
  8058. Sub DrawBitPatternPSET115(  _
  8059.     imgScreen&, iCol As Integer, iRow As Integer, _
  8060.     iLine As Integer, _
  8061.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8062.     )
  8063.     Dim iX As Integer : iX = iCol * 8
  8064.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8065.     PSET (iX+7, iY), bgColor
  8066.     PSET (iX+6, iY), fgColor
  8067.     PSET (iX+5, iY), fgColor
  8068.     PSET (iX+4, iY), fgColor
  8069.     PSET (iX+3, iY), bgColor
  8070.     PSET (iX+2, iY), bgColor
  8071.     PSET (iX+1, iY), fgColor
  8072.     PSET (iX+0, iY), fgColor
  8073. End Sub ' DrawBitPatternPSET115
  8074.  
  8075. Sub DrawBitPatternPSET116(  _
  8076.     imgScreen&, iCol As Integer, iRow As Integer, _
  8077.     iLine As Integer, _
  8078.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8079.     )
  8080.     Dim iX As Integer : iX = iCol * 8
  8081.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8082.     PSET (iX+7, iY), bgColor
  8083.     PSET (iX+6, iY), fgColor
  8084.     PSET (iX+5, iY), fgColor
  8085.     PSET (iX+4, iY), fgColor
  8086.     PSET (iX+3, iY), bgColor
  8087.     PSET (iX+2, iY), fgColor
  8088.     PSET (iX+1, iY), bgColor
  8089.     PSET (iX+0, iY), bgColor
  8090. End Sub ' DrawBitPatternPSET116
  8091.  
  8092. Sub DrawBitPatternPSET117(  _
  8093.     imgScreen&, iCol As Integer, iRow As Integer, _
  8094.     iLine As Integer, _
  8095.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8096.     )
  8097.     Dim iX As Integer : iX = iCol * 8
  8098.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8099.     PSET (iX+7, iY), bgColor
  8100.     PSET (iX+6, iY), fgColor
  8101.     PSET (iX+5, iY), fgColor
  8102.     PSET (iX+4, iY), fgColor
  8103.     PSET (iX+3, iY), bgColor
  8104.     PSET (iX+2, iY), fgColor
  8105.     PSET (iX+1, iY), bgColor
  8106.     PSET (iX+0, iY), fgColor
  8107. End Sub ' DrawBitPatternPSET117
  8108.  
  8109. Sub DrawBitPatternPSET118(  _
  8110.     imgScreen&, iCol As Integer, iRow As Integer, _
  8111.     iLine As Integer, _
  8112.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8113.     )
  8114.     Dim iX As Integer : iX = iCol * 8
  8115.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8116.     PSET (iX+7, iY), bgColor
  8117.     PSET (iX+6, iY), fgColor
  8118.     PSET (iX+5, iY), fgColor
  8119.     PSET (iX+4, iY), fgColor
  8120.     PSET (iX+3, iY), bgColor
  8121.     PSET (iX+2, iY), fgColor
  8122.     PSET (iX+1, iY), fgColor
  8123.     PSET (iX+0, iY), bgColor
  8124. End Sub ' DrawBitPatternPSET118
  8125.  
  8126. Sub DrawBitPatternPSET119(  _
  8127.     imgScreen&, iCol As Integer, iRow As Integer, _
  8128.     iLine As Integer, _
  8129.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8130.     )
  8131.     Dim iX As Integer : iX = iCol * 8
  8132.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8133.     PSET (iX+7, iY), bgColor
  8134.     PSET (iX+6, iY), fgColor
  8135.     PSET (iX+5, iY), fgColor
  8136.     PSET (iX+4, iY), fgColor
  8137.     PSET (iX+3, iY), bgColor
  8138.     PSET (iX+2, iY), fgColor
  8139.     PSET (iX+1, iY), fgColor
  8140.     PSET (iX+0, iY), fgColor
  8141. End Sub ' DrawBitPatternPSET119
  8142.  
  8143. Sub DrawBitPatternPSET120(  _
  8144.     imgScreen&, iCol As Integer, iRow As Integer, _
  8145.     iLine As Integer, _
  8146.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8147.     )
  8148.     Dim iX As Integer : iX = iCol * 8
  8149.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8150.     PSET (iX+7, iY), bgColor
  8151.     PSET (iX+6, iY), fgColor
  8152.     PSET (iX+5, iY), fgColor
  8153.     PSET (iX+4, iY), fgColor
  8154.     PSET (iX+3, iY), fgColor
  8155.     PSET (iX+2, iY), bgColor
  8156.     PSET (iX+1, iY), bgColor
  8157.     PSET (iX+0, iY), bgColor
  8158. End Sub ' DrawBitPatternPSET120
  8159.  
  8160. Sub DrawBitPatternPSET121(  _
  8161.     imgScreen&, iCol As Integer, iRow As Integer, _
  8162.     iLine As Integer, _
  8163.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8164.     )
  8165.     Dim iX As Integer : iX = iCol * 8
  8166.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8167.     PSET (iX+7, iY), bgColor
  8168.     PSET (iX+6, iY), fgColor
  8169.     PSET (iX+5, iY), fgColor
  8170.     PSET (iX+4, iY), fgColor
  8171.     PSET (iX+3, iY), fgColor
  8172.     PSET (iX+2, iY), bgColor
  8173.     PSET (iX+1, iY), bgColor
  8174.     PSET (iX+0, iY), fgColor
  8175. End Sub ' DrawBitPatternPSET121
  8176.  
  8177. Sub DrawBitPatternPSET122(  _
  8178.     imgScreen&, iCol As Integer, iRow As Integer, _
  8179.     iLine As Integer, _
  8180.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8181.     )
  8182.     Dim iX As Integer : iX = iCol * 8
  8183.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8184.     PSET (iX+7, iY), bgColor
  8185.     PSET (iX+6, iY), fgColor
  8186.     PSET (iX+5, iY), fgColor
  8187.     PSET (iX+4, iY), fgColor
  8188.     PSET (iX+3, iY), fgColor
  8189.     PSET (iX+2, iY), bgColor
  8190.     PSET (iX+1, iY), fgColor
  8191.     PSET (iX+0, iY), bgColor
  8192. End Sub ' DrawBitPatternPSET122
  8193.  
  8194. Sub DrawBitPatternPSET123(  _
  8195.     imgScreen&, iCol As Integer, iRow As Integer, _
  8196.     iLine As Integer, _
  8197.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8198.     )
  8199.     Dim iX As Integer : iX = iCol * 8
  8200.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8201.     PSET (iX+7, iY), bgColor
  8202.     PSET (iX+6, iY), fgColor
  8203.     PSET (iX+5, iY), fgColor
  8204.     PSET (iX+4, iY), fgColor
  8205.     PSET (iX+3, iY), fgColor
  8206.     PSET (iX+2, iY), bgColor
  8207.     PSET (iX+1, iY), fgColor
  8208.     PSET (iX+0, iY), fgColor
  8209. End Sub ' DrawBitPatternPSET123
  8210.  
  8211. Sub DrawBitPatternPSET124(  _
  8212.     imgScreen&, iCol As Integer, iRow As Integer, _
  8213.     iLine As Integer, _
  8214.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8215.     )
  8216.     Dim iX As Integer : iX = iCol * 8
  8217.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8218.     PSET (iX+7, iY), bgColor
  8219.     PSET (iX+6, iY), fgColor
  8220.     PSET (iX+5, iY), fgColor
  8221.     PSET (iX+4, iY), fgColor
  8222.     PSET (iX+3, iY), fgColor
  8223.     PSET (iX+2, iY), fgColor
  8224.     PSET (iX+1, iY), bgColor
  8225.     PSET (iX+0, iY), bgColor
  8226. End Sub ' DrawBitPatternPSET124
  8227.  
  8228. Sub DrawBitPatternPSET125(  _
  8229.     imgScreen&, iCol As Integer, iRow As Integer, _
  8230.     iLine As Integer, _
  8231.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8232.     )
  8233.     Dim iX As Integer : iX = iCol * 8
  8234.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8235.     PSET (iX+7, iY), bgColor
  8236.     PSET (iX+6, iY), fgColor
  8237.     PSET (iX+5, iY), fgColor
  8238.     PSET (iX+4, iY), fgColor
  8239.     PSET (iX+3, iY), fgColor
  8240.     PSET (iX+2, iY), fgColor
  8241.     PSET (iX+1, iY), bgColor
  8242.     PSET (iX+0, iY), fgColor
  8243. End Sub ' DrawBitPatternPSET125
  8244.  
  8245. Sub DrawBitPatternPSET126(  _
  8246.     imgScreen&, iCol As Integer, iRow As Integer, _
  8247.     iLine As Integer, _
  8248.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8249.     )
  8250.     Dim iX As Integer : iX = iCol * 8
  8251.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8252.     PSET (iX+7, iY), bgColor
  8253.     PSET (iX+6, iY), fgColor
  8254.     PSET (iX+5, iY), fgColor
  8255.     PSET (iX+4, iY), fgColor
  8256.     PSET (iX+3, iY), fgColor
  8257.     PSET (iX+2, iY), fgColor
  8258.     PSET (iX+1, iY), fgColor
  8259.     PSET (iX+0, iY), bgColor
  8260. End Sub ' DrawBitPatternPSET126
  8261.  
  8262. Sub DrawBitPatternPSET127(  _
  8263.     imgScreen&, iCol As Integer, iRow As Integer, _
  8264.     iLine As Integer, _
  8265.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8266.     )
  8267.     Dim iX As Integer : iX = iCol * 8
  8268.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8269.     PSET (iX+7, iY), bgColor
  8270.     PSET (iX+6, iY), fgColor
  8271.     PSET (iX+5, iY), fgColor
  8272.     PSET (iX+4, iY), fgColor
  8273.     PSET (iX+3, iY), fgColor
  8274.     PSET (iX+2, iY), fgColor
  8275.     PSET (iX+1, iY), fgColor
  8276.     PSET (iX+0, iY), fgColor
  8277. End Sub ' DrawBitPatternPSET127
  8278.  
  8279. Sub DrawBitPatternPSET128(  _
  8280.     imgScreen&, iCol As Integer, iRow As Integer, _
  8281.     iLine As Integer, _
  8282.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8283.     )
  8284.     Dim iX As Integer : iX = iCol * 8
  8285.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8286.     PSET (iX+7, iY), fgColor
  8287.     PSET (iX+6, iY), bgColor
  8288.     PSET (iX+5, iY), bgColor
  8289.     PSET (iX+4, iY), bgColor
  8290.     PSET (iX+3, iY), bgColor
  8291.     PSET (iX+2, iY), bgColor
  8292.     PSET (iX+1, iY), bgColor
  8293.     PSET (iX+0, iY), bgColor
  8294. End Sub ' DrawBitPatternPSET128
  8295.  
  8296. Sub DrawBitPatternPSET129(  _
  8297.     imgScreen&, iCol As Integer, iRow As Integer, _
  8298.     iLine As Integer, _
  8299.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8300.     )
  8301.     Dim iX As Integer : iX = iCol * 8
  8302.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8303.     PSET (iX+7, iY), fgColor
  8304.     PSET (iX+6, iY), bgColor
  8305.     PSET (iX+5, iY), bgColor
  8306.     PSET (iX+4, iY), bgColor
  8307.     PSET (iX+3, iY), bgColor
  8308.     PSET (iX+2, iY), bgColor
  8309.     PSET (iX+1, iY), bgColor
  8310.     PSET (iX+0, iY), fgColor
  8311. End Sub ' DrawBitPatternPSET129
  8312.  
  8313. Sub DrawBitPatternPSET130(  _
  8314.     imgScreen&, iCol As Integer, iRow As Integer, _
  8315.     iLine As Integer, _
  8316.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8317.     )
  8318.     Dim iX As Integer : iX = iCol * 8
  8319.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8320.     PSET (iX+7, iY), fgColor
  8321.     PSET (iX+6, iY), bgColor
  8322.     PSET (iX+5, iY), bgColor
  8323.     PSET (iX+4, iY), bgColor
  8324.     PSET (iX+3, iY), bgColor
  8325.     PSET (iX+2, iY), bgColor
  8326.     PSET (iX+1, iY), fgColor
  8327.     PSET (iX+0, iY), bgColor
  8328. End Sub ' DrawBitPatternPSET130
  8329.  
  8330. Sub DrawBitPatternPSET131(  _
  8331.     imgScreen&, iCol As Integer, iRow As Integer, _
  8332.     iLine As Integer, _
  8333.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8334.     )
  8335.     Dim iX As Integer : iX = iCol * 8
  8336.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8337.     PSET (iX+7, iY), fgColor
  8338.     PSET (iX+6, iY), bgColor
  8339.     PSET (iX+5, iY), bgColor
  8340.     PSET (iX+4, iY), bgColor
  8341.     PSET (iX+3, iY), bgColor
  8342.     PSET (iX+2, iY), bgColor
  8343.     PSET (iX+1, iY), fgColor
  8344.     PSET (iX+0, iY), fgColor
  8345. End Sub ' DrawBitPatternPSET131
  8346.  
  8347. Sub DrawBitPatternPSET132(  _
  8348.     imgScreen&, iCol As Integer, iRow As Integer, _
  8349.     iLine As Integer, _
  8350.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8351.     )
  8352.     Dim iX As Integer : iX = iCol * 8
  8353.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8354.     PSET (iX+7, iY), fgColor
  8355.     PSET (iX+6, iY), bgColor
  8356.     PSET (iX+5, iY), bgColor
  8357.     PSET (iX+4, iY), bgColor
  8358.     PSET (iX+3, iY), bgColor
  8359.     PSET (iX+2, iY), fgColor
  8360.     PSET (iX+1, iY), bgColor
  8361.     PSET (iX+0, iY), bgColor
  8362. End Sub ' DrawBitPatternPSET132
  8363.  
  8364. Sub DrawBitPatternPSET133(  _
  8365.     imgScreen&, iCol As Integer, iRow As Integer, _
  8366.     iLine As Integer, _
  8367.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8368.     )
  8369.     Dim iX As Integer : iX = iCol * 8
  8370.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8371.     PSET (iX+7, iY), fgColor
  8372.     PSET (iX+6, iY), bgColor
  8373.     PSET (iX+5, iY), bgColor
  8374.     PSET (iX+4, iY), bgColor
  8375.     PSET (iX+3, iY), bgColor
  8376.     PSET (iX+2, iY), fgColor
  8377.     PSET (iX+1, iY), bgColor
  8378.     PSET (iX+0, iY), fgColor
  8379. End Sub ' DrawBitPatternPSET133
  8380.  
  8381. Sub DrawBitPatternPSET134(  _
  8382.     imgScreen&, iCol As Integer, iRow As Integer, _
  8383.     iLine As Integer, _
  8384.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8385.     )
  8386.     Dim iX As Integer : iX = iCol * 8
  8387.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8388.     PSET (iX+7, iY), fgColor
  8389.     PSET (iX+6, iY), bgColor
  8390.     PSET (iX+5, iY), bgColor
  8391.     PSET (iX+4, iY), bgColor
  8392.     PSET (iX+3, iY), bgColor
  8393.     PSET (iX+2, iY), fgColor
  8394.     PSET (iX+1, iY), fgColor
  8395.     PSET (iX+0, iY), bgColor
  8396. End Sub ' DrawBitPatternPSET134
  8397.  
  8398. Sub DrawBitPatternPSET135(  _
  8399.     imgScreen&, iCol As Integer, iRow As Integer, _
  8400.     iLine As Integer, _
  8401.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8402.     )
  8403.     Dim iX As Integer : iX = iCol * 8
  8404.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8405.     PSET (iX+7, iY), fgColor
  8406.     PSET (iX+6, iY), bgColor
  8407.     PSET (iX+5, iY), bgColor
  8408.     PSET (iX+4, iY), bgColor
  8409.     PSET (iX+3, iY), bgColor
  8410.     PSET (iX+2, iY), fgColor
  8411.     PSET (iX+1, iY), fgColor
  8412.     PSET (iX+0, iY), fgColor
  8413. End Sub ' DrawBitPatternPSET135
  8414.  
  8415. Sub DrawBitPatternPSET136(  _
  8416.     imgScreen&, iCol As Integer, iRow As Integer, _
  8417.     iLine As Integer, _
  8418.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8419.     )
  8420.     Dim iX As Integer : iX = iCol * 8
  8421.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8422.     PSET (iX+7, iY), fgColor
  8423.     PSET (iX+6, iY), bgColor
  8424.     PSET (iX+5, iY), bgColor
  8425.     PSET (iX+4, iY), bgColor
  8426.     PSET (iX+3, iY), fgColor
  8427.     PSET (iX+2, iY), bgColor
  8428.     PSET (iX+1, iY), bgColor
  8429.     PSET (iX+0, iY), bgColor
  8430. End Sub ' DrawBitPatternPSET136
  8431.  
  8432. Sub DrawBitPatternPSET137(  _
  8433.     imgScreen&, iCol As Integer, iRow As Integer, _
  8434.     iLine As Integer, _
  8435.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8436.     )
  8437.     Dim iX As Integer : iX = iCol * 8
  8438.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8439.     PSET (iX+7, iY), fgColor
  8440.     PSET (iX+6, iY), bgColor
  8441.     PSET (iX+5, iY), bgColor
  8442.     PSET (iX+4, iY), bgColor
  8443.     PSET (iX+3, iY), fgColor
  8444.     PSET (iX+2, iY), bgColor
  8445.     PSET (iX+1, iY), bgColor
  8446.     PSET (iX+0, iY), fgColor
  8447. End Sub ' DrawBitPatternPSET137
  8448.  
  8449. Sub DrawBitPatternPSET138(  _
  8450.     imgScreen&, iCol As Integer, iRow As Integer, _
  8451.     iLine As Integer, _
  8452.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8453.     )
  8454.     Dim iX As Integer : iX = iCol * 8
  8455.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8456.     PSET (iX+7, iY), fgColor
  8457.     PSET (iX+6, iY), bgColor
  8458.     PSET (iX+5, iY), bgColor
  8459.     PSET (iX+4, iY), bgColor
  8460.     PSET (iX+3, iY), fgColor
  8461.     PSET (iX+2, iY), bgColor
  8462.     PSET (iX+1, iY), fgColor
  8463.     PSET (iX+0, iY), bgColor
  8464. End Sub ' DrawBitPatternPSET138
  8465.  
  8466. Sub DrawBitPatternPSET139(  _
  8467.     imgScreen&, iCol As Integer, iRow As Integer, _
  8468.     iLine As Integer, _
  8469.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8470.     )
  8471.     Dim iX As Integer : iX = iCol * 8
  8472.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8473.     PSET (iX+7, iY), fgColor
  8474.     PSET (iX+6, iY), bgColor
  8475.     PSET (iX+5, iY), bgColor
  8476.     PSET (iX+4, iY), bgColor
  8477.     PSET (iX+3, iY), fgColor
  8478.     PSET (iX+2, iY), bgColor
  8479.     PSET (iX+1, iY), fgColor
  8480.     PSET (iX+0, iY), fgColor
  8481. End Sub ' DrawBitPatternPSET139
  8482.  
  8483. Sub DrawBitPatternPSET140(  _
  8484.     imgScreen&, iCol As Integer, iRow As Integer, _
  8485.     iLine As Integer, _
  8486.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8487.     )
  8488.     Dim iX As Integer : iX = iCol * 8
  8489.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8490.     PSET (iX+7, iY), fgColor
  8491.     PSET (iX+6, iY), bgColor
  8492.     PSET (iX+5, iY), bgColor
  8493.     PSET (iX+4, iY), bgColor
  8494.     PSET (iX+3, iY), fgColor
  8495.     PSET (iX+2, iY), fgColor
  8496.     PSET (iX+1, iY), bgColor
  8497.     PSET (iX+0, iY), bgColor
  8498. End Sub ' DrawBitPatternPSET140
  8499.  
  8500. Sub DrawBitPatternPSET141(  _
  8501.     imgScreen&, iCol As Integer, iRow As Integer, _
  8502.     iLine As Integer, _
  8503.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8504.     )
  8505.     Dim iX As Integer : iX = iCol * 8
  8506.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8507.     PSET (iX+7, iY), fgColor
  8508.     PSET (iX+6, iY), bgColor
  8509.     PSET (iX+5, iY), bgColor
  8510.     PSET (iX+4, iY), bgColor
  8511.     PSET (iX+3, iY), fgColor
  8512.     PSET (iX+2, iY), fgColor
  8513.     PSET (iX+1, iY), bgColor
  8514.     PSET (iX+0, iY), fgColor
  8515. End Sub ' DrawBitPatternPSET141
  8516.  
  8517. Sub DrawBitPatternPSET142(  _
  8518.     imgScreen&, iCol As Integer, iRow As Integer, _
  8519.     iLine As Integer, _
  8520.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8521.     )
  8522.     Dim iX As Integer : iX = iCol * 8
  8523.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8524.     PSET (iX+7, iY), fgColor
  8525.     PSET (iX+6, iY), bgColor
  8526.     PSET (iX+5, iY), bgColor
  8527.     PSET (iX+4, iY), bgColor
  8528.     PSET (iX+3, iY), fgColor
  8529.     PSET (iX+2, iY), fgColor
  8530.     PSET (iX+1, iY), fgColor
  8531.     PSET (iX+0, iY), bgColor
  8532. End Sub ' DrawBitPatternPSET142
  8533.  
  8534. Sub DrawBitPatternPSET143(  _
  8535.     imgScreen&, iCol As Integer, iRow As Integer, _
  8536.     iLine As Integer, _
  8537.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8538.     )
  8539.     Dim iX As Integer : iX = iCol * 8
  8540.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8541.     PSET (iX+7, iY), fgColor
  8542.     PSET (iX+6, iY), bgColor
  8543.     PSET (iX+5, iY), bgColor
  8544.     PSET (iX+4, iY), bgColor
  8545.     PSET (iX+3, iY), fgColor
  8546.     PSET (iX+2, iY), fgColor
  8547.     PSET (iX+1, iY), fgColor
  8548.     PSET (iX+0, iY), fgColor
  8549. End Sub ' DrawBitPatternPSET143
  8550.  
  8551. Sub DrawBitPatternPSET144(  _
  8552.     imgScreen&, iCol As Integer, iRow As Integer, _
  8553.     iLine As Integer, _
  8554.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8555.     )
  8556.     Dim iX As Integer : iX = iCol * 8
  8557.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8558.     PSET (iX+7, iY), fgColor
  8559.     PSET (iX+6, iY), bgColor
  8560.     PSET (iX+5, iY), bgColor
  8561.     PSET (iX+4, iY), fgColor
  8562.     PSET (iX+3, iY), bgColor
  8563.     PSET (iX+2, iY), bgColor
  8564.     PSET (iX+1, iY), bgColor
  8565.     PSET (iX+0, iY), bgColor
  8566. End Sub ' DrawBitPatternPSET144
  8567.  
  8568. Sub DrawBitPatternPSET145(  _
  8569.     imgScreen&, iCol As Integer, iRow As Integer, _
  8570.     iLine As Integer, _
  8571.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8572.     )
  8573.     Dim iX As Integer : iX = iCol * 8
  8574.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8575.     PSET (iX+7, iY), fgColor
  8576.     PSET (iX+6, iY), bgColor
  8577.     PSET (iX+5, iY), bgColor
  8578.     PSET (iX+4, iY), fgColor
  8579.     PSET (iX+3, iY), bgColor
  8580.     PSET (iX+2, iY), bgColor
  8581.     PSET (iX+1, iY), bgColor
  8582.     PSET (iX+0, iY), fgColor
  8583. End Sub ' DrawBitPatternPSET145
  8584.  
  8585. Sub DrawBitPatternPSET146(  _
  8586.     imgScreen&, iCol As Integer, iRow As Integer, _
  8587.     iLine As Integer, _
  8588.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8589.     )
  8590.     Dim iX As Integer : iX = iCol * 8
  8591.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8592.     PSET (iX+7, iY), fgColor
  8593.     PSET (iX+6, iY), bgColor
  8594.     PSET (iX+5, iY), bgColor
  8595.     PSET (iX+4, iY), fgColor
  8596.     PSET (iX+3, iY), bgColor
  8597.     PSET (iX+2, iY), bgColor
  8598.     PSET (iX+1, iY), fgColor
  8599.     PSET (iX+0, iY), bgColor
  8600. End Sub ' DrawBitPatternPSET146
  8601.  
  8602. Sub DrawBitPatternPSET147(  _
  8603.     imgScreen&, iCol As Integer, iRow As Integer, _
  8604.     iLine As Integer, _
  8605.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8606.     )
  8607.     Dim iX As Integer : iX = iCol * 8
  8608.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8609.     PSET (iX+7, iY), fgColor
  8610.     PSET (iX+6, iY), bgColor
  8611.     PSET (iX+5, iY), bgColor
  8612.     PSET (iX+4, iY), fgColor
  8613.     PSET (iX+3, iY), bgColor
  8614.     PSET (iX+2, iY), bgColor
  8615.     PSET (iX+1, iY), fgColor
  8616.     PSET (iX+0, iY), fgColor
  8617. End Sub ' DrawBitPatternPSET147
  8618.  
  8619. Sub DrawBitPatternPSET148(  _
  8620.     imgScreen&, iCol As Integer, iRow As Integer, _
  8621.     iLine As Integer, _
  8622.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8623.     )
  8624.     Dim iX As Integer : iX = iCol * 8
  8625.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8626.     PSET (iX+7, iY), fgColor
  8627.     PSET (iX+6, iY), bgColor
  8628.     PSET (iX+5, iY), bgColor
  8629.     PSET (iX+4, iY), fgColor
  8630.     PSET (iX+3, iY), bgColor
  8631.     PSET (iX+2, iY), fgColor
  8632.     PSET (iX+1, iY), bgColor
  8633.     PSET (iX+0, iY), bgColor
  8634. End Sub ' DrawBitPatternPSET148
  8635.  
  8636. Sub DrawBitPatternPSET149(  _
  8637.     imgScreen&, iCol As Integer, iRow As Integer, _
  8638.     iLine As Integer, _
  8639.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8640.     )
  8641.     Dim iX As Integer : iX = iCol * 8
  8642.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8643.     PSET (iX+7, iY), fgColor
  8644.     PSET (iX+6, iY), bgColor
  8645.     PSET (iX+5, iY), bgColor
  8646.     PSET (iX+4, iY), fgColor
  8647.     PSET (iX+3, iY), bgColor
  8648.     PSET (iX+2, iY), fgColor
  8649.     PSET (iX+1, iY), bgColor
  8650.     PSET (iX+0, iY), fgColor
  8651. End Sub ' DrawBitPatternPSET149
  8652.  
  8653. Sub DrawBitPatternPSET150(  _
  8654.     imgScreen&, iCol As Integer, iRow As Integer, _
  8655.     iLine As Integer, _
  8656.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8657.     )
  8658.     Dim iX As Integer : iX = iCol * 8
  8659.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8660.     PSET (iX+7, iY), fgColor
  8661.     PSET (iX+6, iY), bgColor
  8662.     PSET (iX+5, iY), bgColor
  8663.     PSET (iX+4, iY), fgColor
  8664.     PSET (iX+3, iY), bgColor
  8665.     PSET (iX+2, iY), fgColor
  8666.     PSET (iX+1, iY), fgColor
  8667.     PSET (iX+0, iY), bgColor
  8668. End Sub ' DrawBitPatternPSET150
  8669.  
  8670. Sub DrawBitPatternPSET151(  _
  8671.     imgScreen&, iCol As Integer, iRow As Integer, _
  8672.     iLine As Integer, _
  8673.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8674.     )
  8675.     Dim iX As Integer : iX = iCol * 8
  8676.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8677.     PSET (iX+7, iY), fgColor
  8678.     PSET (iX+6, iY), bgColor
  8679.     PSET (iX+5, iY), bgColor
  8680.     PSET (iX+4, iY), fgColor
  8681.     PSET (iX+3, iY), bgColor
  8682.     PSET (iX+2, iY), fgColor
  8683.     PSET (iX+1, iY), fgColor
  8684.     PSET (iX+0, iY), fgColor
  8685. End Sub ' DrawBitPatternPSET151
  8686.  
  8687. Sub DrawBitPatternPSET152(  _
  8688.     imgScreen&, iCol As Integer, iRow As Integer, _
  8689.     iLine As Integer, _
  8690.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8691.     )
  8692.     Dim iX As Integer : iX = iCol * 8
  8693.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8694.     PSET (iX+7, iY), fgColor
  8695.     PSET (iX+6, iY), bgColor
  8696.     PSET (iX+5, iY), bgColor
  8697.     PSET (iX+4, iY), fgColor
  8698.     PSET (iX+3, iY), fgColor
  8699.     PSET (iX+2, iY), bgColor
  8700.     PSET (iX+1, iY), bgColor
  8701.     PSET (iX+0, iY), bgColor
  8702. End Sub ' DrawBitPatternPSET152
  8703.  
  8704. Sub DrawBitPatternPSET153(  _
  8705.     imgScreen&, iCol As Integer, iRow As Integer, _
  8706.     iLine As Integer, _
  8707.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8708.     )
  8709.     Dim iX As Integer : iX = iCol * 8
  8710.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8711.     PSET (iX+7, iY), fgColor
  8712.     PSET (iX+6, iY), bgColor
  8713.     PSET (iX+5, iY), bgColor
  8714.     PSET (iX+4, iY), fgColor
  8715.     PSET (iX+3, iY), fgColor
  8716.     PSET (iX+2, iY), bgColor
  8717.     PSET (iX+1, iY), bgColor
  8718.     PSET (iX+0, iY), fgColor
  8719. End Sub ' DrawBitPatternPSET153
  8720.  
  8721. Sub DrawBitPatternPSET154(  _
  8722.     imgScreen&, iCol As Integer, iRow As Integer, _
  8723.     iLine As Integer, _
  8724.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8725.     )
  8726.     Dim iX As Integer : iX = iCol * 8
  8727.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8728.     PSET (iX+7, iY), fgColor
  8729.     PSET (iX+6, iY), bgColor
  8730.     PSET (iX+5, iY), bgColor
  8731.     PSET (iX+4, iY), fgColor
  8732.     PSET (iX+3, iY), fgColor
  8733.     PSET (iX+2, iY), bgColor
  8734.     PSET (iX+1, iY), fgColor
  8735.     PSET (iX+0, iY), bgColor
  8736. End Sub ' DrawBitPatternPSET154
  8737.  
  8738. Sub DrawBitPatternPSET155(  _
  8739.     imgScreen&, iCol As Integer, iRow As Integer, _
  8740.     iLine As Integer, _
  8741.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8742.     )
  8743.     Dim iX As Integer : iX = iCol * 8
  8744.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8745.     PSET (iX+7, iY), fgColor
  8746.     PSET (iX+6, iY), bgColor
  8747.     PSET (iX+5, iY), bgColor
  8748.     PSET (iX+4, iY), fgColor
  8749.     PSET (iX+3, iY), fgColor
  8750.     PSET (iX+2, iY), bgColor
  8751.     PSET (iX+1, iY), fgColor
  8752.     PSET (iX+0, iY), fgColor
  8753. End Sub ' DrawBitPatternPSET155
  8754.  
  8755. Sub DrawBitPatternPSET156(  _
  8756.     imgScreen&, iCol As Integer, iRow As Integer, _
  8757.     iLine As Integer, _
  8758.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8759.     )
  8760.     Dim iX As Integer : iX = iCol * 8
  8761.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8762.     PSET (iX+7, iY), fgColor
  8763.     PSET (iX+6, iY), bgColor
  8764.     PSET (iX+5, iY), bgColor
  8765.     PSET (iX+4, iY), fgColor
  8766.     PSET (iX+3, iY), fgColor
  8767.     PSET (iX+2, iY), fgColor
  8768.     PSET (iX+1, iY), bgColor
  8769.     PSET (iX+0, iY), bgColor
  8770. End Sub ' DrawBitPatternPSET156
  8771.  
  8772. Sub DrawBitPatternPSET157(  _
  8773.     imgScreen&, iCol As Integer, iRow As Integer, _
  8774.     iLine As Integer, _
  8775.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8776.     )
  8777.     Dim iX As Integer : iX = iCol * 8
  8778.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8779.     PSET (iX+7, iY), fgColor
  8780.     PSET (iX+6, iY), bgColor
  8781.     PSET (iX+5, iY), bgColor
  8782.     PSET (iX+4, iY), fgColor
  8783.     PSET (iX+3, iY), fgColor
  8784.     PSET (iX+2, iY), fgColor
  8785.     PSET (iX+1, iY), bgColor
  8786.     PSET (iX+0, iY), fgColor
  8787. End Sub ' DrawBitPatternPSET157
  8788.  
  8789. Sub DrawBitPatternPSET158(  _
  8790.     imgScreen&, iCol As Integer, iRow As Integer, _
  8791.     iLine As Integer, _
  8792.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8793.     )
  8794.     Dim iX As Integer : iX = iCol * 8
  8795.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8796.     PSET (iX+7, iY), fgColor
  8797.     PSET (iX+6, iY), bgColor
  8798.     PSET (iX+5, iY), bgColor
  8799.     PSET (iX+4, iY), fgColor
  8800.     PSET (iX+3, iY), fgColor
  8801.     PSET (iX+2, iY), fgColor
  8802.     PSET (iX+1, iY), fgColor
  8803.     PSET (iX+0, iY), bgColor
  8804. End Sub ' DrawBitPatternPSET158
  8805.  
  8806. Sub DrawBitPatternPSET159(  _
  8807.     imgScreen&, iCol As Integer, iRow As Integer, _
  8808.     iLine As Integer, _
  8809.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8810.     )
  8811.     Dim iX As Integer : iX = iCol * 8
  8812.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8813.     PSET (iX+7, iY), fgColor
  8814.     PSET (iX+6, iY), bgColor
  8815.     PSET (iX+5, iY), bgColor
  8816.     PSET (iX+4, iY), fgColor
  8817.     PSET (iX+3, iY), fgColor
  8818.     PSET (iX+2, iY), fgColor
  8819.     PSET (iX+1, iY), fgColor
  8820.     PSET (iX+0, iY), fgColor
  8821. End Sub ' DrawBitPatternPSET159
  8822.  
  8823. Sub DrawBitPatternPSET160(  _
  8824.     imgScreen&, iCol As Integer, iRow As Integer, _
  8825.     iLine As Integer, _
  8826.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8827.     )
  8828.     Dim iX As Integer : iX = iCol * 8
  8829.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8830.     PSET (iX+7, iY), fgColor
  8831.     PSET (iX+6, iY), bgColor
  8832.     PSET (iX+5, iY), fgColor
  8833.     PSET (iX+4, iY), bgColor
  8834.     PSET (iX+3, iY), bgColor
  8835.     PSET (iX+2, iY), bgColor
  8836.     PSET (iX+1, iY), bgColor
  8837.     PSET (iX+0, iY), bgColor
  8838. End Sub ' DrawBitPatternPSET160
  8839.  
  8840. Sub DrawBitPatternPSET161(  _
  8841.     imgScreen&, iCol As Integer, iRow As Integer, _
  8842.     iLine As Integer, _
  8843.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8844.     )
  8845.     Dim iX As Integer : iX = iCol * 8
  8846.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8847.     PSET (iX+7, iY), fgColor
  8848.     PSET (iX+6, iY), bgColor
  8849.     PSET (iX+5, iY), fgColor
  8850.     PSET (iX+4, iY), bgColor
  8851.     PSET (iX+3, iY), bgColor
  8852.     PSET (iX+2, iY), bgColor
  8853.     PSET (iX+1, iY), bgColor
  8854.     PSET (iX+0, iY), fgColor
  8855. End Sub ' DrawBitPatternPSET161
  8856.  
  8857. Sub DrawBitPatternPSET162(  _
  8858.     imgScreen&, iCol As Integer, iRow As Integer, _
  8859.     iLine As Integer, _
  8860.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8861.     )
  8862.     Dim iX As Integer : iX = iCol * 8
  8863.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8864.     PSET (iX+7, iY), fgColor
  8865.     PSET (iX+6, iY), bgColor
  8866.     PSET (iX+5, iY), fgColor
  8867.     PSET (iX+4, iY), bgColor
  8868.     PSET (iX+3, iY), bgColor
  8869.     PSET (iX+2, iY), bgColor
  8870.     PSET (iX+1, iY), fgColor
  8871.     PSET (iX+0, iY), bgColor
  8872. End Sub ' DrawBitPatternPSET162
  8873.  
  8874. Sub DrawBitPatternPSET163(  _
  8875.     imgScreen&, iCol As Integer, iRow As Integer, _
  8876.     iLine As Integer, _
  8877.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8878.     )
  8879.     Dim iX As Integer : iX = iCol * 8
  8880.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8881.     PSET (iX+7, iY), fgColor
  8882.     PSET (iX+6, iY), bgColor
  8883.     PSET (iX+5, iY), fgColor
  8884.     PSET (iX+4, iY), bgColor
  8885.     PSET (iX+3, iY), bgColor
  8886.     PSET (iX+2, iY), bgColor
  8887.     PSET (iX+1, iY), fgColor
  8888.     PSET (iX+0, iY), fgColor
  8889. End Sub ' DrawBitPatternPSET163
  8890.  
  8891. Sub DrawBitPatternPSET164(  _
  8892.     imgScreen&, iCol As Integer, iRow As Integer, _
  8893.     iLine As Integer, _
  8894.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8895.     )
  8896.     Dim iX As Integer : iX = iCol * 8
  8897.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8898.     PSET (iX+7, iY), fgColor
  8899.     PSET (iX+6, iY), bgColor
  8900.     PSET (iX+5, iY), fgColor
  8901.     PSET (iX+4, iY), bgColor
  8902.     PSET (iX+3, iY), bgColor
  8903.     PSET (iX+2, iY), fgColor
  8904.     PSET (iX+1, iY), bgColor
  8905.     PSET (iX+0, iY), bgColor
  8906. End Sub ' DrawBitPatternPSET164
  8907.  
  8908. Sub DrawBitPatternPSET165(  _
  8909.     imgScreen&, iCol As Integer, iRow As Integer, _
  8910.     iLine As Integer, _
  8911.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8912.     )
  8913.     Dim iX As Integer : iX = iCol * 8
  8914.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8915.     PSET (iX+7, iY), fgColor
  8916.     PSET (iX+6, iY), bgColor
  8917.     PSET (iX+5, iY), fgColor
  8918.     PSET (iX+4, iY), bgColor
  8919.     PSET (iX+3, iY), bgColor
  8920.     PSET (iX+2, iY), fgColor
  8921.     PSET (iX+1, iY), bgColor
  8922.     PSET (iX+0, iY), fgColor
  8923. End Sub ' DrawBitPatternPSET165
  8924.  
  8925. Sub DrawBitPatternPSET166(  _
  8926.     imgScreen&, iCol As Integer, iRow As Integer, _
  8927.     iLine As Integer, _
  8928.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8929.     )
  8930.     Dim iX As Integer : iX = iCol * 8
  8931.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8932.     PSET (iX+7, iY), fgColor
  8933.     PSET (iX+6, iY), bgColor
  8934.     PSET (iX+5, iY), fgColor
  8935.     PSET (iX+4, iY), bgColor
  8936.     PSET (iX+3, iY), bgColor
  8937.     PSET (iX+2, iY), fgColor
  8938.     PSET (iX+1, iY), fgColor
  8939.     PSET (iX+0, iY), bgColor
  8940. End Sub ' DrawBitPatternPSET166
  8941.  
  8942. Sub DrawBitPatternPSET167(  _
  8943.     imgScreen&, iCol As Integer, iRow As Integer, _
  8944.     iLine As Integer, _
  8945.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8946.     )
  8947.     Dim iX As Integer : iX = iCol * 8
  8948.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8949.     PSET (iX+7, iY), fgColor
  8950.     PSET (iX+6, iY), bgColor
  8951.     PSET (iX+5, iY), fgColor
  8952.     PSET (iX+4, iY), bgColor
  8953.     PSET (iX+3, iY), bgColor
  8954.     PSET (iX+2, iY), fgColor
  8955.     PSET (iX+1, iY), fgColor
  8956.     PSET (iX+0, iY), fgColor
  8957. End Sub ' DrawBitPatternPSET167
  8958.  
  8959. Sub DrawBitPatternPSET168(  _
  8960.     imgScreen&, iCol As Integer, iRow As Integer, _
  8961.     iLine As Integer, _
  8962.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8963.     )
  8964.     Dim iX As Integer : iX = iCol * 8
  8965.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8966.     PSET (iX+7, iY), fgColor
  8967.     PSET (iX+6, iY), bgColor
  8968.     PSET (iX+5, iY), fgColor
  8969.     PSET (iX+4, iY), bgColor
  8970.     PSET (iX+3, iY), fgColor
  8971.     PSET (iX+2, iY), bgColor
  8972.     PSET (iX+1, iY), bgColor
  8973.     PSET (iX+0, iY), bgColor
  8974. End Sub ' DrawBitPatternPSET168
  8975.  
  8976. Sub DrawBitPatternPSET169(  _
  8977.     imgScreen&, iCol As Integer, iRow As Integer, _
  8978.     iLine As Integer, _
  8979.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8980.     )
  8981.     Dim iX As Integer : iX = iCol * 8
  8982.     Dim iY As Integer : iY = (iRow * 8) + iLine
  8983.     PSET (iX+7, iY), fgColor
  8984.     PSET (iX+6, iY), bgColor
  8985.     PSET (iX+5, iY), fgColor
  8986.     PSET (iX+4, iY), bgColor
  8987.     PSET (iX+3, iY), fgColor
  8988.     PSET (iX+2, iY), bgColor
  8989.     PSET (iX+1, iY), bgColor
  8990.     PSET (iX+0, iY), fgColor
  8991. End Sub ' DrawBitPatternPSET169
  8992.  
  8993. Sub DrawBitPatternPSET170(  _
  8994.     imgScreen&, iCol As Integer, iRow As Integer, _
  8995.     iLine As Integer, _
  8996.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  8997.     )
  8998.     Dim iX As Integer : iX = iCol * 8
  8999.     Dim iY As Integer : iY = (iRow * 8) + iLine
  9000.     PSET (iX+7, iY), fgColor
  9001.     PSET (iX+6, iY), bgColor
  9002.     PSET (iX+5, iY), fgColor
  9003.     PSET (iX+4, iY), bgColor
  9004.     PSET (iX+3, iY), fgColor
  9005.     PSET (iX+2, iY), bgColor
  9006.     PSET (iX+1, iY), fgColor
  9007.     PSET (iX+0, iY), bgColor
  9008. End Sub ' DrawBitPatternPSET170
  9009.  
  9010. Sub DrawBitPatternPSET171(  _
  9011.     imgScreen&, iCol As Integer, iRow As Integer, _
  9012.     iLine As Integer, _
  9013.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  9014.     )
  9015.     Dim iX As Integer : iX = iCol * 8
  9016.     Dim iY As Integer : iY = (iRow * 8) + iLine
  9017.     PSET (iX+7, iY), fgColor
  9018.     PSET (iX+6, iY), bgColor
  9019.     PSET (iX+5, iY), fgColor
  9020.     PSET (iX+4, iY), bgColor
  9021.     PSET (iX+3, iY), fgColor
  9022.     PSET (iX+2, iY), bgColor
  9023.     PSET (iX+1, iY), fgColor
  9024.     PSET (iX+0, iY), fgColor
  9025. End Sub ' DrawBitPatternPSET171
  9026.  
  9027. Sub DrawBitPatternPSET172(  _
  9028.     imgScreen&, iCol As Integer, iRow As Integer, _
  9029.     iLine As Integer, _
  9030.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  9031.     )
  9032.     Dim iX As Integer : iX = iCol * 8
  9033.     Dim iY As Integer : iY = (iRow * 8) + iLine
  9034.     PSET (iX+7, iY), fgColor
  9035.     PSET (iX+6, iY), bgColor
  9036.     PSET (iX+5, iY), fgColor
  9037.     PSET (iX+4, iY), bgColor
  9038.     PSET (iX+3, iY), fgColor
  9039.     PSET (iX+2, iY), fgColor
  9040.     PSET (iX+1, iY), bgColor
  9041.     PSET (iX+0, iY), bgColor
  9042. End Sub ' DrawBitPatternPSET172
  9043.  
  9044. Sub DrawBitPatternPSET173(  _
  9045.     imgScreen&, iCol As Integer, iRow As Integer, _
  9046.     iLine As Integer, _
  9047.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  9048.     )
  9049.     Dim iX As Integer : iX = iCol * 8
  9050.     Dim iY As Integer : iY = (iRow * 8) + iLine
  9051.     PSET (iX+7, iY), fgColor
  9052.     PSET (iX+6, iY), bgColor
  9053.     PSET (iX+5, iY), fgColor
  9054.     PSET (iX+4, iY), bgColor
  9055.     PSET (iX+3, iY), fgColor
  9056.     PSET (iX+2, iY), fgColor
  9057.     PSET (iX+1, iY), bgColor
  9058.     PSET (iX+0, iY), fgColor
  9059. End Sub ' DrawBitPatternPSET173
  9060.  
  9061. Sub DrawBitPatternPSET174(  _
  9062.     imgScreen&, iCol As Integer, iRow As Integer, _
  9063.     iLine As Integer, _
  9064.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  9065.     )
  9066.     Dim iX As Integer : iX = iCol * 8
  9067.     Dim iY As Integer : iY = (iRow * 8) + iLine
  9068.     PSET (iX+7, iY), fgColor
  9069.     PSET (iX+6, iY), bgColor
  9070.     PSET (iX+5, iY), fgColor
  9071.     PSET (iX+4, iY), bgColor
  9072.     PSET (iX+3, iY), fgColor
  9073.     PSET (iX+2, iY), fgColor
  9074.     PSET (iX+1, iY), fgColor
  9075.     PSET (iX+0, iY), bgColor
  9076. End Sub ' DrawBitPatternPSET174
  9077.  
  9078. Sub DrawBitPatternPSET175(  _
  9079.     imgScreen&, iCol As Integer, iRow As Integer, _
  9080.     iLine As Integer, _
  9081.     fgColor As _UNSIGNED Long, bgColor As _UNSIGNED Long _
  9082.     )
  9083.     Dim iX As Integer : iX = iCol * 8
  9084.     Dim iY As Integer : iY = (iRow * 8) + iLine
  9085.     PSET (iX+7, iY), fgColor
  9086.     PSET (iX+6, iY), bgColor
  9087.     PSET (iX+5, iY), fgColor
  9088.     PSET (iX+4, iY), bgColor
  9089.     PSET (iX+3, iY), fgColor