Failed firmware update

I was trying to install the firmware on a 2560 and there was an error in the code. I did a search and found a newer version of the firmware available "Marlin 1.1.0-RC8 - 6 Dec 2016" and did an install. Immediately upon finishing the the LCD module made a loud continuous whining noise, the LCD display is lit up but has two rows of black boxes and no text, I can not operate the i3 nor will it accept any firmware upgrades now. I've tried turning off the printer and it still nothing but a low whine from the LCD display.

error:

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

Sketch uses 51312 bytes (20%) of program storage space. Maximum is 253952 bytes.
Global variables use 2666 bytes (32%) of dynamic memory, leaving 5526 bytes for local variables. Maximum is 8192 bytes.
avrdude: ser_open(): can't open device "\.\COM3": Access is denied.

avrdude: ser_drain(): read error: The handle is invalid.

avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: ser_send(): write error: sorry no info avail
avrdude: stk500_send(): failed to send command to serial port
avrdude: ser_recv(): read error: The handle is invalid.

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
the selected serial port avrdude: stk500v2_getsync(): timeout communicating with programmer
does not exist or your board is not connected

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Update: I was able to flash an older version of Marlin 1.0x. However, the LCD remains blocked out and Repetier-Host V1.6.2 gives a fatal error when trying to connect. "Error:Printer stopped due to errors. Fix the error and use M999 to restart.". But at least the loud whining is gone.