Possible to create a clone of the midi board using an FPGA?

Started by H68k, June 13, 2014, 07:16:01 PM

Previous topic - Next topic

H68k

This is something I've been wondering about for a while. as these expansion boards are in demand.. but becoming quite rare. (please bare in mind though, my understanding of this stuff is small)

Would it be possible to create a functional clone of the official sharp midi board built around an FPGA?

I don't personally have one to look over, but judging by the best pictures I've managed to find on the internet. both the official Sharp (and System Sacom clones) are built around a Yamaha YM3802 midi communications chip and some supporting TTL chips.

But my main question is though, how easily you create a functionaly identical clone of the YM3802 on an FPGA using data sheets and parts of the source code of XM6 that emulates the midi board as a clue about its internal workings?


lydux

This is something I have already studying. Of course it could be done !

The Yamaha MCS does not only feature midi communication (which is in fact nothing more but a serial port communicating at 31250 bps), it provides also other peripherals capabilities like timers, GPIO, cassette tape stuffs, ...
However, x68k midi drivers disassembly revealed to me that most of them use only the midi feature at the fixed 31250 bps and only for writing to a midi device.
My plan was to use a simple CPLD instead of an FPGA (because of voltage compatibility problems, and lower design cost) and implementing only the minimal requirements :
  - Control port / decoding logic
  - Implement some registers (Group 0 : interrupts, Group 5 : serial transmiter FIFO)
  - Serial communication
  - Maybe interrupt generation...
Even the configurable baud rate generator could be avoided.
The problem I faced was the FIFO which is 128 bytes wide, this is pretty huge for a simple CPLD ! (1 ram bit = 1 macrocell, so 128 bytes needs at least 1024 macrocells only for the FIFO)
Actually, I'm wondering if the whole FIFO is really used on the x68000. I don't think... To me, the reason why the MCS owns so many ram is to drive more than one midi device at a time. This is never our case.

There is an application manual for MCS around, it fully describes the chip. Try googling for "yamahaym3802am.pdf".

H68k

Oh.. so midi is nothing more than RS232 with a higher transfer rate? so this is what allows the RS232 port midi hacks for games to work with the X68ks on board serial controller already.

Agh.. the YM3802 is a little more "complex" than I first thought then... the only thing I was thinking about, was basic midi out functionality. a midi input would be a nice bonus though, but not really that necessary.

Could small scale production runs of these "clone" midi boards be viable? and some other expansion boards, like ram expansion (also much needed for these machines) and be sold at reasonable prices?

BlueBMW

Ive tossed the idea around of making a combo midi interface and ram board.  I dont know enough about the hardware side of things to know if one io slot offers enough connections to handle both.

parodius

It looks like this "Project Polyphoon" is an all in one MIDI, RAM and FPU expansion board.
http://page11.auctions.yahoo.co.jp/jp/auction/n132074805