MSX Audio BIOS v1.2 - Beta testers wanted

Page 2/2
1 |

Par sd_snatcher

Prophet (3642)

Portrait de sd_snatcher

20-10-2007, 17:29

You're right Manuel. Sorry, NYYRIKKI. Here it goes again:


So... Do I understand correctly, that this BIOS does not work if you don't have 256KB sample RAM?

Short answer: 256KB of SampleRAM is not required. It works fine with less than that.

Detailed answer:

The MSX-Audio BIOS was designed in a incredible flexible way. It is much more flexible to detect its supported storage sizes than, say, the ExtBIOS of the MSX2 (this one only support fixed sizes of VRAM: 16KB, 64KB or 128KB and never supported the 64KB extRAM to sum up to 192KB). The extROM is also not flexible on its devices support: only one V99x8 connected to the same MSX and only on a hardcoded set of I/O ports (normally 98H).

The MSX-Audio BIOS, in other way, natively detects and support any the following configurations:

- One or two Y8950 at the same time, either on the primary set of ports (C0h/C1h) or secondary (C2h/C3h)
- Any size of SampleRAM (0KB to 256KB) on the 1st Y8950;
- Any size of SampleRAM (0KB to 256KB) on the 2st Y8950;
- Any size of SampleROM (0KB to 256KB) on the 1st Y8950;
- Any size of SampleROM (0KB to 256KB) on the 2st Y8950;
- Any size of AudioROM (0KB to, I believe, 7MB) on the same slot the BIOS is.
- 16KB, 64KB or 128KB of VRAM (yes, it can store samples on the VRAM!)

Obs: Only the main RAM seems not to be detected. Memory mapper is not supported.

It also natively supports MIDI, although this is not available on the Panasonic FS-CA1. In this case only the MIDI hooks are called. I believe it would be possible to add support for the Music Module MIDI ports using this, but, again, this would depend on the MSX community interest. It will require a lot of effort since I know very little about the MIDI standard implementation and also I know nothing about the Music Module MIDI interface. It' s a lot of knowledge to learn (IOW: time to invest) and I certainly will not waste time going this way if there' s no interest.

The BIOS is also very flexible for adding support for new devices. Currently it supports:

PLAY#0: PSG
PLAY#1: MIDI
PLAY#2: Y8950+PSG
PLAY#3: Y8950+PSG (I don't know the difference from the #2)

I believe it's possible to extend it to support to, say, the OPL4-wavetable of moonsound and even the SCC. Something like:

PLAY#4: OPL4-wavetable
PLAY#5: SCC

- - - - -

To finish this post, I have a good new feature to announce: The long expected CALL MUSIC support. After the _FAKEMUS idea from NYYRIKKI I got some time to think about an elegant solution for this problem. I came up with this one and hope you like it:

The BIOS now support the CALL MUSIC statement. But instead of enabling the CALL MUSIC after the CALL FAKEMUS, I opted to start recognizing the CALL MUSIC statement after the 1st CALL AUDIO is issued and initializes the MSX-Audio, like any other MSX-Audio BIOS command. This allowed me to solve two problems at the same time:

1) Make things easy for the user, so one will not need to change the CALL MUSIC commands by CALL AUDIO anymore. I wanted to be sure the solution would not result in blocking the MSX-Music from receive its activation command.

2) The MSX-Music BIOS was quick-and-dirty done, and when there' s both MSX-Audio and MSX-Music BIOSes on the same MSX, there where a situation where the MSX would freeze: Without this feature, after the 1st CALL AUDIO is issued, any subsequent CALL MUSIC would be caught by the MSX-Music BIOS and the MSX would lock on the next PLAY#2 command. This is now fixed.

There's only one situation of this CALL MUSIC matter I can't solve: The MSX-Audio BIOS must be installed on a lower slot than the MSX-Music BIOS, otherwise the MSX-Music BIOS will caught the CALL MUSIC statement before I can do anything. This is particularly the case of the Turbo-Rs, since the internal MSX-Music is placed at slot 0.3.

Here are the files. Those are the 1.2pre4 version, which I believe its very close to what will be the final 1.2. I just need to be sure that the Music Keyboard routines are working as expected. I forgot to number that previous release on this forum thread, but it was 1.2pre3.

http://frs.badcoffee.info/files/MSXAUDIO12_FS-CA1.pre4.ROM.zip
http://frs.badcoffee.info/files/MSXAUDIO12_HX-MU900.pre4.ROM.zip
http://frs.badcoffee.info/files/MSXAUDIO12_NMS-1205.pre4.ROM.zip

Par Retrofan

Paragon (1339)

Portrait de Retrofan

18-04-2010, 11:31

What's this?
Is this some software upgrade that you could load into a SCC cartridge (Snatcher or SD Snatcher) to play MSX-Audio BASIC musics using a external Philips Music Module?

Nope. Much better. Smile

It's new BIOS to be used on a Music Module (NMS-1250), Panasonic MSX-Audio (FS-CA1) or Toshiba MSX-Audio (HX-MU900).
On a Panasonic one, it's a drop-in replacement. Remove the old EPROM, put the new one.

For the Music Module and the Toshiba MSX-Audio, the following upgrades are required:

http://www.msx.org/MSX-AUDIO-BIOS-for-Philips-Music-Module.newspost2931.html

http://www.msx.org/256KB-SampleRAM-and-MSX-Audio-BIOS-on-Toshiba-HX-MU900.newspost4458.html

@sd_snatcher: is there a possibility to use this ROM or an adapted one which can be loaded into the MegaFlashROM SCC cartridge for use with Philips Music Module? Maybe it's even possible to make a TSR-version of it with use of MemMan? I would like to play FM-Basic songs on it, but prefer not to solder. This way you also can easily update the ROM using the MegaFlashROM if a new version comes available. Thanks.
PS: is the SCC already supported? (play #5?) Then we can use the MegaFlashROM for both purposes! Wouldn't that be great?!

Retrofan

Par sd_snatcher

Prophet (3642)

Portrait de sd_snatcher

19-04-2010, 06:03

@sd_snatcher: is there a possibility to use this ROM or an adapted one which can be loaded into the MegaFlashROM SCC cartridge for use with Philips Music Module? Maybe it's even possible to make a TSR-version of it with use of MemMan? I would like to play FM-Basic songs on it, but prefer not to solder. This way you also can easily update the ROM using the MegaFlashROM if a new version comes available. Thanks.

From time to time someone asks a question similar to this. Sometimes about loading the ROM on a MegaRAM, sometimes on a MegaFlashROM.

The answer is, unfortunately, that it's not possible without a massive rewrite of the BIOS, that would be incompatible with the original one. This happens because the BIOS was designed to rely on a very particular combination of ROM and RAM on the same slot, and the RAM is mirrored on both frame-0 (3000h) and frame-1 (7000h). Without all this requirements met, the BIOS doesn't work.

If you're afraid of soldering, you can buy the upgrade board and ask Repair-bas to install it.


PS: is the SCC already supported? (play #5?) Then we can use the MegaFlashROM for both purposes! Wouldn't that be great?!

Nope, the SCC isn't supported and probably will never be. The BIOS development was very hard work and is currently halted due to the lack of interest by the MSX community. I can't blame them, so I'm just using my time on projects that people do get more interested, like the recent translations, HD-versions and TurboFixes.

Par ro

Scribe (4902)

Portrait de ro

19-04-2010, 11:51

Great work SDS!

Par luppie

Paladin (869)

Portrait de luppie

14-03-2011, 21:25

*1: The HX-MU901 cannot be directly connected to a NMS-1205 without an adapter. The same applies to the NMS-1160 to be connected to either the HX-M900 or the FS-CA1. Those adapters are simple to build and I can publish its schematics if anybody wants.

@sd_snatcher : Can you publish the converter to connect a toshiba keyboard on a Philips Music Module ?
I would love to build such a converter for my keyboard.

Par sd_snatcher

Prophet (3642)

Portrait de sd_snatcher

16-03-2011, 00:59

@luppie

Sorry for the delay to answer, I had to look into some very old backups to try to find it.
Unfortunately, I don't have the schematics anymore, as they were only drafts...

But the good news is that I found and published the pinout of the connectors so you can easily build yourself an adapter like this one:

frs.badcoffee.info/files/MSX-Audio/docs/Music-Keyboard%20adapter.jpg

As you can notice, you'll only need:

1) Both male and female connectors
2) A small circuit breadboard
3) Soldering the wiring

There are two pins that the HX-MU900/FS-CA1 connector have and the NMS-1205 don't, but they're not needed for the normal keys. Just don't connect those two pins.

If you can and have the hardware, please test the following combinations for me:

- Philips Music Keyboard connected to a NMS-1205
- Toshiba Music Keyboard connected to a NMS-1205 (with adapter)
- Philips Music Keyboard connected to a HX-MU900 (with adapter)
- Toshiba Music Keyboard connected to a HX-MU900

Par luppie

Paladin (869)

Portrait de luppie

16-03-2011, 01:27

Thanks SD

I already bought the harware and hope to build it Sunday.
The following conditions I can test for you :

- Toshiba Music Keyboard connected to a NMS-1205 (with adapter)
- Toshiba Music Keyboard connected to a HX-MU900

I'll keep you posted.

b.t.w. if you want to take this offline my mail address is : e.f.luppes (weird thingy that looks like an a with a circle around it) luppie.net

Par sd_snatcher

Prophet (3642)

Portrait de sd_snatcher

17-03-2011, 03:53

Ok, tks! Smile

Par sd_snatcher

Prophet (3642)

Portrait de sd_snatcher

18-03-2011, 22:47

A really great help for this MSX-Audio BIOS enhancement project would be if someone could translate the following pages of the MSX-Datapack vol.2:

- MSX-Music Intro: pages 221 to 224 (4 pages)
- MSX-Music FM BIOS: pages 244 to 254 (10 pages)
- MSX-Audio Intro: pages 277 to 282 (6 pages)
- MSX-Audio MBIOS: pages 348 to 429 (81 pages)

Currently, one can find a lot of information about the MainBIOS, the SubROM, DiskBIOS and so on, but those two Music/Audio BIOSes are an important part of the MSX standard that remains obscure because they have almost no English documentation at all.

Par Retrofan

Paragon (1339)

Portrait de Retrofan

25-06-2011, 16:40

@sd_snatcher: is there a possibility to use this ROM or an adapted one which can be loaded into the MegaFlashROM SCC cartridge for use with Philips Music Module? Maybe it's even possible to make a TSR-version of it with use of MemMan? I would like to play FM-Basic songs on it, but prefer not to solder. This way you also can easily update the ROM using the MegaFlashROM if a new version comes available. Thanks.

The answer is, unfortunately, that it's not possible without a massive rewrite of the BIOS, that would be incompatible with the original one. This happens because the BIOS was designed to rely on a very particular combination of ROM and RAM on the same slot, and the RAM is mirrored on both frame-0 (3000h) and frame-1 (7000h). Without all this requirements met, the BIOS doesn't work.

Who can rewrite the BIOS so it can be loaded into the MegaFlashROM SCC without having to solder? This could also be handy if there are upates so you don't have to replace the EEPROM every time. Anyway, great job SDS!

Page 2/2
1 |