Hantronix 20x4 with 16 CGRAM?

According to the datasheet for the Hantronix HDM20416L-M-L30S this 20x4 display supports 16 custom characters. I have this display working using the latest LiquidCrystal library, but I want to use all the available CGRAM locations. Anyone know how I can modify the LiquidCrystal library to support this?

The datasheet is here:

http://www.hantronix.com/files/data/1278556880char-comm.pdf (look at page 8 of the PDF)

As an experiment I tried using createChar() to load characters in to locations 8-15, but they overwrote the characters I had loaded into locations 0-7.

You are experiencing what is called "memory foldback" which can also be described as redundant addressing. In this case memory addresses 00 - 07 and 08 - 0F access the same locations because the high order address bit is not used. This is the case for all of the HD44780 controllers and their derivatives.

When I look at that page 8 of your datasheet I see the number (5) at address 0000 0100 and I also see the number (5) at address 0000 1100. This means that both address 04 and 0C access character 5.