Jump to content



Photo
- - - - -

No Desktop leds showing on EM arrays in DT mode

Gladius Trnsformers G1 display led

  • Please log in to reply
No replies to this topic

#1 Greynurse

Greynurse

    Enthusiast

  • Members
  • PipPipPip
  • 321 posts
  • Location:Australia

  • Flag: Australia

  • Favorite Pinball: DOOM by Bigus1

Posted 11 February 2020 - 04:35 PM

This problem is occuring on two tables, Gladius by Wizball and Transformers G1, a nice reworking by ivantba. The backglass for these tables work normally, and I can get the leds to show on the desktop dispaly if I disable the backglass in the Configure Keys Preferences, but I'd prefer to not have to keeps glancing over to my BG monitor.

The script for the backglass and DT displays is:

 

Sub InitDisplay
    Dim sElemName
    Dim oElem
    Dim aHide
    If B2SOn Then
        For i = 0 to 127 : aSegments(i) = 0 : Next
        aSegments(Asc("A")) = 2167
        aSegments(Asc("B")) = 10767
        aSegments(Asc("C")) = 57
        aSegments(Asc("D")) = 8719
        aSegments(Asc("E")) = 2169
        aSegments(Asc("F")) = 2161
        aSegments(Asc("G")) = 2109
        aSegments(Asc("H")) = 2166
        aSegments(Asc("I")) = 8713
        aSegments(Asc("J")) = 30
        aSegments(Asc("K")) = 5232
        aSegments(Asc("L")) = 56
        aSegments(Asc("M")) = 1334
        aSegments(Asc("N")) = 4406
        aSegments(Asc("O")) = 63
        aSegments(Asc("P")) = 2163
        aSegments(Asc("Q")) = 4159
        aSegments(Asc("R")) = 6259
        aSegments(Asc("S")) = 2157
        aSegments(Asc("T")) = 8705
        aSegments(Asc("U")) = 62
        aSegments(Asc("V")) = 17456
        aSegments(Asc("W")) = 20534
        aSegments(Asc("X")) = 21760
        aSegments(Asc("Y")) = 9472
        aSegments(Asc("Z")) = 17417
        aSegments(Asc("0")) = 63
        aSegments(Asc("1")) = 6
        aSegments(Asc("2")) = 2139
        aSegments(Asc("3")) = 2127
        aSegments(Asc("4")) = 2150
        aSegments(Asc("5")) = 2157
        aSegments(Asc("6")) = 2173
        aSegments(Asc("7")) = 7
        aSegments(Asc("8")) = 2175
        aSegments(Asc("9")) = 2159
        aSegments(39) = 1024 ' apostrophe
        aSegments(34) = 514 ' double quote
        aSegments(Asc("<")) = 5120
        aSegments(Asc(">")) = 16640
        aSegments(Asc("^")) = 17414
        aSegments(Asc("*")) = 32576
        aSegments(Asc(".")) = 128
        aSegments(Asc("/")) = 17408
        aSegments(Asc("\")) = 4352
        aSegments(Asc("|")) = 8704
        aSegments(Asc("+")) = 10816
        aSegments(Asc("-")) = 2112
        aSegments(Asc("=")) = 2120
        aSegments(Asc("_")) = 8
        aSegments(96) = 191 ' backtick, maps to "0,"
        aSegments(Asc("a")) = 134 '1,
        aSegments(Asc("b")) = 2267 '2,
        aSegments(Asc("c")) = 2255 '3,
        aSegments(Asc("d")) = 2278 '4,
        aSegments(Asc("e")) = 2285    '5,
        aSegments(Asc("f")) = 2301    '6,
        aSegments(Asc("g")) = 135    '7,
        aSegments(Asc("h")) = 2303    '8,
        aSegments(Asc("i")) = 2287    '9,

        aHide = Array(EMReel1, EMReel2, EMReel3, EMReel4, EMReel5, EMReel6, EMReel7, EMReel8, _
                            EMReel9, EMReel10, EMReel11, EMReel12, EMReel13, EMReel14, EMReel15, EMReel16)
        For i = 0 to 15
            aHide(i).visible = True
        Next
        aHide = Array(EMReel17, EMReel18, EMReel19, EMReel20, EMReel21, EMReel22, EMReel23, _
            EMReel24, EMReel25, EMReel26, EMReel27, EMReel28, EMReel29, EMReel30, EMReel31, EMReel32)
        For i = 0 to 15
            aHide(i).visible = True
        Next
        aHide = Array(EMReel33, EMReel34, EMReel35, EMReel36, EMReel37, EMReel38, EMReel39, _
            EMReel40, EMReel41, EMReel42, EMReel43, EMReel44, EMReel45, EMReel46, EMReel47, EMReel48)
        For i = 0 to 15
            aHide(i).visible = False
        Next
        aHide = Array(EMReel49, EMReel50, EMReel51, EMReel52, EMReel53, EMReel54, EMReel55, _
            EMReel56, EMReel57, EMReel58, EMReel59, EMReel60, EMReel61, EMReel62, EMReel63, EMReel64)
        For i = 0 to 15
            aHide(i).visible = False
        Next
        Exit Sub
    End If
    If Table1.ShowDT then
        aDisplayTopLine = Array(EMReel1, EMReel2, EMReel3, EMReel4, EMReel5, EMReel6, EMReel7, EMReel8, _
                            EMReel9, EMReel10, EMReel11, EMReel12, EMReel13, EMReel14, EMReel15, EMReel16)
        aDisplayBottomLine = Array(EMReel17, EMReel18, EMReel19, EMReel20, EMReel21, EMReel22, EMReel23, _
            EMReel24, EMReel25, EMReel26, EMReel27, EMReel28, EMReel29, EMReel30, EMReel31, EMReel32)
        aHide = Array(EMReel33, EMReel34, EMReel35, EMReel36, EMReel37, EMReel38, EMReel39, _
            EMReel40, EMReel41, EMReel42, EMReel43, EMReel44, EMReel45, EMReel46, EMReel47, EMReel48)
        For i = 0 to 15
            aHide(i).visible = False
        Next
        aHide = Array(EMReel49, EMReel50, EMReel51, EMReel52, EMReel53, EMReel54, EMReel55, _
            EMReel56, EMReel57, EMReel58, EMReel59, EMReel60, EMReel61, EMReel62, EMReel63, EMReel64)
        For i = 0 to 15
            aHide(i).visible = False
        Next
    Else
        aDisplayTopLine = Array(EMReel33, EMReel34, EMReel35, EMReel36, EMReel37, EMReel38, EMReel39, _
            EMReel40, EMReel41, EMReel42, EMReel43, EMReel44, EMReel45, EMReel46, EMReel47, EMReel48)
        aDisplayBottomLine = Array(EMReel49, EMReel50, EMReel51, EMReel52, EMReel53, EMReel54, EMReel55, _
            EMReel56, EMReel57, EMReel58, EMReel59, EMReel60, EMReel61, EMReel62, EMReel63, EMReel64)
        aHide = Array(EMReel1, EMReel2, EMReel3, EMReel4, EMReel5, EMReel6, EMReel7, EMReel8, _
                            EMReel9, EMReel10, EMReel11, EMReel12, EMReel13, EMReel14, EMReel15, EMReel16)
        For i = 0 to 15
            aHide(i).visible = False
        Next
        aHide = Array(EMReel17, EMReel18, EMReel19, EMReel20, EMReel21, EMReel22, EMReel23, _
            EMReel24, EMReel25, EMReel26, EMReel27, EMReel28, EMReel29, EMReel30, EMReel31, EMReel32)
        For i = 0 to 15
            aHide(i).visible = False
        Next
    End If
End Sub

Sub UpdateDisplay(sTopLine, sBottomLine)
    Dim sChar
    Dim nReelValue
    Dim aTextLines

    aTextLines = Array(sTopLine, sBottomLine)

    If B2SOn Then
        for i = 0 to 1
            If len(aTextLines(i)) > 16 Then aTextLines(i) = Left(aTextLines(i), 16)
            for j = 0 to (len(aTextLines(i)) - 1)
                sChar = Mid(aTextLines(i), j + 1, 1)
                if Asc(sChar) > 127 Then sChar = " "
                Controller.B2SSetLED i * 16 + j + 1, aSegments(Asc(sChar))
            next
        Next
        Exit Sub
    End If

    for i = 0 to 1
        If len(aTextLines(i)) > 16 Then aTextLines(i) = Left(aTextLines(i), 16)
        for j = 0 to (len(aTextLines(i)) - 1)
            sChar = Mid(aTextLines(i), j + 1, 1)
            ' The reels use a non-standard character map, so make these substitutions
            if sChar = "_" Then sChar = ";"
            if sChar = "|" Then sChar = "."
            if sChar = "^" Then sChar = "?"
            nReelValue = Asc(sChar) - 32
            If i = 0 Then
                aDisplayTopLine(j).setValue nReelValue
            Else
                aDisplayBottomLine(j).setValue nReelValue
            End If
        next
    Next
End Sub

 

Can anyone help me to edit this to acheive the result I'm looking for?

 

Cheers,

 

Nursie







Also tagged with one or more of these keywords: Gladius, Trnsformers G1, display, led