Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix CLCD init sequence for WS0010/RS0010 displays #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dwhinham
Copy link

Hi! 😄

Recently I've been building a MB6582 and wanted to use a modern Raystar OLED (part number REC002004AYPP5N00000).

This display doesn't work out-of-the-box unless the user jumpers the MB6582 PCB to use 8-bit mode, and then selects the Custom LCD driver by setting the PIC ID bits (see forum thread: http://midibox.org/forums/topic/20408-midibox-mb6582-newhaven-oled-finally-working-d/?page=1).

I thought I'd try to figure out why this display doesn't work with the standard 4-bit CLCD driver, and found that because an odd number of nybbles is sent to the controller, it doesn't function.

I compared the code with page 46 of the HD44780 datasheet and found that the init sequence doesn't quite match up. Obviously this has not been a problem for older LCDs as MIDIbox has existed for many years now and people have been using this startup code for a long time! But perhaps modern screens are fussier about the initialization:

image

This patch simply removes the extra nybble and duplicated Display Off command, and the OLED is now 100% fully functional:

midibox

The only issue is I don't have any older traditional LCD screens to double-check that this change doesn't break them - I was hoping you might be able to test this patch with some of your MIDIbox builds to verify the LCDs still work.

Thanks! (and also thankyou so much for the MIDIbox project, I've been wanting to build a SID synth for many years now and although I'm late to the party, I'm really enjoying it so far! 😃 )

Remove commands that appear to be an incomplete duplicate the of
commands that immediately follow (display off, display clear).

This fixes compatibility with modern OLED character displays based on
the Winstar WS0010 or Raystar RS0010 controller.

Tested with Raystar REC002004AYPP5N00000.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant