I've successfully flashed Marlin 1.9.1 onto a Melzi v3.5 board (the stock board for my Monoprice Maker Select v2 (v2.1?, a white-labelled Wanhao i3 Duplicator).

Initially after the flash succeeded the LCD displayed was "garbled".  The right side, in particular, had lots of pixels out of place.  I was able to resolve this by experimenting with some delay variables.  Prior to the flash the LCD was 100% working--to my knowledge no damage happened while I had the machine apart.

Here's my changes to `Configuration.h` from Marlin 1.9.1, excluding anything to do with X/Y/Z/E, etc (irrelevant stuff).  

    #define MOTHERBOARD BOARD_MELZI
    #define SDSUPPORT
    #define REVERSE_ENCODER_DIRECTION

    //
    // LCD for Melzi Card with Graphical LCD
    //
    #define LCD_FOR_MELZI
    
    // Increase delays to fix garbled LCD
    #define ST7920_DELAY_1 DELAY_NS(0)
    #define ST7920_DELAY_2 DELAY_NS(100)
    #define ST7920_DELAY_3 DELAY_NS(200)

The display is much better, however there are about 4x rows of pixels through center of the display running left to right that *mostly* don't display.  There are little sections--perhaps 20x pixels (maybe 3%) that do appear to be displaying.

Here's a photo of the problem:
[![Marlin 1.9.1 on Maker Select v2 with missing LCD rows][1]][1]

Are there any other typical culprits?  Based on what I've read it sounds like this is a recent(ish) issue with Marlin, and perhaps would be solved with an older version or a different firmware.

Here's a photo--if you look closely you can see the 'dead' rows, with about 6x pixels work

**PS.**  While troubleshooting I added shielding to the LCD's ribbon cable (foil wrapping the cable, grounded, and wrapped with electrical tape).  It didn't help, but I left it on.


  [1]: https://i.sstatic.net/DRfRi.jpg