Creating an alternative display for the Ensoniq EPS16 + and ASR10 synthesizer / sampler

    Hi, Habr!

    Here I will talk about one (unfortunately still unfinished) project to create an alternative to the standard display Ensoniq EPS16 + and ASR10.

    A little background: Actually the reason for the emergence of such a project is simple: the lack of spare parts for these old people. Ansonik used its custom VFD displays in them, and since the company's history actually ended in the late 90s, there is no way to acquire such a new display. In addition, the situation is aggravated by the fact that the company itself was extremely closed and there were no manuals with basic diagrams for models newer than 90th, repair was assumed to be modular, the faulty module in an authorized SC was removed, sent to the factory, and from there came a new / refurbished. This is a big difference from other manufacturers, for all the other iron synthesizers / samplers that I had - there is an opportunity to find a concept.

    In general, for the start, I had my ASR-10 as a reference and I also bought inexpensively through the free classifieds website the EPS16 + rack version with a broken screen, and I began to revive it.

    All that was known from the scrappy service manual is that the sampler motherboard transmits through a serial port to the keyboard board, which in turn, through a certain synchronous channel, transmits information to the display.

    Through trial and error, I found the pins on which the levels changed at the time of data transfer to the display. Having produced the simplest logic analyzer from Arduina, I calculated that the transmission speed is approximately equal to 60kbit / s.

    I went along a simple path and connected a USB-Serial with ttl outputs and of course, with the old memory I set the nearest 56k, the modem speed familiar from ancient Internet times. But the data was broken and unreadable. Through trial and error, as well as some logical reflection (namely, multiplying the midi 31250 speed by two), the desired speed of the serial port was calculated. But here the usual USB-Serial did not fit - in its drivers there is no possibility to choose the desired speed.

    Arduin came to the rescue again. At its base, I made an adapter from a hardware 62500 to a software 9600, adding the already mentioned USB-Serial to the Arduin, calculating in passing that Ansonik uses a 7n1 package. And now the data sniffer is ready.

    Then it turned out to be a matter of technology, having experience with ASR-10 on another arduin with a 240x64 display connected and the U8glib library quickly sketched the location of characters on the display,

    cleared the commands, but at one point everything got up when I ran into an incomprehensible glitch with the disappearance of characters. For two weeks he struggled with his understanding, until it came to the conclusion that in the standard Arduin's buffer, the entire team could not fit in some cases, which had to be patched by HardwareSerial.h, after which everything worked more or less (which took even ten more nights).

    After that, I connected the arduin with the display and the sniffer to the ASR-10, drove a few scripts and clarified all the commands for full compatibility. In fact, the software part was ready, it remained to finish the hardware to something more or less decent.
    But then fate made a sharp turn and I changed my main job to a banking organization, with all the ensuing consequences in the form of dresscode, tight schedules, and most importantly, cool information security. In general, it was no longer possible to combine the main work with a pair of non-core ones and there was simply no time left for the project.

    For two years, I tried to somehow find time for it, but in the end I realized that nothing would work out and today I published the source code on GitHub , maybe they will be useful to someone in the future.

    Also popular now: