VOGONS


First post, by Delphius

User metadata
Rank Member
Rank
Member

Project page can be found here: https://github.com/RetroLoom/sed1200emu

Original post:
Hello Vogons,
I became interested it MT32 display replacements a while back but have only found a few mentions here and there about any current projects. I have ran across this sed1200emu project a few times but there is very little information and documentation about it.
http://sensi.org/~tnt23/sed1200emu/index.html
So to satisfy my own curiosity I decided to take some initiative and try and build one of these, and maybe get the ball rolling on some options and collaboration for something like this. My displays work fine on both of my MT32's, but I wouldn't mind preparing for a replacement or finding something that looks cleaner and brighter than what is stock.

I have PCB's built, IC's programmed, most things plugged in, but I am stuck and do not wish to continue without more information and planning for what to do next.

The attachment sed1200emu test 1.jpeg is no longer available
The attachment sed1200emu test 2.jpeg is no longer available
The attachment sed1200emu test 3.jpeg is no longer available
The attachment sed1200emu test 4.jpeg is no longer available

Everything powers on with the new display with a seemingly initialized row, but data does not seem to be registering from the MT32. I have two ideas that could be causing this.

First, I am not certain if the oscillator I chose is functioning properly. When measuring with the oscilloscope it seems to be all over the place and not produce a solid sine wave. I think this will be the first thing to troubleshoot because I am certain this needs to be working correctly. I am not very familiar with oscillators so it has been difficult for me to know exactly what is required.

Second possible issue is that there are about 6 single pins available on the backpack PCB that are labeled SCK0, SCK, MISO, MISO0, MOSIO, MOSI that I am not sure are required or not for function. The project page does not mention anything about these, or where they might patch to the MT32 if required. I have been scanning through the MT32 service manual trying to see if there is a clear easy spot, but I am not willing to poke around and test without knowing for certain. The project page does mention that there are ground pins that need to be connected for continuity, and those were absolutely required to get the display to power on, but the other pins aren't mentioned.

edit: Also, there is a reset pin on the backpack that may need to be connected but there is no mention on the project page. Reset is high on the atmega, so it may need to be pulled low or connected to MT32 reset line. But so far grounding this to low doesn't have any affect.

Schematics and PCB are available on the project page if anyone cares to take a look, and I can also share some of the files and mouser links to parts that I used if anyone is interested in helping along. I have also sent an email to the project developer and waiting to hear back about any further information.

Last edited by Delphius on 2025-01-30, 17:12. Edited 1 time in total.

Reply 1 of 7, by SquallStrife

User metadata
Rank l33t
Rank
l33t
Delphius wrote on 2024-02-09, 16:56:

Second possible issue is that there are about 6 single pins available on the backpack PCB that are labeled SCK0, SCK, MISO, MISO0, MOSIO, MOSI that I am not sure are required or not for function. The project page does not mention anything about these, or where they might patch to the MT32 if required.

These would just be for in-system programming of the MCU. I.e. if you have the ATMega AVRISP, or a USBasp or similar device.

VogonsDrivers.com | Link | News Thread

Reply 2 of 7, by Delphius

User metadata
Rank Member
Rank
Member
SquallStrife wrote on 2024-02-14, 21:59:
Delphius wrote on 2024-02-09, 16:56:

Second possible issue is that there are about 6 single pins available on the backpack PCB that are labeled SCK0, SCK, MISO, MISO0, MOSIO, MOSI that I am not sure are required or not for function. The project page does not mention anything about these, or where they might patch to the MT32 if required.

These would just be for in-system programming of the MCU. I.e. if you have the ATMega AVRISP, or a USBasp or similar device.

Thank you for confirming this. I had somewhat assumed something like this originally which is why I had not populated them yet. This build uses an ATMega which I also have little experience with programming. Which also reminds me that there isn't much in the documentation about what flags need to be set for this to work properly. I may end up needing to tap into those to change patch some things.

Reply 3 of 7, by Delphius

User metadata
Rank Member
Rank
Member

I would like to dig this project back up and hopefully get a little help with it. Overall some of these things are very new to me, but it would be nice finishing this as an option for a display replacement or upgrade for the MT32. I have not heard back from the original developer for help or permission to reuse this and post it on github. I would like to make it open source but there does not seem to be any clear license attached to it. I might try to reach them again. I was able to import the original design files into KiCad if anyone wants to take a closer look.

At the moment the display powers on and seems mostly correct. But there are two different things I am considering as problem areas for the build so far.

  • When probing the quartz crystal I am not getting any sign of a sine wave. Just a flat line. I think either I used the wrong type of crystal all together or I used the wrong capacitors attached.
  • Or I did not program the ATMEGA correctly or it is also the incorrect type.

Here is the link to the mouser project I used to order the parts if anyone is interested in taking a look and correcting anything that is wrong.
https://www.mouser.com/ProjectManager/Project … ssID=9896f5d5b2

Here is a screenshot of the schematic and BOM list exported from KiCad.

The attachment kicad_OUqT64gnrD.png is no longer available
The attachment soffice.bin_cGEdcH1lMD.png is no longer available

Thanks in advance for any help with this.

Reply 4 of 7, by Delphius

User metadata
Rank Member
Rank
Member

So I have done a little more research on this and found that it would be more appropriate to use a 16pf crystal instead of a 22pf like the one I am using. I will switch the crystal out and see if that gets me a proper clock.

Otherwise it also seems that the ATMEGA8L-8AU is also the correct choice of ATMEGA8L-8AI as a drop in replacement. I feel pretty confident that I programmed it correctly, but I will go ahead and purchase a second one for experimentation and in case I need to swap it out for any reason.

Reply 5 of 7, by Delphius

User metadata
Rank Member
Rank
Member

I am not sure if anyone is following along with this, but I am happy to report that I was successful in getting this project working!

I spent some time updating the PCB and cleaning up the symbols and footprints that were converted over from the original schematics. There were a few issues with the first production unit, including ground wires that did not seem to be connected to the ATMEGA8. After getting things put together I was still disappointed that things were not working, so I had to deep dive into how to properly configure the ATMEGA8 to use the external crystal and to make sure everything had been flashed correctly. It seemed I was getting closer, but using the HEX file that came from the original website I wasn't able to get any signal on the output of the ATMEGA. So I dove into the source code and updated it to compile under WinAVR / avr-gcc and started doing some testing. It took a little tweaking and trial and error, but I was excited to find out that it was worth the hard work. Everything seems to be working perfectly now and the display is nice and clear.

The attachment sed1200emu working.jpeg is no longer available

This was the first step I had planned out for this project, next will be figuring the logistics for mounting it properly into the MT32. This might be easier said than done because unfortunately this LCD is quite a bit larger than the original so very little chance it will be a drop in replacement. So I am considering what options might be available at this point. One option would be to 3D Cad and print a new styled front face place for the entire MT32 that can handle the screen size. I do not have experience in this area so if anyone is interested in trying it out, please let me know. Otherwise, a 16x2 display might be easier to fit into the original mounting with a few adjustments. Both of these options would require some type of mounting to be designed since the 16x2 LCD is also not a perfect fit. The other issue with a 16x2 is that it would require different programming to fit everything onto the screen. The original is 20 characters wide, but does not seem to utilize the second row. It would be possible to create a 16x2 with scrolling to compensate for any excess characters, or force the excess characters to the second row. Neither of those options seem ideal, but it might be nice to have the option for one or the other. I could also play around with detecting empty characters and removing them for situations like the Master Volume screen like the one displayed in the photo. It would be easy to clear up a few characters that way.

I have been preparing a github repo for all of this progress and I plan to post it publicly after I get a few things cleaned up and a bit more documentation of how to create and program the module. If anyone is interested in helping out or playing along, please let me know!

Reply 6 of 7, by zuldan

User metadata
Rank Oldbie
Rank
Oldbie

Very interesting project. I think this will help us in years to come when these displays start to die. Please keep updating us 😀

Reply 7 of 7, by Delphius

User metadata
Rank Member
Rank
Member

I have finished putting together a repo with some minimal documentation and decided to make it public. Anyone who is interested can find the project here.

https://github.com/RetroLoom/sed1200emu

This latest revision cleans up a few things with a few additions like serial UART for debugging, better pin layout for serial programming, a dedicated reset jumper, support for single row display header, and a couple of standoff mounting holes to help support the weight of the sed1200emu while inserted into the MT32. If anyone has questions on any of the processes, let me know and I will try to add it to the readme.