Page 1 of 1

Miracle Piano on NES core

Posted: Sun Mar 21, 2021 12:56 am
by AntialiasedPixel
Anyone actually tried the Miracle Piano on the core via midi? A friend gave me a Miracle Piano/cart for the NES, works great on my real hardware, can't figure out how to get it to work on the Mister. I've got a M-audio uno usb to midi interface, but in the nes core, I don't see any serial options in the right menu. I do see a serial option I can set to snac, and some "periphery" options I can switch through, but not finding any documenation or recent stuff that seems to point me in the right direction. If it's not supported anymore that's fine, just figured it would be a fun weekend project since I've got the keyboard anyway!

Re: Miracle Piano on NES core

Posted: Sun Mar 21, 2021 3:57 am
by breakbeatscientist
I'm assuming it will only work with SNAC.

Re: Miracle Piano on NES core

Posted: Sun Mar 21, 2021 4:05 am
by darksakul
The NES does not have Midi support. There no way to use or add Midi support with the NES/Famicom

That said, for the Miracle Piano for the NES, you need a custom NES Controller port to 25 Pin Serial Male Connector
The 25 DB cable plugs into the upside down "Miracle port" on the back of the Miracle Piano

Someone did a full write up here.
http://www.racketboy.com/forum/viewtopic.php?p=588444

That said, the Miracle Piano can also be used on the SNES and Genesis with their own version of the "Miracle port" cable

There another write up here, it includes wiring guides for all the cables that can be used with the Miracle Piano
https://www.pianoeducation.org/pnompcab.html
https://atariage.com/forums/topic/154341-miracle-piano/

As for you Mister, just use the NES Snac options for the NES Rom
Likewise same thing for the SNES and Genesis versions.

I got no clue how to set up the Amiga or IBM-PC versions of the Miracle Piano on the MiSTer

There more on the Piano on here

https://www.youtube.com/watch?v=fXMY-XLa8s0

Re: Miracle Piano on NES core

Posted: Sun Mar 21, 2021 2:20 pm
by bbond007
darksakul wrote: Sun Mar 21, 2021 4:05 am The NES does not have Midi support. There no way to use or add Midi support with the NES/Famicom
breakbeatscientist wrote: Sun Mar 21, 2021 3:57 am I'm assuming it will only work with SNAC.
GreyRogue had added support for Miracle Piano. My understanding is that it works with a USB MIDI (MidiLink).

I have a Casio keyboard which differs enough from the Miracle Piano's use of MIDI protocol that I have not gotten it to fully work under Amiga, so never tried NES.

Re: Miracle Piano on NES core

Posted: Mon Mar 22, 2021 1:10 am
by darksakul
bbond007 wrote: Sun Mar 21, 2021 2:20 pm GreyRogue had added support for Miracle Piano. My understanding is that it works with a USB MIDI (MidiLink).
Maybe for PC/Amiga? When it comes to the Amiga I am a n00b.
According to the original documents the Miracle Piano hooks up to PC though a proprietary serial cable.

There no Midi support on the NES.

Re: Miracle Piano on NES core

Posted: Mon Mar 22, 2021 1:41 pm
by GreyRogue
darksakul wrote: Mon Mar 22, 2021 1:10 am
bbond007 wrote: Sun Mar 21, 2021 2:20 pm GreyRogue had added support for Miracle Piano. My understanding is that it works with a USB MIDI (MidiLink).
Maybe for PC/Amiga? When it comes to the Amiga I am a n00b.
According to the original documents the Miracle Piano hooks up to PC though a proprietary serial cable.

There no Midi support on the NES.
No. For NES.

https://github.com/MiSTer-devel/NES_MiS ... 50eb8d7431

I added a conversion from USB MIDI to the NES controller. It worked with both an original Miracle Piano and a Yamaha MIDI keyboard which I tested with a cheapo USB MIDI adapter (I've heard they can be built cheaply and possibly dangerously to use with some hardware; use at your own risk).
I haven't tried it in months, and it's possible it's broken by the recent overhaul to MIDI/serial communications. But builds back before the recent changes absolutely worked. The setup for the MiSTer_Main was identical to (for example) what was needed for Amiga (I also tried the Amiga version of the Miracle Piano software connected the same way).

The key addition needed is the NES header. It needs to have the Default Expansion Device set to MIracle Piano (byte 0xF=15 be set to 0x19=25):

http://wiki.nesdev.com/w/index.php/NES_ ... ion_Device
https://github.com/MiSTer-devel/NES_MiS ... S.sv#L1277

Re: Miracle Piano on NES core

Posted: Thu Apr 29, 2021 7:53 pm
by GreyRogue
Found a few minutes to test/fix this. It works again in the release today.
Go to the right page of options, Set the UART mode to MIDI, and MidiLink type to USB.
It will then play and receive midi through USB MIDI connections on the USB hub if the NES ROM loaded has the Miracle Piano specified in the header. (byte 0xF [dec 15] set to 0x19 [dec 25]).
You can also try using MidiLink in Local mode with a Soundfont loaded. It won't match the instruments correctly for the Miracle Piano ROM, but it will at least make some noises. For example, I grabbed the General User GS one included with mt32-pi, went to the practice room, switched to "Ode to Joy" and demoed the piece, and it sounded ok (though with quite a bit of lag).
I tried this one as well: https://github.com/DarkCecil82/Miracle-Piano-SoundFont , but it was considerably worse.