IBM Music Feature Card/Yamaha FB-01

Developer's Forum, for discussion of bugs, code, and other developmental aspects of DOSBox.

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-15 @ 18:54

Quick update: the -midiout option on the regular MAME version of the FB-01 is broken because it collides with the MIDI thru option they tried to add.
In the AMAME fork the thru-option is commented out, and the -midiout option now works correctly, which also means you can make it dump data via SysEx.
AMAME still has the problem that it can't work with loopMIDI though.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby awgamer » 2019-3-15 @ 23:47

What's the setup to get it working without loopmidi?
awgamer
Oldbie
 
Posts: 567
Joined: 2014-7-26 @ 07:42

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-16 @ 12:27

awgamer wrote:What's the setup to get it working without loopmidi?


I'm using a real MIDI interface (E-mu 0404 USB), where I've connected its MIDI out to its MIDI in.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby awgamer » 2019-3-16 @ 12:59

You're piping mame emulating the fb01 through a real interface to dosbox? That's even more confusing.
awgamer
Oldbie
 
Posts: 567
Joined: 2014-7-26 @ 07:42

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-16 @ 13:11

awgamer wrote:You're piping mame emulating the fb01 through a real interface to dosbox? That's even more confusing.


Yes. The difference being that I now force the MIDI data to go through an actual MIDI serial cable at 31.25kbps, which I think is where the problem currently is (no flow control between Windows MIDI interfaces and the MAME emulation).
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-16 @ 14:33

It looks like LoopBe1 doesn't suffer from the same issue that loopMIDI has:
https://www.nerds.de/en/loopbe1.html

With this virtual MIDI loopback, it looks like DOSBox and MAME are working properly.
However, it doesn't sound entirely correct... Perhaps it just filters out large SysEx message. I don't get the 'dump/received' message on the display either.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-17 @ 14:57

I've created an issue for this bug at the MAME GitHub: https://github.com/mamedev/mame/issues/4769
I tried looking at the code quickly, but I can't see an easy fix. The actual problem is not in the FB-01 code itself, which is just a thin template that glues various chips together. The problem is probably deeper down in the MIDI emulation.
I am not familiar with how MAME works, so I have no idea how to implement a simple delay after every write, so that you can force a bitrate of no more than 31.25 kbps.
There's a good chance that this is not enforced in the firmware at all, because there's no need to, on a physical device. It will simply never receive data faster than that, because of the MIDI specification. The other side will take care of that.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby Trembyle » 2019-3-21 @ 00:03

Can the FB-01 emulation utilize NukedOPN2 in any way? Or is OPM/OPP just too different?
Trembyle
Newbie
 
Posts: 2
Joined: 2019-3-20 @ 22:58

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-21 @ 08:20

Trembyle wrote:Can the FB-01 emulation utilize NukedOPN2 in any way? Or is OPM/OPP just too different?


I'm not sure really. I suppose we won't know for sure until someone decaps an YM2151/YM2164 and checks the actual circuit.
You'd think that since they're all FM-synths, there should be similarities at least in the basic operators, and they use the same DAC (YM3012).
But other than that I have no idea. Currently I'm just using the YM2151 emulation from MAME. So if someone updates that with a more accurate emulator, it should be easy to rebuild the FB-01 emulator with that.
Apparently people are already working on the YM2151: https://github.com/cr1901/ym2151-decap
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-24 @ 17:27

Here is an early release of DOSBox with IBM Music Feature Card support, and a precompiled AMAME for the FB-01 emulation that is required:
https://www.dropbox.com/s/3bjyvb5imho6s ... C.zip?dl=0

In order to set it up, you need to do 3 things:
1) AMAME needs two ROMs for the FB-01 emulator, which I did not include because of copyright issues. You will have to find them yourself. One is the FB-01 firmware, which should be in a file called fb01.zip. The other is the firmware for the LCD controller, which should be in a file called hd44780_a00.zip. Place those two files in the 'roms' subdirectory under AMAME.
2) DOSBox needs to be configured to output to the correct MIDI device. In this version, there is no IMFC-specific section in the dosbox.conf file yet. I am re-using the MPU-401 configuration. So set up the MPU-401 as usual: under the [midi] section, you use the midiconfig=n option, where n is the index of the MIDI output device you want to use.
3) AMAME also needs to be configured to get input from the correct MIDI device. This is done by name. Run "amame64 -listmidi" to get a list of the names of the possible MIDI in and out devices. Then use the -midiin and -midiout parameters to pass these names. I have included an FB01.bat as example, just change the names to the name of your device, and you should be up and running.

You could also use a real Yamaha FB-01 instead of AMAME of course.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby bjwil1991 » 2019-3-24 @ 19:06

Whenever I try to run the fb01.bat file, it complains that a file: nec__-011_xb712c0__8709ex700__d27c256c-15.ic11 is missing.
Discord: https://discord.gg/U5dJw7x
Systems from C64 to FX-6300.
User avatar
bjwil1991
l33t
 
Posts: 2560
Joined: 2013-8-14 @ 03:10
Location: SE, MI USA

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-24 @ 19:18

bjwil1991 wrote:Whenever I try to run the fb01.bat file, it complains that a file: nec__-011_xb712c0__8709ex700__d27c256c-15.ic11 is missing.


Did you download the two zip files I mentioned in point 1) above? And did you put them into the roms folder?
I believe that file is referring to the fb01.zip contents.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby bjwil1991 » 2019-3-24 @ 19:29

Yes. Maybe I downloaded the wrong fb01 folder.
Discord: https://discord.gg/U5dJw7x
Systems from C64 to FX-6300.
User avatar
bjwil1991
l33t
 
Posts: 2560
Joined: 2013-8-14 @ 03:10
Location: SE, MI USA

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-24 @ 20:40

There should be a single ROM image file in there, in my case it's called fb01.bin, and it should be 32768 bytes.
You might be able to find one on this page: http://dbwbp.com/index.php/9-misc/37-synth-eprom-dumps
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby bjwil1991 » 2019-3-24 @ 21:10

I got the ROM and the corresponding files but when I run the fb01.bat file, this is what I get:

Code: Select all
hd44780_a00.bin ROM NEEDS REDUMP
WARNING: the machine might not run correctly.
Fatal error: Device MIDI In image device load failed: Unspecified error


FB01.BAT contents

Code: Select all
amame64 fb01 -midiin "UM-ONE | USB" -midiout "Microsoft GS Wavetable Synth | USB" -window


Did I do something wrong on here?
Discord: https://discord.gg/U5dJw7x
Systems from C64 to FX-6300.
User avatar
bjwil1991
l33t
 
Posts: 2560
Joined: 2013-8-14 @ 03:10
Location: SE, MI USA

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-24 @ 21:20

bjwil1991 wrote:Did I do something wrong on here?


You can ignore the message about the hd44780_a00.bin re-dump.

The second message is probably because you didn't use the exact names of your devices as listed in "amame64 -listmidi"?
The " | USB" suffix is actually part of the name on my E-mu 0404 USB driver.

You don't need AMAME at all though, when you want to use a real Yamaha FB-01. Just configure DOSBox to output to your MIDI device, and connect the FB-01 to it.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby bjwil1991 » 2019-3-24 @ 21:30

I updated the batch file and it doesn't complain any longer. Getting closer, however, I don't get any sound coming out. Do I need to add something to make it happy?
Discord: https://discord.gg/U5dJw7x
Systems from C64 to FX-6300.
User avatar
bjwil1991
l33t
 
Posts: 2560
Joined: 2013-8-14 @ 03:10
Location: SE, MI USA

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-24 @ 21:34

bjwil1991 wrote:I updated the batch file and it doesn't complain any longer. Getting closer, however, I don't get any sound coming out. Do I need to add something to make it happy?


The MIDI data should be coming out of DOSBox and into AMAME's FB-01. That is somewhat difficult to verify.
On my E-mu 0404 I have MIDI in and MIDI out leds, so I can actually see of DOSBox transfers any data.
As soon as DOSBox starts, it sends a few SysEx commands to the FB-01, because an IMFC boots up with the memory protection disabled, where an FB-01 has it enabled.
So you should see something happening right away, if all is well. You can use the System Setup button on the FB-01. Press it 2 times, and it should read "#1 Protect ON".
When you then start DOSBox, it should switch to OFF.
You can also see that in my video here, at about 1:08: https://youtu.be/t7dL80QLdfM
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

Re: IBM Music Feature Card/Yamaha FB-01

Postby bjwil1991 » 2019-3-24 @ 21:36

It doesn't turn the protection off when I start DOSBox. Possibly I missed something?

Do I need to set the midiinconfig or no?
Discord: https://discord.gg/U5dJw7x
Systems from C64 to FX-6300.
User avatar
bjwil1991
l33t
 
Posts: 2560
Joined: 2013-8-14 @ 03:10
Location: SE, MI USA

Re: IBM Music Feature Card/Yamaha FB-01

Postby Scali » 2019-3-24 @ 21:42

bjwil1991 wrote:It doesn't turn the protection off when I start DOSBox. Possibly I missed something?


How have you wired up the MIDI between DOSBox and the FB-01?
In my case, I configured DOSBox to output to the MIDI out of my E-mu 0404. I then put a MIDI cable from the MIDI out of the E-mu 0404 to its MIDI in.
Then I configure AMAME to use the E-mu 0404's MIDI in. The MIDI out isn't really relevant at this point. It would mainly be required if you want the FB-01 to dump data back to DOSBox, but that is not required for games.

Alternatively I've also used DOSBox with a real IMFC, where I connect the MIDI out of my E-mu 0404 to the MIDI in of the IMFC. That works the same as a real FB-01.

bjwil1991 wrote:Do I need to set the midiinconfig or no?


Not afaik. That's still experimental stuff, and again is only required for reading back data from the FB-01.
Scali
l33t
 
Posts: 4329
Joined: 2014-12-13 @ 14:24

PreviousNext

Return to DOSBox Development

Who is online

Users browsing this forum: No registered users and 2 guests