# LED Matrix Display [School Project]

### General discussion

• Hello friends,

I was working on a project from quite a some time now actually it was my school project.

The project was about to make 6 x 8 LED matrix to show digits 0-9(Single digit at a time).

After showing it in my school i decided to extend this project to a full fledged LED Matrix Scroller Display. So the project status is as follow.

1. A LED font designer is ready
```Matrix_Width = 450
Matrix_Height = 200
LED_Size =25
LED_Color_Out = "DarkRed"
LED_Color_In = "Red"
LED_Num_H =6
LED_Num_V = 8
GraphicsWindow.Width = Matrix_Width
GraphicsWindow.Height = Matrix_Height
GraphicsWindow.Title = "LED Font Editor"
Controls.ButtonClicked = Save
Controls.SetSize(LED_Font_Raw_Data,300,150)
GraphicsWindow.PenColor = LED_Color_Out
GraphicsWindow.BrushColor = LED_Color_In
GraphicsWindow.MouseMove= Move
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
Shapes.Move(LED_Bulb[_V][_H],(_H * LED_Size),(_V * LED_Size))
Shapes.SetOpacity(LED_Bulb[_V][_H],30)
EndFor
EndFor
Sub Move
_Mouse_X = GraphicsWindow.MouseX
_Mouse_Y = GraphicsWindow.MouseY
If _Mouse_X < 150 Then
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
If _Mouse_Y > _V * LED_Size And _Mouse_Y < (_V * LED_Size) + LED_Size Then
If _Mouse_X > _H * LED_Size And _Mouse_X < (_H * LED_Size) + LED_Size Then
If Mouse.IsLeftButtonDown Then
Shapes.SetOpacity(LED_Bulb[_V][_H],100)
Data[Controls.GetTextBoxText(LED_Font_Raw_Data_CharAndDigit)][_V][_H] = 1
ElseIf Mouse.IsRightButtonDown Then
Shapes.SetOpacity(LED_Bulb[_V][_H],30)
Data[Controls.GetTextBoxText(LED_Font_Raw_Data_CharAndDigit)][_V][_H] = 0
EndIf
EndIf
EndIf
EndFor
EndFor
EndIf
Controls.SetTextBoxText(LED_Font_Raw_Data,Data)
EndSub
Sub Save
File.WriteContents(Program.Directory+"\"+"fonts data"+".TXT",Data)
EndSub```

However it is not complete as of now but i working as i planned initially.

I think there is a bug in Shapes.GetOpacity() it crashes the program. So i forced to use another method which not as good as it could be with  Shapes.GetOpacity() to achieve the desired result.

If you want to try it then first enter a Alphabet or a digit in text box and then design your own character or digit by moving the mouse on LEDs while holding left mouse button (right button will turn the LED off)  then click on "Save Data" button. Now Enter another digit or character in text box turn all LEDs off by moving the mouse on them while holding right mouse button and repeat he first step. After finishing font designing close the editor.

1. LED Matrix Display is ready
```Matrix_Width = 120
Matrix_Height = 160
LED_Size = 20
LED_Color_Out = "DarkRed"
LED_Color_In = "Red"
LED_Num_H = 6
LED_Num_V = 8
GraphicsWindow.Width = Matrix_Width
GraphicsWindow.Height = Matrix_Height
GraphicsWindow.KeyDown = KeyDown
GraphicsWindow.Title = "LED Tester"
GraphicsWindow.PenColor = LED_Color_Out
GraphicsWindow.BrushColor = LED_Color_In
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
Shapes.Move(LED_Bulb[_V][_H],(_H * LED_Size),(_V * LED_Size))
Shapes.SetOpacity(LED_Bulb[_V][_H],30)
EndFor
EndFor
Sub KeyDown
Last_Key = GraphicsWindow.LastKey
Key = 1
Key = 2
Key = 3
Key = 4
Key = 5
Key = 6
Key = 7
Key = 8
Key = 9
Key = 0
EndIf
Display()
EndSub
Sub Display
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
If Data[key][_V][_H] = 1 Then
Shapes.SetOpacity(LED_Bulb[_V][_H],100)
Else
Shapes.SetOpacity(LED_Bulb[_V][_H],30)
EndIf
EndFor
EndFor
EndSub```

This program reads font data saved in a file file earlier by Font Designer and draw the obtained digit on LED Display. You may need to modify it a little or less to get it work.

Still i want some help, guidance from you to make a scrolling display.

here is the screenshot of what i have done so far

They say working hard is good but i say working smart is best...

Saturday, December 22, 2012 7:09 PM

### All replies

• The get opacity is a known bug.

Look really nice, but I couldn't get a display output like you.  If you can provide exact instructions of what to do with the code.  Perhaps even a test code that just does the display with preset values in it.  i.e something I can run without having to modify first.

To scroll I think you just have to offset the _H on display.

Something like (not actual code - just the idea)

_Hval = _H - offset 'move to left

While (_Hval  < 0)

_Hval = _Hval +LED_Num_H

EndWhile

Then use _Hval in place of _H to set the opacity.  offset is the scroll value which you just increase every 0.5 sec or similar.

Saturday, December 22, 2012 7:55 PM
• The get opacity is a known bug.

Look really nice, but I couldn't get a display output like you.  If you can provide exact instructions of what to do with the code.  Perhaps even a test code that just does the display with preset values in it.  i.e something I can run without having to modify first.

To scroll I think you just have to offset the _H on display.

Something like (not actual code - just the idea)

_Hval = _H - offset 'move to left

While (_Hval  < 0)

_Hval = _Hval +LED_Num_H

EndWhile

Then use _Hval in place of _H to set the opacity.  offset is the scroll value which you just increase every 0.5 sec or similar.

Here is the code it should work without any modification.

I also implement your idea of making text scroll.

```Matrix_Width = 540
Matrix_Height = 120
LED_Size = 15
LED_Color_Out = "DarkGreen"
LED_Color_In = "Green"
LED_Num_H = 36
LED_Num_V = 8
Shift = 36
Data = "A=7\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;6\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;5\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;4\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;3\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;2\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;5\\\=1\\\;4\\\=1\\\;\;1\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;0\=0\\\=0\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=0\\\;\;;B=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;C=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;D=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;E=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;F=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;G=4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=4\\\=1\\\;5\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=4\\\=1\\\;5\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=4\\\=1\\\;5\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;;H=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;I=0\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;1\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;7\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;;J=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;;K=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;L=0\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;M=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;N=7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;O=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;P=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;Q=0\=0\\\=0\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=0\\\;\;1\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;2\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;3\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;4\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;5\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;6\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;7\=0\\\=0\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;;R=0\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=0\\\;\;1\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;2\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;3\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=1\\\;\;4\=0\\\=1\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=0\\\;\;5\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;6\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;7\=0\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;4\\\=1\\\;5\\\=1\\\;\;;S=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;T=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;7\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;;U=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;;V=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;7\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;;W=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;X=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;;Y=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;7\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;;Z=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;0=7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;6\=0\\\=1\\\;4\\\=1\\\;5\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;\;5\=0\\\=1\\\;4\\\=1\\\;5\\\=1\\\;3\\\=0\\\;1\\\=1\\\;2\\\=0\\\;\;4\=0\\\=1\\\;4\\\=1\\\;5\\\=1\\\;3\\\=0\\\;1\\\=1\\\;2\\\=0\\\;\;3\=0\\\=1\\\;5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;\;2\=0\\\=1\\\;5\\\=1\\\;4\\\=1\\\;1\\\=1\\\;2\\\=0\\\;3\\\=0\\\;\;1\=0\\\=1\\\;5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;\;0\=0\\\=0\\\;1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;4\\\=1\\\;5\\\=0\\\;\;;1=0\=5\\\=0\\\;0\\\=0\\\;1\\\=0\\\;2\\\=1\\\;3\\\=1\\\;4\\\=0\\\;\;1\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;2\=5\\\=0\\\;0\\\=0\\\;1\\\=0\\\;2\\\=1\\\;3\\\=1\\\;4\\\=0\\\;\;3\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=0\\\;0\\\=0\\\;1\\\=0\\\;2\\\=1\\\;3\\\=1\\\;4\\\=0\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=0\\\;0\\\=0\\\;1\\\=0\\\;2\\\=1\\\;3\\\=1\\\;4\\\=0\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;;2=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=0\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;3=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;4=0\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;;5=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;;6=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;1\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=0\\\;4\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;;7=0\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;5\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;;8=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;4\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;7\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;;9=0\=5\\\=0\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;1\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;2\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=1\\\;0\\\=1\\\;\;3\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=1\\\;\;4\=5\\\=1\\\;4\\\=1\\\;3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;0\\\=0\\\;\;5\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;6\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;7\=5\\\=1\\\;4\\\=1\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;0\\\=0\\\;\;;"
GraphicsWindow.Width = Matrix_Width
GraphicsWindow.Height = Matrix_Height
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.KeyDown = KeyDown
GraphicsWindow.Title = "LED Matrix Scroller Display"
GraphicsWindow.PenColor = LED_Color_Out
GraphicsWindow.BrushColor = LED_Color_In
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
Shapes.Move(LED_Bulb[_V][_H],(_H * LED_Size),(_V * LED_Size))
Shapes.SetOpacity(LED_Bulb[_V][_H],30)
EndFor
EndFor
Sub KeyDown
Last_Key = GraphicsWindow.LastKey
Key = 0
Display()
Scroll()
EndSub
Sub Display
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
If Data[Alpha][_V][_H] = 1 Then
Shapes.SetOpacity(LED_Bulb[_V][_H+Shift],100)
Else
Shapes.SetOpacity(LED_Bulb[_V][_H+Shift],30)
EndIf
EndFor
EndFor
EndSub
Sub OffallLEDs
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
Shapes.SetOpacity(LED_Bulb[_V][_H],30)
EndFor
EndFor
EndSub
Sub Scroll
Shift = LED_Num_H
OffallLEDs()
While Shift <> -6
Shift = Shift - 1
Display()
Program.Delay(150)
Key = Key + 1
If Key > 35 Then
Key = 0
EndIf
If Key < 25 Then
Alpha = Text.GetCharacter(65+Key)
Else
Alpha = Key - 25
EndIf
EndWhile
EndSub```

Merry Xmas!

Sunday, December 23, 2012 7:35 AM
• Very cool Amir, I nominated it for the blog.  Here is an import ID NGJ236.
Sunday, December 23, 2012 10:29 AM
• Very cool Amir, I nominated it for the blog.  Here is an import ID NGJ236.

Hi LitDev Thanks for nominating my program.

ZRL837 here is the new version. Actually this display is not new it was string to LED font generator which convert a string into LED compatible font data. I will post the String to LED Font converter after doing some better GUI and tweaks.

Merry Xmas!

Sunday, December 23, 2012 12:51 PM
• ```Matrix_Width = 540
Matrix_Height = 105
LED_Size = 15
LED_Color_Out = "DarkGreen"
LED_Color_In = "Green"
LED_Num_H = 124
LED_Num_V = 7
Shift = 36
Data = "SB=0\=1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;119\\\=0\\\;118\\\=0\\\;117\\\=0\\\;116\\\=0\\\;115\\\=0\\\;114\\\=1\\\;113\\\=1\\\;112\\\=1\\\;0\\\=0\\\;4\\\=0\\\;5\\\=0\\\;6\\\=0\\\;7\\\=0\\\;8\\\=0\\\;9\\\=0\\\;10\\\=0\\\;11\\\=0\\\;12\\\=0\\\;13\\\=0\\\;14\\\=0\\\;15\\\=0\\\;16\\\=0\\\;17\\\=1\\\;18\\\=0\\\;19\\\=0\\\;20\\\=1\\\;21\\\=0\\\;22\\\=0\\\;23\\\=0\\\;24\\\=1\\\;25\\\=1\\\;26\\\=1\\\;27\\\=0\\\;28\\\=0\\\;29\\\=0\\\;30\\\=0\\\;31\\\=0\\\;32\\\=0\\\;33\\\=0\\\;34\\\=0\\\;35\\\=0\\\;36\\\=0\\\;37\\\=0\\\;38\\\=0\\\;39\\\=0\\\;40\\\=1\\\;41\\\=0\\\;42\\\=0\\\;43\\\=0\\\;44\\\=0\\\;45\\\=0\\\;46\\\=0\\\;47\\\=0\\\;48\\\=1\\\;49\\\=0\\\;50\\\=0\\\;51\\\=0\\\;52\\\=0\\\;53\\\=0\\\;54\\\=0\\\;55\\\=0\\\;56\\\=0\\\;57\\\=0\\\;58\\\=1\\\;59\\\=0\\\;60\\\=0\\\;61\\\=0\\\;62\\\=0\\\;63\\\=0\\\;64\\\=0\\\;65\\\=0\\\;66\\\=0\\\;67\\\=0\\\;68\\\=0\\\;69\\\=0\\\;70\\\=0\\\;71\\\=0\\\;72\\\=0\\\;73\\\=0\\\;74\\\=0\\\;75\\\=0\\\;76\\\=0\\\;77\\\=0\\\;78\\\=0\\\;79\\\=0\\\;80\\\=0\\\;81\\\=0\\\;82\\\=0\\\;83\\\=0\\\;84\\\=0\\\;85\\\=0\\\;86\\\=0\\\;87\\\=1\\\;88\\\=0\\\;89\\\=0\\\;90\\\=0\\\;91\\\=1\\\;92\\\=0\\\;93\\\=0\\\;94\\\=0\\\;95\\\=0\\\;96\\\=0\\\;97\\\=0\\\;98\\\=0\\\;99\\\=0\\\;100\\\=0\\\;101\\\=0\\\;102\\\=0\\\;103\\\=1\\\;104\\\=0\\\;105\\\=0\\\;106\\\=0\\\;107\\\=0\\\;108\\\=0\\\;109\\\=0\\\;110\\\=0\\\;111\\\=0\\\;\;1\=0\\\=1\\\;4\\\=1\\\;110\\\=0\\\;109\\\=0\\\;108\\\=0\\\;107\\\=0\\\;106\\\=0\\\;105\\\=0\\\;104\\\=1\\\;103\\\=1\\\;102\\\=0\\\;101\\\=0\\\;100\\\=0\\\;99\\\=0\\\;98\\\=0\\\;97\\\=0\\\;96\\\=0\\\;95\\\=0\\\;94\\\=0\\\;93\\\=0\\\;92\\\=0\\\;91\\\=1\\\;90\\\=1\\\;89\\\=0\\\;88\\\=1\\\;87\\\=1\\\;86\\\=0\\\;85\\\=0\\\;84\\\=0\\\;83\\\=0\\\;82\\\=0\\\;81\\\=0\\\;80\\\=0\\\;79\\\=0\\\;78\\\=1\\\;77\\\=0\\\;76\\\=0\\\;75\\\=0\\\;72\\\=0\\\;70\\\=0\\\;69\\\=0\\\;68\\\=0\\\;66\\\=0\\\;64\\\=0\\\;63\\\=0\\\;59\\\=0\\\;58\\\=0\\\;56\\\=0\\\;55\\\=0\\\;52\\\=0\\\;51\\\=0\\\;50\\\=0\\\;49\\\=0\\\;48\\\=0\\\;47\\\=0\\\;46\\\=0\\\;45\\\=0\\\;44\\\=0\\\;43\\\=0\\\;41\\\=0\\\;40\\\=0\\\;38\\\=0\\\;37\\\=0\\\;36\\\=0\\\;35\\\=0\\\;33\\\=0\\\;31\\\=0\\\;30\\\=0\\\;29\\\=0\\\;28\\\=0\\\;27\\\=1\\\;26\\\=0\\\;25\\\=0\\\;24\\\=1\\\;23\\\=0\\\;21\\\=0\\\;19\\\=0\\\;18\\\=0\\\;17\\\=1\\\;16\\\=0\\\;15\\\=0\\\;14\\\=0\\\;13\\\=0\\\;12\\\=0\\\;11\\\=0\\\;10\\\=0\\\;9\\\=0\\\;8\\\=0\\\;7\\\=0\\\;6\\\=0\\\;5\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;119\\\=0\\\;118\\\=0\\\;117\\\=0\\\;114\\\=0\\\;115\\\=1\\\;116\\\=0\\\;113\\\=0\\\;112\\\=0\\\;111\\\=1\\\;73\\\=0\\\;74\\\=0\\\;67\\\=0\\\;42\\\=0\\\;53\\\=0\\\;71\\\=0\\\;57\\\=1\\\;60\\\=0\\\;61\\\=0\\\;62\\\=0\\\;65\\\=0\\\;54\\\=0\\\;32\\\=0\\\;22\\\=0\\\;20\\\=1\\\;39\\\=0\\\;34\\\=0\\\;\;2\=0\\\=1\\\;117\\\=0\\\;116\\\=1\\\;115\\\=0\\\;114\\\=1\\\;118\\\=0\\\;119\\\=0\\\;112\\\=1\\\;113\\\=0\\\;111\\\=0\\\;109\\\=0\\\;108\\\=0\\\;110\\\=1\\\;106\\\=0\\\;103\\\=1\\\;100\\\=0\\\;90\\\=1\\\;93\\\=0\\\;91\\\=1\\\;86\\\=0\\\;88\\\=1\\\;89\\\=0\\\;73\\\=0\\\;77\\\=1\\\;81\\\=0\\\;85\\\=0\\\;87\\\=1\\\;74\\\=0\\\;76\\\=0\\\;78\\\=1\\\;84\\\=0\\\;107\\\=0\\\;105\\\=0\\\;104\\\=0\\\;102\\\=0\\\;101\\\=0\\\;98\\\=0\\\;96\\\=0\\\;94\\\=0\\\;92\\\=0\\\;97\\\=0\\\;95\\\=0\\\;99\\\=0\\\;82\\\=0\\\;83\\\=0\\\;79\\\=0\\\;80\\\=1\\\;75\\\=0\\\;72\\\=0\\\;71\\\=0\\\;68\\\=0\\\;65\\\=1\\\;61\\\=0\\\;59\\\=0\\\;58\\\=1\\\;41\\\=0\\\;40\\\=1\\\;39\\\=0\\\;38\\\=1\\\;37\\\=1\\\;36\\\=1\\\;35\\\=0\\\;34\\\=0\\\;33\\\=0\\\;32\\\=1\\\;31\\\=1\\\;30\\\=0\\\;29\\\=0\\\;28\\\=0\\\;27\\\=1\\\;26\\\=0\\\;25\\\=0\\\;24\\\=1\\\;23\\\=0\\\;22\\\=0\\\;21\\\=0\\\;20\\\=1\\\;19\\\=0\\\;18\\\=0\\\;17\\\=1\\\;16\\\=0\\\;15\\\=0\\\;14\\\=1\\\;13\\\=1\\\;12\\\=0\\\;66\\\=1\\\;67\\\=0\\\;69\\\=0\\\;70\\\=0\\\;64\\\=1\\\;63\\\=0\\\;42\\\=0\\\;44\\\=1\\\;46\\\=0\\\;49\\\=0\\\;51\\\=1\\\;52\\\=1\\\;53\\\=1\\\;54\\\=0\\\;48\\\=1\\\;50\\\=0\\\;55\\\=0\\\;60\\\=1\\\;62\\\=1\\\;57\\\=1\\\;56\\\=1\\\;47\\\=0\\\;45\\\=0\\\;43\\\=1\\\;11\\\=0\\\;10\\\=0\\\;9\\\=1\\\;8\\\=0\\\;7\\\=1\\\;6\\\=1\\\;4\\\=0\\\;5\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;\;3\=1\\\=1\\\;2\\\=1\\\;3\\\=1\\\;119\\\=0\\\;118\\\=0\\\;117\\\=0\\\;116\\\=1\\\;113\\\=0\\\;114\\\=0\\\;115\\\=1\\\;112\\\=0\\\;111\\\=1\\\;110\\\=1\\\;109\\\=0\\\;108\\\=0\\\;103\\\=1\\\;96\\\=0\\\;93\\\=0\\\;90\\\=0\\\;88\\\=0\\\;86\\\=0\\\;77\\\=1\\\;83\\\=0\\\;64\\\=1\\\;70\\\=0\\\;79\\\=1\\\;89\\\=0\\\;99\\\=0\\\;100\\\=0\\\;67\\\=1\\\;69\\\=0\\\;72\\\=0\\\;95\\\=0\\\;65\\\=0\\\;71\\\=0\\\;74\\\=0\\\;80\\\=1\\\;101\\\=0\\\;105\\\=0\\\;104\\\=0\\\;106\\\=0\\\;107\\\=0\\\;97\\\=0\\\;94\\\=1\\\;92\\\=0\\\;102\\\=1\\\;98\\\=0\\\;91\\\=1\\\;81\\\=0\\\;78\\\=1\\\;82\\\=0\\\;84\\\=1\\\;87\\\=1\\\;85\\\=0\\\;76\\\=1\\\;75\\\=0\\\;73\\\=0\\\;68\\\=0\\\;58\\\=0\\\;57\\\=1\\\;47\\\=0\\\;46\\\=0\\\;44\\\=0\\\;43\\\=0\\\;11\\\=0\\\;10\\\=1\\\;9\\\=0\\\;8\\\=1\\\;7\\\=0\\\;6\\\=1\\\;13\\\=0\\\;16\\\=0\\\;18\\\=0\\\;22\\\=0\\\;25\\\=1\\\;62\\\=1\\\;63\\\=0\\\;66\\\=0\\\;61\\\=0\\\;59\\\=0\\\;52\\\=0\\\;49\\\=0\\\;39\\\=0\\\;37\\\=0\\\;36\\\=0\\\;35\\\=1\\\;34\\\=0\\\;56\\\=0\\\;51\\\=0\\\;48\\\=1\\\;45\\\=1\\\;42\\\=1\\\;41\\\=0\\\;40\\\=1\\\;60\\\=1\\\;55\\\=0\\\;54\\\=0\\\;53\\\=0\\\;4\\\=0\\\;0\\\=0\\\;5\\\=0\\\;12\\\=0\\\;17\\\=1\\\;20\\\=1\\\;24\\\=1\\\;26\\\=1\\\;29\\\=0\\\;30\\\=0\\\;31\\\=0\\\;32\\\=0\\\;33\\\=1\\\;50\\\=1\\\;28\\\=0\\\;27\\\=1\\\;15\\\=1\\\;14\\\=0\\\;19\\\=0\\\;21\\\=0\\\;23\\\=0\\\;38\\\=0\\\;\;4\=4\\\=1\\\;118\\\=0\\\;119\\\=0\\\;115\\\=0\\\;117\\\=0\\\;116\\\=1\\\;113\\\=1\\\;114\\\=1\\\;112\\\=1\\\;111\\\=0\\\;110\\\=1\\\;109\\\=0\\\;108\\\=0\\\;107\\\=0\\\;100\\\=1\\\;65\\\=0\\\;60\\\=1\\\;58\\\=0\\\;98\\\=0\\\;53\\\=0\\\;55\\\=0\\\;61\\\=0\\\;67\\\=1\\\;75\\\=0\\\;85\\\=1\\\;77\\\=1\\\;69\\\=0\\\;81\\\=0\\\;84\\\=1\\\;78\\\=1\\\;82\\\=0\\\;86\\\=1\\\;90\\\=0\\\;94\\\=1\\\;96\\\=0\\\;97\\\=0\\\;70\\\=0\\\;73\\\=0\\\;79\\\=0\\\;91\\\=1\\\;93\\\=1\\\;72\\\=0\\\;87\\\=1\\\;66\\\=0\\\;64\\\=1\\\;89\\\=0\\\;80\\\=1\\\;88\\\=0\\\;92\\\=1\\\;102\\\=1\\\;101\\\=0\\\;99\\\=0\\\;103\\\=1\\\;104\\\=0\\\;105\\\=0\\\;106\\\=0\\\;95\\\=0\\\;76\\\=0\\\;83\\\=0\\\;74\\\=0\\\;71\\\=0\\\;68\\\=0\\\;56\\\=0\\\;54\\\=0\\\;52\\\=1\\\;51\\\=1\\\;50\\\=0\\\;49\\\=0\\\;30\\\=0\\\;33\\\=1\\\;48\\\=1\\\;47\\\=0\\\;46\\\=0\\\;45\\\=0\\\;44\\\=0\\\;43\\\=0\\\;42\\\=1\\\;59\\\=0\\\;62\\\=1\\\;63\\\=0\\\;57\\\=1\\\;40\\\=1\\\;39\\\=0\\\;37\\\=1\\\;35\\\=0\\\;34\\\=0\\\;32\\\=1\\\;31\\\=1\\\;29\\\=0\\\;28\\\=1\\\;26\\\=0\\\;25\\\=0\\\;24\\\=1\\\;23\\\=0\\\;22\\\=0\\\;21\\\=0\\\;20\\\=1\\\;19\\\=0\\\;18\\\=0\\\;17\\\=1\\\;36\\\=1\\\;38\\\=0\\\;41\\\=0\\\;16\\\=0\\\;7\\\=0\\\;6\\\=1\\\;5\\\=0\\\;3\\\=0\\\;8\\\=1\\\;9\\\=0\\\;10\\\=1\\\;11\\\=0\\\;12\\\=0\\\;13\\\=1\\\;14\\\=1\\\;15\\\=1\\\;27\\\=0\\\;0\\\=0\\\;1\\\=0\\\;2\\\=0\\\;\;5\=4\\\=1\\\;0\\\=1\\\;119\\\=0\\\;118\\\=0\\\;117\\\=0\\\;116\\\=0\\\;115\\\=1\\\;114\\\=0\\\;113\\\=0\\\;112\\\=0\\\;111\\\=1\\\;110\\\=0\\\;109\\\=0\\\;108\\\=0\\\;107\\\=0\\\;106\\\=0\\\;98\\\=0\\\;68\\\=0\\\;91\\\=1\\\;85\\\=0\\\;76\\\=0\\\;67\\\=1\\\;60\\\=1\\\;54\\\=0\\\;52\\\=0\\\;63\\\=0\\\;70\\\=0\\\;58\\\=0\\\;86\\\=0\\\;87\\\=1\\\;71\\\=0\\\;73\\\=0\\\;97\\\=0\\\;82\\\=0\\\;80\\\=0\\\;79\\\=0\\\;77\\\=0\\\;94\\\=1\\\;92\\\=0\\\;90\\\=0\\\;88\\\=0\\\;81\\\=0\\\;74\\\=0\\\;72\\\=0\\\;89\\\=0\\\;78\\\=1\\\;83\\\=0\\\;84\\\=1\\\;93\\\=0\\\;95\\\=0\\\;96\\\=0\\\;99\\\=0\\\;101\\\=1\\\;102\\\=1\\\;100\\\=1\\\;105\\\=0\\\;103\\\=1\\\;104\\\=0\\\;75\\\=0\\\;34\\\=0\\\;55\\\=0\\\;56\\\=0\\\;57\\\=1\\\;69\\\=0\\\;61\\\=0\\\;62\\\=1\\\;64\\\=1\\\;66\\\=0\\\;65\\\=0\\\;59\\\=0\\\;53\\\=1\\\;49\\\=0\\\;50\\\=0\\\;51\\\=0\\\;48\\\=1\\\;47\\\=0\\\;46\\\=0\\\;44\\\=0\\\;43\\\=0\\\;42\\\=1\\\;41\\\=0\\\;40\\\=1\\\;39\\\=0\\\;38\\\=1\\\;37\\\=0\\\;36\\\=0\\\;35\\\=0\\\;33\\\=1\\\;32\\\=0\\\;30\\\=1\\\;29\\\=0\\\;28\\\=1\\\;27\\\=0\\\;26\\\=0\\\;25\\\=0\\\;24\\\=1\\\;23\\\=0\\\;22\\\=0\\\;21\\\=0\\\;20\\\=1\\\;19\\\=0\\\;18\\\=0\\\;17\\\=1\\\;16\\\=0\\\;15\\\=1\\\;14\\\=0\\\;13\\\=0\\\;12\\\=1\\\;11\\\=0\\\;10\\\=1\\\;9\\\=0\\\;8\\\=1\\\;7\\\=0\\\;6\\\=1\\\;5\\\=0\\\;3\\\=0\\\;2\\\=0\\\;1\\\=0\\\;31\\\=0\\\;45\\\=1\\\;\;6\=3\\\=1\\\;2\\\=1\\\;1\\\=1\\\;118\\\=0\\\;119\\\=0\\\;115\\\=0\\\;116\\\=0\\\;117\\\=0\\\;113\\\=1\\\;112\\\=1\\\;114\\\=1\\\;111\\\=0\\\;110\\\=0\\\;109\\\=0\\\;108\\\=0\\\;107\\\=0\\\;106\\\=0\\\;105\\\=1\\\;100\\\=0\\\;96\\\=0\\\;60\\\=0\\\;59\\\=0\\\;95\\\=0\\\;61\\\=1\\\;62\\\=1\\\;64\\\=1\\\;57\\\=1\\\;85\\\=1\\\;66\\\=0\\\;69\\\=1\\\;73\\\=1\\\;78\\\=0\\\;89\\\=0\\\;94\\\=1\\\;68\\\=0\\\;67\\\=1\\\;71\\\=1\\\;72\\\=0\\\;75\\\=0\\\;81\\\=0\\\;86\\\=0\\\;90\\\=1\\\;93\\\=1\\\;80\\\=0\\\;82\\\=0\\\;79\\\=0\\\;70\\\=0\\\;76\\\=0\\\;77\\\=0\\\;83\\\=0\\\;87\\\=1\\\;91\\\=1\\\;84\\\=1\\\;103\\\=1\\\;98\\\=0\\\;99\\\=0\\\;97\\\=0\\\;102\\\=1\\\;104\\\=1\\\;101\\\=1\\\;88\\\=1\\\;92\\\=0\\\;74\\\=0\\\;46\\\=0\\\;51\\\=1\\\;52\\\=1\\\;53\\\=0\\\;54\\\=0\\\;65\\\=0\\\;63\\\=0\\\;58\\\=0\\\;56\\\=0\\\;55\\\=0\\\;50\\\=1\\\;49\\\=0\\\;48\\\=1\\\;0\\\=0\\\;47\\\=0\\\;45\\\=0\\\;44\\\=1\\\;43\\\=1\\\;42\\\=0\\\;41\\\=0\\\;40\\\=1\\\;39\\\=0\\\;38\\\=0\\\;37\\\=1\\\;36\\\=1\\\;35\\\=1\\\;34\\\=0\\\;33\\\=1\\\;32\\\=1\\\;31\\\=1\\\;30\\\=0\\\;29\\\=0\\\;28\\\=0\\\;27\\\=1\\\;26\\\=1\\\;25\\\=1\\\;24\\\=1\\\;23\\\=0\\\;22\\\=0\\\;21\\\=1\\\;20\\\=0\\\;19\\\=0\\\;18\\\=1\\\;17\\\=0\\\;16\\\=0\\\;15\\\=1\\\;14\\\=1\\\;13\\\=1\\\;12\\\=0\\\;11\\\=0\\\;10\\\=1\\\;9\\\=0\\\;8\\\=1\\\;7\\\=0\\\;6\\\=1\\\;5\\\=0\\\;4\\\=0\\\;\;;"
GraphicsWindow.Width = Matrix_Width
GraphicsWindow.Height = Matrix_Height
GraphicsWindow.BackgroundColor = "Black"
GraphicsWindow.Title = "LED Matrix Scroller Display"
GraphicsWindow.PenColor = LED_Color_Out
GraphicsWindow.BrushColor = LED_Color_In
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
Shapes.Move(LED_Bulb[_V][_H],(_H * LED_Size),(_V * LED_Size))
Shapes.SetOpacity(LED_Bulb[_V][_H],20)
EndFor
EndFor
Scroll()
Sub Display
For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
If Data["SB"][_V][_H] = 1 Then
Shapes.SetOpacity(LED_Bulb[_V][_H+Shift],100)
Else
Shapes.SetOpacity(LED_Bulb[_V][_H+Shift],20)
EndIf
EndFor
EndFor
EndSub
Sub Scroll
While "True"
Shift = Shift - 1
If Shift < -124 Then
Shift = 36
EndIf
Display()
EndWhile
EndSub
```

Hello LitDev,

My Text to LED fonts converter get one character from a text string get the related data from a text file (file saved by Font Designer) and join all the character in an array. E.g

column =  1 row = 10000101010101

column =  2 row = 00010111011100

and so on....

but the problem i facing is that when string is long it become slower because of  array length.

The "Data" variable is actually a 3D array.

e.g

Data["SB"][1][1] = 0

Data["SB"][1][2] = 1

Merry Xmas!

Sunday, December 23, 2012 7:02 PM
• Merry Xmas,

The arrays in Small Basic are slow - no magic wand.  Your code is good, nothing to do to speed it apart from:

1] Reduce the size of arrays - e.g. one array for each row (horrible code results).

2] Use an extension for arrays - these are 1D arrays mostly, so lots of nasty workarounds.

3] You have written a great program that is only limited by the way SmallBasic handles arrays - consider playing with VB or C# to see how it might handle things.

EDIT suggestion

swap the order of changing bulbs

```  For _V = 0 To LED_Num_V - 1
For _H = 0 To LED_Num_H - 1
```

to

```  For _H = 0 To LED_Num_H - 1
For _V = 0 To LED_Num_V - 1
```
Not faster but looks smoother

Sunday, December 23, 2012 7:44 PM
• It will be featured. Thanks, guys!

Ed Price (a.k.a User Ed), SQL Server Customer Program Manager (Blog, Twitter, Wiki)

Saturday, December 29, 2012 8:37 AM
• Thanks!

Ed Price (a.k.a User Ed), SQL Server Customer Program Manager (Blog, Twitter, Wiki)

Sunday, January 06, 2013 10:32 PM
• I will post a new version very soon. Work still going on to make it faster.

Merry Xmas!

Sunday, January 20, 2013 6:10 PM