Also, the 1-line devices use a different multiplex rate than the 2-line devices and yet another multiplex rate when run with the 5x10 character set. This will mess up the contrast introducing another aspect that would have to be dealt with as well.
Well now, you have forced me to read through the whole HD44780 datasheet - and be up well past midnight. :astonished:
As far as I can see, the two alternate character sets have no effect on the configuration of the display memory ("DDRAM") as the necessary outputs for 5x10 are already provided by the main controller chip. The only reason to use a second chip with the HD44780 would seem to be to produce a contiguous 16 character line, ignoring the superfluous outputs. The different bias levels are inherent in (fixed by) the module design and the contrast voltage, likewise.
I therefore cannot see how there can be any other configuration difference between one module and another with different numbers of rows per character, given that each is a 2-chip module. And the enquiry here appears to be specifically in regard to composing new firmware, not fitting a new display to existing, fixed firmware.
OK, update on that:
I've looked at the data sheet for every new 16x1 LCD I can find for sale and they all seem to break the 16 characters into two sets of eight.
I did just notice that one of my displays has the Sanyo auxiliary controller I mentioned earlier and one has the Hitachi 44100H. The new LCDs just have a single blob.
In summary of my comments previously, I think you will find that the "single blob" or single chip displays will in fact, divide a 16 by 1 display into two quite separate "lines" of 8, whereas one with two "blobs" or chips will handle a 16 by 1 display as a single line.
To handle scrolling on any form of two line display - and it is a not uncommon topic here - you will have to maintain an external buffer (or arrange to read characters out of the LCD) in order to deal with rollover from one "line" to the other. I do not think any of the libraries have considered the substantial extra complexity worthwhile to justify this inclusion.