Eventide H3000/H3500 OLED update

The H3000 is one of the examples that shows us that common OLED displays claiming to be HD44780 compatible are not, in several aspects.

We have three faults here:

  • missing first line in most of the Soft Functions pages, caused by the fact that a Clear command (0x01) does not “home” the cursor, although the WS-0010 datasheet (the most common OLED controller) says it does
  • stuck text “in ]” above Soft Key 2 that results from the firmware copying screens by reading the DDRAM and writing it back when needed, using the auto-increment function of the controller which behaves differently between HD44780 and WS0010
  • wrong characters (Japanese symbols) due to the OLED having four character sets, with the needed not being default

While changing the character set is as easy as using 0x39 instead of 0x38 for the standard LCD init sequence, selecting the western european charset, the first fault already required a small subroutine that homes the cursor after clearing the screen.

I did not even try to shift around code in the EPROM to obtain the space needed for the additional home command because the disassembly gives hints that certain routines are called from without the main firmware. Instead, I modified the chip selection by fitting a larger PLD instead of the PAL16L8 used for address decoding. This way I was able to use the 256 bytes of unused space at 0x8200 for my own routines.

This was necessary especially as the second problem, the stuck text, required to replace the routines that read and write, respectively, the screen from/to the DDRAM by new code that initially reads the current internal address of the display, keeps track of it while the display is read or written, and inserts a command to re-position the cursor when the pointer would normally wrap around into the second line on a standard HD44780 display.

Finally, a working OLED in a H3000 (with H3500 firmware)

AKG ADR68k

An ADR68k showed up with multiple problems and a common symptom: no function, except from the remote telling it cannot find the main unit. The first obvious fault were broken ZIF sockets and an EPROM travelling the 19″ case. Replacing the sockets did not help much, as the power supply was starting to develop a high current smell.
The crowbar circuit tried to force down the linear +5V regulator which is good for up to 10 amps, causing the SCR to get very hot until it finally shorted out. The regulator uses a sense circuit with the power and regulator ground being seperately connected to the main board via a connector – this one:

I know those connectors in a similar or worse condition quite well from pinball games. In this case the resistance of the power return has increased, the regulator tried to compensate and finally lost against the crow bar.

A careful rework of the PSU, including replacement of previously installed cheap capacitors, soldering the wires directly to the main board brought the unit back into operation.

But there still was a input level indication without any signal. It turned out that the PCM53-I DAC in the ADC circuit had an offset on the output and needed to be replaced.