nickmaynard wrote:what about batsly's family midi?
I have been working on an Arduino shield for MIDI to NES / Famicom that will work with batsly's family midi ROM - the hardware is ready to go, life has just gotten in the way of finding the time to sit down and write the code:
...the shield has a MIDI IN socket and circuitry (1n914 Diode / 6n138 Optoisolator / 1x220Ω & 1x270Ω resistors) and a DB15 socket for connection to the Famicom expansion port (or for NES, add an expansion port to your NES like so, or make your own DB15 to NES controller cable, or connect through the DB15 plug on an ENIO) - the shield also has a 4021 shift register on board, so the actual code to communicate with the NES would be really simple, there is no need to try and make the Arduino struggle to match the exact timing of the NES controller port, all you have to do is set the eight bits on the shift register after every latch and just let the 4021 do its thing!
So, for compatibility with family midi, just take the standard Arduino MIDI Library, read in each byte of MIDI, and put the eight bits of that byte on to the eight Arduino pins connected to the shift register, then rinse and repeat on every latch!
This shield could just as easily act like a NES controller the way MCTRL does... there are so many possibilities! I've also found room for a Wii Nunchuk connector, so the shield could read in the Nunchuk buttons and then send them out as NES control pad button presses, or read the Nunchuk tilt data and emulate an Arkanoid paddle, or send MIDI continuous controller data, or whatever! With the extra interfacing you get through the NES expansion port as compared to the controller port, there are a lot more possibilities! Because of the potential for so many 'modes' I've also put 3 dip switches on board to allow for code that will read the state of the switches and change mode accordingly (and there is an RGB LED on board wired directly to the dip switches for quick and easy representation of the selected mode by color).
Anyway, the hardware side is done, and I can have these made for something like $8 each, just haven't made myself sit down and write the code yet... any volunteers? Any serious volunteers?