Recent HD44780 based LCDs fit directly to Wave2.3s and can easily be installed into Wave 2.2s. By removing the old HD43160A display controller and adding a 7421, a modern display will work just fine. The 2.2 and 2.3 firmware already have the proper intialization procedures and only need to be convinced to use them by a simple jumper wire.
PPGs Wave 2 was excluded from this upgrade so far because the EPROM code can only deal with the original HD43160A LCD controller. So the old chip has to go at first
Although the addressing and chip enable signals to the TAS board of the Wave 2 are somewhat different from the TAS82/83 in the 2.2 and 2.3, a valid enable signal for the LCD can easily be generated by addition of a 7421 chip as well.
But there’s still the problem with the firmware…
Fortunately, the HD43160A as a predecessor of the HD44780 uses a subset of its command set. Assuming the power-on-reset circuitry of the HD44780 on the new display works well, it would require one additional initialization command to be issued and another command to be modified. The space required for this modification including another delay loop was gained by removing the memory size checks for 6kByte and 32kByte borders, as all Wave 2s known to me have 12kBytes of RAM (excepting the sound RAM). So the memory test has been modified to check whether 12kBytes of usable RAM are available, otherwise throw a ‘9’ to the display to indicate an error.
There are two more locations in the firmware causing trouble: the HD43160A obviously needs the cursor to be re-enabled after some other operations, which is a command 04hex for the 43160. For the 44780 this means to write the characters from right to left, so these commands had to be found and were simply removed for now, as it does not seem necessary for the HD44780 to re-enable the cursor anymore.
Finally it was worth the trouble: