Solved! I had the bias chain wired up backwards - VLCD3 was wired to the VSS end of the chain, and VLCD1 ended up wired to VCC. Needless to say, the LCD controller didn't like that... Now I just need to find a way to deal with the display update code. The segment ordering in LCDDATA[0:8] is a real mess, so I can't just use a jump table and throw the data straight into the relevant register :( Thanks. -- Phil. | Acorn RiscPC600 SA220 64MB+6GB 100baseT philpem@dsl.pipex.com | Athlon64 3200+ A8VDeluxe R2 512MB+100GB http://www.philpem.me.uk/ | Panasonic CF-25 Mk.2 Toughbook ... H2SO4 : Help, Help! Searing! Ouch, Ouch, Ouch, Ouch -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist