Connecting (Anet A8) 2004 display to MKS GEN L Was anyone able to connect the default Anet A8 (2004) display to a MKS GEN L? 

I've tried direct connection with re-wiring, and see white squares there, but I'm only able to see white squares on the screen as on screenshot:



Wiring:



The code that is currently used for the display :


Config.h uses #define ZONESTAR_LCD. 
Also #define MOTHERBOARD BOARD_MKS_GEN_L
Config_adv.h uses #define LCD_PROGRESS_BAR
Pins were left as they were in config file.


Also I've tried replacing them with this numbering (which comes from MKS spec):

35  16  25  29  5V
37  17  23  27  GND
I've got the Anet A8 display working on a RAMPS 1.6 (which basically works exactly the same as a RAMPS 1.4 board). Note that at first connection I got exactly the same display when I connected the LCD to the EXP1 and EXP 2 headers using the "smart adapter".

To get the Anet A8 display working on a MKS GEN L (which is basically a RAMPS board as the pin layout of the RAMPS configuration are used in the firmware of the MKS GEN L) you need to forget about the EXP1 and EXP2 headers and the "smart adapter" for the Anet A8 display. Instead you need to connect the Anet A8 display to the AUX2 header. The only thing you would have to do (from the hardware side) is to switch the cables that are connected to the pin 1 and pin 2. I used Dupont connectors and cables. Pin 1 on AUX2 is VCC and pin 2 on AUX2 is GND, this is reversed on the Anet A8 display.

From the software side you need to set the following constants:

#define ULTRA_LCD   // Character based


and

#define ZONESTAR_LCD




Please note that in the photo you still see the "smart adapter" with flat ribbon cables, but they are not connected to a screen, the reason for them being there is I also tested the full graphic discount controller in a previous session. The Anet A8 display is connected to the flat ribbon cable on AUX2 just above the top-left most stepper driver.



UPDATE:
At the time of writing and the use of an older Marlin version, this required to set #define ULTRA_LCD. In Marlin 1.1.9 you do not need to set #define ULTRA_LCD explicitly, this is now intrinsically set by #define ZONESTAR_LCD. To elaborate on this, the #define ZONESTAR_LCD sets the constant #define ULTIPANEL which sets constant #define ULTRA_LCD in Conditionals_LCD.h.