MSX-Audio BIOS 1.3

by sd_snatcher on 04-10-2011, 10:48
Topic: Hardware
Languages:

A new version of the unofficial upgrade for the MSX-Audio BIOS was just released. It's been a productive year for sd_snatcher. Now that real life duties are knocking on his door, he'll have to shift priorities. As such, this will his be last production for 2011, and he may not even have time to provide lots of feedback. It's thus recommended that you'll read the readme.txt and its FAQ. Lots of new features and fixes grace this new version:

  • Lots of bugfixes and optimizations in general
  • Enhanced Instrument set, from the MSX-Music BIOS
  • Support for OPL3 soundchips (and OPL4fm)
  • Support for stereo sound
  • The new WaveSelect parameter of OPL2/3/4 soundchips (register E0h) is now supported on instruments, on its parameter +21 (1st operator) and +29 (2nd operator), allowing enhanced custom instruments
  • Brand new SoundChipFish extension. This is a soundchip translation library that supports on-the-fly translation of commands between the following soundchips: OPLL->OPLn (YM2413 to YM3527/Y8950/YM3812/YMF262/YMF278), AY-3-8910 to OPL3 (OPL4fm included, of course)
  • Software compatibility with the MSX-Music BIOS. All games/tools that use the MSX-Music BIOS INIOPL/WRTOPL functions will work with this BIOS, as the BIOS will use the built-in SoundChipFish library to translate OPLL commands to OPLx commands on-the-fly! This is meant to end years of incompatibility created by a bad design decision when the MSX-Music was created. Hopefully this this reducess the confusion that always afflict many MSX users. Of course, programmers need to respect the MSX standard to take advantage of this (use the BIOS instead of direct hardware access).
  • This means the following MSX-Music games will work just fine on any device containing the MSX-Audio BIOS v1.3, and will even be played in stereo on OPL3/4 cartridges: Penguin Kun Wars 2, Dante2, Lübeck, Sea Sardine, Fleet Commander 2 (requires the patch to fix a race-condition that the game had on its initialization routines), Gladius
  • ..and the recently released FireHawk-HDD. The translation is light enough, so a game like this runs better than the original DSK version even while translating OPLL to OPLn commands. For simultaneous OPLL->OPL3 and PSG->OPL3 translation, at least a 5.37MHz Z80B is recommended though.
  • This new version is bigger now and requires a 64KB ROM. The Philips Music-Module upgrade board already supports this. It's just a matter of installing a 27C512 EPROM and jumping the board accordingly. For the Toshiba Music-Module, a small mod of the upgrade will be required.
  • Because of the bigger ROM requirement, the Panasonic FS-CA1 isn't supported anymore. If anyone ever releases a guide on how to upgrade this cartridge to support this version of the BIOS, then it may be supported again in future versions (only if openMSX emulates the upgraded FS-CA1).
  • Dual-OPL support was removed, because it was slow, buggy and didn't add new FM channels to be used. But many of the routines were fixed, paving the road for real dual-OPL 18 channel support in the future.
  • OPL2 (YM3812) is now supported as well, but no binary was released because there's currently no real cartridge or emulation that contains this soundchip (and for home-built cartridges it's much better to use an OPL3 anyway).
  • New soundchip detection routines that follows strictly the Yamaha's recommended algorithm.
  • It now properly detects and supports any of the OPL soundchips, on the following I/O ports configurations: I/O ports C0h-C1h or C2h-C3h for OPL1/OPL2 soundchips, and I/O ports C0h-C3h or C4h-C7h for OPL3/OPL4 soundchips
  • MSX-Music style transpose/temper tables are now supported. When a CALL MUSIC is issued, the MSX-Audio will now lower the RAM top to allocate RAM for the necessary structures to mimic the MSX-Music in-RAM structures, giving greater compatibility to the BASIC FM music that makes use of POKEs.
  • Other MSX-Music extensions connected to the same machine will be disabled once this BIOS receives a CALL AUDIO or a CALL MUSIC command, providing a way to solve the conflict on machines with an internal MSX-Music on a lower slot (like the Panasonic MSX2+/TR and CIEL Expert-Turbo)
  • Fixed a bug that reported the rhythm channel incorrectly as an ADPCM channel
  • Moved many initialization routines to the frame-2, to free space for the new routines in frame-1.
  • 0066h will now call HNMI, to allow real-hardware debugging using the NMI
  • Turbo Z80 machines without a system-timer are now fully supported, up to 7MHz

Relevant link: FRS' MSX Page

Comments (39)

By ro

Guardian (3989)

ro's picture

04-10-2011, 12:54

both thumbs-up!

By Bastiaan

Champion (330)

Bastiaan's picture

04-10-2011, 20:37

impressive !

By msd

Paragon (1341)

msd's picture

04-10-2011, 22:02

Which cartridge or msx has an opl2?

By Manuel

Ascended (14372)

Manuel's picture

04-10-2011, 23:26

msd, didn't the text sayOPL2 (YM3812) is now supported as well, but no binary was released because there's currently no real cartridge or emulation that contains this soundchip (and for home-built cartridges it's much better to use an OPL3 anyway).

By Sky_hawk

Champion (267)

Sky_hawk's picture

05-10-2011, 10:17

So whats the best way to take full advantage of this bios, could someone enlighten us mortals what all the number means?
OPL3? is that in a moonsound? should I modify my philips msx-audio and through away my fm-pak stereo?

Greetings,

Jan

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

05-10-2011, 19:24

@Sky_hawk

Yes, it is indeed confusing. Have a look at this thread for a more in-depth explanation.

The best way to take full advantage of this BIOS is to buy upgrade kits for both your Philips Music Module and Moonsound. You can also buy (or build DIY-style) an OPL3 cartridge.

- Upgrade kits for the Philips Music Module are sold both by Maluf and SuperSoniqs
- OPL3 cartridges are sold by MSXpro
- Unfortunatelly, there are no upgrade kits for the MoonSound - yet. But let's wait the for hardware guys to make their move.

But keep in mind that:

1) You will not be able to throw away the MSX-Music yet, because many softwarehouses didn't respected the MSX standard and made direct I/O access to the OPLL soundchip. Such games will require patching to fix this. Those patches will come.

2) The stereo provided by the MSX-Audio BIOS 1.3 is incomparably better than any OPLL Stereo module, just because OPL3 and OPL4 have true stereo support. For the vast majority of the games, the OPLL-stereo cartridges will produce the entire music on the left side, and the drumkit will beat alone on the rught side. Not pleasant at all. On the MSX-Audio BIOS, the entire music is stereo, including the drumkit. It's fun to hear it distributed in stereo, with some pieces beating on one side, while others suddenly appear on the opposite side.

3) The sound quality of the OPL3 and OPL4 cartridges is also way superior to the OPLL cartridges, because they produce 44.1Hz/16bits on sound output. On the other hand, the OPLL produces sound at 18KHz with a cheap multiplexed 4bit DAC, if I record correctly. This DAC is multiplexed between each of the sound channels sequentially. Everything is then mended together by an analog circuitry. It's the type of thing designed to be cheap, leaving the sound quality as secondary.

By Manuel

Ascended (14372)

Manuel's picture

05-10-2011, 23:05

What do you mean with a MoonSound upgrade kit? What exactly would it do? Add ROM to provide an MSX-AUDIO BIOS?

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

05-10-2011, 23:14

@Manuel

Exactly! Smile

By KdL

Paragon (1099)

KdL's picture

06-10-2011, 02:31

hi, is it possible into megaflashrom + moonsound or music module combined?

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

08-10-2011, 02:40

@KdL

You didn't read the FAQ, right? tsc, tsc...

Q: Can this BIOS be run on a MegaFlashROM/similar device?
A: No, it requires a special configuration of ROM+RAM on the same slot, so a
a MegaROM emulation don't fit. You can install it by these two ways:
1) Upgrade your MSX-Audio cartridge to support the ROM internally, using
the recipes available on the Net.
2) You can opt to modify a 32KB game cartridge with the following recipe:
a) Upgrade it to contain 64KB of ROM and 8KB of RAM
b) The memory mapping must be as follows:
0000h-2FFFh: ROM
3000h-3FFFh: lower 4KB of the RAM
4000h-6FFFh: ROM
7000h-7FFFh: lower 4KB of the RAM (mirror of 3000h-3FFFh)
8000h-AFFFh: ROM
B000h-BFFFh: upper 4KB of the RAM
C000h-EFFFh: ROM
F000h-FFFFh: upper 4KB of the RAM (mirror of B000h-BFFFh)
This game-cartridge approach can be used for users who don't want to
upgrade their OPL1/OPL3/OPL4 cartriges internally.

By KdL

Paragon (1099)

KdL's picture

11-10-2011, 06:09

thx! and excuse me for my distraction Tongue

By Wild_Penguin

Champion (459)

Wild_Penguin's picture

19-10-2011, 20:36

I got the Toshiba HX-MU900 recently (from the fellow MSX'er who didn't want his MSX-Audio anymore). Yay!

It has the upgrade kit with MSX-Audio BIOS v 1.2 and sample RAM already built in by Bas. I read in the readme:
"- This new version is bigger now requires a 64KB ROM. The Philips Music-Module
upgrade board already supports this. It's just a matter of installing a
27C512 EPROM and jumping the board accordingly. For the Toshiba Music-Module,
a small mod of the upgrade will be required. The upgrade-guide was updated
to reflect this, just check it.
"

Now, which upgrade-guide is this referring to? The one on SuperSoniqs page? The guide says v 1.0, and nothing about what to change for the new BIOS....

By Retrofan

Paragon (1211)

Retrofan's picture

12-02-2012, 13:13

- Unfortunatelly, there are no upgrade kits for the MoonSound - yet. But let's wait the for hardware guys to make their move.

The stereo provided by the MSX-Audio BIOS 1.3 is incomparably better than any OPLL Stereo module, just because OPL3 and OPL4 have true stereo support. For the vast majority of the games, the OPLL-stereo cartridges will produce the entire music on the left side, and the drumkit will beat alone on the rught side. Not pleasant at all. On the MSX-Audio BIOS, the entire music is stereo, including the drumkit. It's fun to hear it distributed in stereo, with some pieces beating on one side, while others suddenly appear on the opposite side.

The sound quality of the OPL3 and OPL4 cartridges is also way superior to the OPLL cartridges, because they produce 44.1Hz/16bits on sound output. On the other hand, the OPLL produces sound at 18KHz with a cheap multiplexed 4bit DAC, if I record correctly. This DAC is multiplexed between each of the sound channels sequentially. Everything is then mended together by an analog circuitry. It's the type of thing designed to be cheap, leaving the sound quality as secondary.
Could someone - Supersoniqs or Sharksym ? - create a seperated cartridge (just call it OPL4 extender) for MoonSound and the Korean version Dal So Ri which contains the MSX-AUDIO BIOS v1.3? Preferable with flash, so it can be modified when there are updates. It is fun if this extender also has extra hardware to convert ADPCM samples from the Music Module on-the-fly into PCM samples for MoonSound / Dal So Ri. This way we can finally use our OPL4 also for OPL1 software, but as mentioned above, with better sound. Also it would be cool if the extender has a effect chip we wanted so badly when the MoonSound was released.

By igal

Master (211)

igal's picture

06-10-2012, 20:10

Hi Sd-snatcher. (Google translation On)

I tested the Msx-Bios 1.3 with audio demos as "cyber sound" of Compjoetania. all work perfectly.

I connected the Midi-Pac to replace the FM-Pac and send signals to my [Midi Expander SC-88Pro].

The Music Module is connected also because the music is in the format [Moon Blaster]

I was wondering if you knew as directing the music to Moonsound OPLL.

Is that you can direct the OPL music to Moonsound?

This will permit to obtain music format with "Sound Blaster" music that simultaneously use the [Midi music with Midi-Pac] + [OPL4 Music with the Music Module that returns the music to Moonsound]

By mesiasmsx

Prophet (3059)

mesiasmsx's picture

06-03-2013, 18:08

Hi Sd-Snatcher !!

What happen with game Labirynth? This game uses MSX-Audio but the Bios 1.2 dont works.

Thanks!!

By mesiasmsx

Prophet (3059)

mesiasmsx's picture

11-03-2013, 13:42

Nothing?¿ Sad

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

12-03-2013, 12:25

I did a quick test and it worked fine on v1.3.

Check if your game ROM is fine, and if it is, try to upgrade the BIOS to v1.3.

By mesiasmsx

Prophet (3059)

mesiasmsx's picture

21-03-2013, 20:57

Can you send me your rom from Labirynth please?

I want make, but i don´t found any user in spain, so far.

What type for record eproms i need?

Thanks!!

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

01-04-2013, 01:34

The original ROM has the following SHA1 checksum: e003d57d2102e8fdf5d9eea7bd78a3cf67d75778

It shouldn't be hard to find it on the most famous ROM sites.

By Retrofan

Paragon (1211)

Retrofan's picture

06-12-2013, 11:49

Still hoping someone could design a game-cartridge with flash containing the 1.3 BIOS, with the instructions of sd_snatcher.
This game-cartridge approach can be used for users who don't want to
upgrade their OPL1/OPL3/OPL4 cartridges internally.
It would be nice if two versions can be flashed and the possibility to switch between them for both Music Module and OPL4.

You can opt to modify a 32KB game cartridge with the following recipe:
a) Upgrade it to contain 64KB of ROM and 8KB of RAM
b) The memory mapping must be as follows:
0000h-2FFFh: ROM
3000h-3FFFh: lower 4KB of the RAM
4000h-6FFFh: ROM
7000h-7FFFh: lower 4KB of the RAM (mirror of 3000h-3FFFh)
8000h-AFFFh: ROM
B000h-BFFFh: upper 4KB of the RAM
C000h-EFFFh: ROM
F000h-FFFFh: upper 4KB of the RAM (mirror of B000h-BFFFh)

By mesiasmsx

Prophet (3059)

mesiasmsx's picture

30-03-2014, 13:37

Hello,

I updated the bios to 1.3 in another eprom, but that is the same type. I inserted the EPROM does not work. This EPROM is verified. This removed the last uv lamp with burner and eproms.

The jumpers are correctly (2.3) it is for the 64 kb of memory.

I have the music module kit with Panasonic and I recorded the rom is to download the NMS 1205.

What can happen?

Thanks!

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

30-03-2014, 14:52

Is your upgrade from SuperSoniqs? It requires the small mod shown in this article to support the MSX-Audio BIOS v1.3.

By luppie

Paladin (800)

luppie's picture

30-03-2014, 21:34

Is it also possible to use the 1.3 Bios without the upgrade ?
Using a 64kb rom without the 256kb sample ram.

By syn

Paragon (1843)

syn's picture

30-03-2014, 23:56

Question: What is the added value of this add-on if 1) My msx already has MSX-Music build in 2) my music module has been upgraded to 256KB sample ram.

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

31-03-2014, 15:56

@luppie

This question is already answered in the FAQ inside the README.TXT file:

Q: Can this BIOS be run on a MegaFlashROM/similar device?
A: No, it requires a special configuration of ROM+RAM on the same slot, so a
a MegaROM emulation don't fit. You can install it by these two ways:
1) Upgrade your MSX-Audio cartridge to support the ROM internally, using
the recipes available on the Net.
2) You can opt to modify a 32KB game cartridge with the following recipe:
a) Upgrade it to contain 64KB of ROM and 8KB of RAM
b) The memory mapping must be as follows:
0000h-2FFFh: ROM
3000h-3FFFh: lower 4KB of the RAM
4000h-6FFFh: ROM
7000h-7FFFh: lower 4KB of the RAM (mirror of 3000h-3FFFh)
8000h-AFFFh: ROM
B000h-BFFFh: upper 4KB of the RAM
C000h-EFFFh: ROM
F000h-FFFFh: upper 4KB of the RAM (mirror of B000h-BFFFh)
This game-cartridge approach can be used for users who don't want to
upgrade their OPL1/OPL3/OPL4 cartriges internally.

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

31-03-2014, 16:35

@syn

The answer is the same as what's the value to use an MSX in 2014: Because you can, because it's fun. Smile

There's an added fun factor: Just like a demo, this BIOS achieves something previously said to be impossible, but now it's even done in realtime by the Z80 itself. It's a showcase of what the MSX compatibility+expansibility was always meant to be and how powerful the MSX-BIOS ecosystem is: you can use a different soundchip and the BIOS is able to abstract the differences.

It's something impossible to do natively on a C64 or ZX-Spectrum, because their architecture is cemented in hardware and inflexible to changes without breaking the compatibility. OTOH, the MSX architecture is flexible, allowing the hardware to be changed and the BIOS drivers to be rewritten to accommodate that. Smile

As a corollary, not only the OPL1 is supported but we can advance to the OPL3 and OPL4, automatically enjoying the benefits that those chips provide: stereo and much cleaner sound due to the 44.1KHz/16bits DACs they have.

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

01-04-2014, 14:57

I forgot to mention: the MSX-Audio BIOS is also much more complete and powerful than the MSX-Music. The MSX-Music is in fact a subset of the MSX-Audio BIOS, ported to an incompatible soundchip. The MSX-Audio allows an MSX-BASIC programmer to create much more powerful programs.

The MSX-Audio BIOS has native support for
- Sample record and playback, hardware accelerated, up to 256KB of SampleRAM and 128KB of SampleROM, 2 ADPCM channels
- Up to 2 OPL soundchips
- Music Keyboard
- MIDI in/out
- Up to 32 custom instruments (against only one custom instrument on the MSX-Music)

By syn

Paragon (1843)

syn's picture

01-04-2014, 16:20

hi sd_snatcher,

thanks for clearing some things up. Yes I do know it is something marvelous, when I read that it translates stuff on the fly I thought to myself "wow that's magic!" Wink

But my main question was:
What would I GAIN functionality-wise if I upgraded my music module (which has 256kb sram) if I already have msx -music build in my msx2+?
so my conclusion is, that after I upgrade the music module:
- I can now use it in msx-basic
- I can it as a replacement for msx music/fmpac in some cases (if I have an msx that doesnt have build in fmpac)
- anything else?

I do know that if you add it to a opl3/opl4 cartridge you can get stereo music in your old msx-music games which makes me want something like that instead of putting the new bios in a music module since stereo in old games would rock Big smile

btw

Quote:

2 ADPCM channels

I assume this is only for opl3/opl4 carts? since adding an new audio bios wouldn't give the music module an extra adpcm channel Smile

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

01-04-2014, 18:46

Ok, adding a bit more detail: Smile

- Yes, you will now able to use it in MSX-BASIC. But there are more powerful commands unavailable on the MSX-Music, like CALL PLAY PCM or the Music Keyboard support. There are even voice synthesis (your MSX can talk!) commands, using CSM.
- There's a new version of the upgrade board being brewed, that will fix the pitch on turbo machines.

The 2 ADPCM channels come from the fact that the MSX-Audio BIOS support two Y8950 chips simultaneously. The BIOS was even modeled to support 18 FM channels natively, but they clearly grounded this feature in the very last minute, probably due to the lack of time. But the 2 ADPCM channel is still there. Of course it's on my TODO list to finish the 18 channel support someday, since this will allow to support all FM channels of an OPL3/OPL4.

The ADPCM commands are disabled on the OPL3 & OPL4, because those chips don't have this feature built-in.

By Retrofan

Paragon (1211)

Retrofan's picture

01-04-2014, 18:58

sd_snatcher wrote:

The ADPCM commands are disabled on the OPL3 & OPL4, because those chips don't have this feature built-in.

It would be nice if the ADPCM part could be converted to PCM on the fly for OPL4. Don't know if this is easy to do. I hoped the MoonSound was 100% (FM part and playback samples) compatible with the Music Module when it was introduced, but it wasn't unfortunately.

By msd

Paragon (1341)

msd's picture

02-04-2014, 08:26

Quote:

The ADPCM commands are disabled on the OPL3 & OPL4, because those chips don't have this feature built-in.

It is not disabled. The msx-audio is an opl1 + adpcm and whatever extra. The opl1 also doesn't have these registers. It is not disabled, it is just not implemented in other opl chips than the msx-audio.

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

02-04-2014, 14:49

@msd

Wasn't that exactly what I said? The OPL3 & OPL4 don't have the ADPCM feature built-in. Smile

The ADOCM commands are disabled on the BIOS (& BASIC extensions) for those chips because of that. Just like Panasonic did on the MSX-Music BIOS. I.e.: the CALL PLAY PCM command will result in a "illegal function call" both for the OPLL, OLL3 and OPL4.

@Retrofab

Yes, I agree. It's on my TODO lost to try that and check of its viable. But I can't make any promises yet.

By msd

Paragon (1341)

msd's picture

02-04-2014, 16:49

The ADPCM commands are disabled on the OPL3 & OPL4Commands are disabled in the BIOS when a opl3 or olp4 is used.Tongue

By Retrofan

Paragon (1211)

Retrofan's picture

02-04-2014, 18:02

@sd_snatcher: that would be cool! Cool Hope you can make it work! Wink

By Retrofan

Paragon (1211)

Retrofan's picture

02-04-2014, 19:33

sd_snatcher wrote:

@ 2) You can opt to modify a 32KB game cartridge with the following recipe:
a) Upgrade it to contain 64KB of ROM and 8KB of RAM
b) The memory mapping must be as follows:
0000h-2FFFh: ROM
3000h-3FFFh: lower 4KB of the RAM
4000h-6FFFh: ROM
7000h-7FFFh: lower 4KB of the RAM (mirror of 3000h-3FFFh)
8000h-AFFFh: ROM
B000h-BFFFh: upper 4KB of the RAM
C000h-EFFFh: ROM
F000h-FFFFh: upper 4KB of the RAM (mirror of B000h-BFFFh)
This game-cartridge approach can be used for users who don't want to
upgrade their OPL1/OPL3/OPL4 cartriges internally.

Maybe you could use this approch with flash and additional hardware for ADPCM to PCM conversion for OPL4 on the fly. With multiple MSX-AUDIO BIOS version support using switch, it can be used on both MoonSound as well on max. 2 Music Modules. Wink As it has flash, it could be updated very easily Cool

By mesiasmsx

Prophet (3059)

mesiasmsx's picture

02-04-2014, 22:31

sd_snatcher wrote:

Is your upgrade from SuperSoniqs? It requires the small mod shown in this article to support the MSX-Audio BIOS v1.3.

Yes, from SS.
I have the kit with bios 1.2. But i see, i dont watch the tutorial. The problem is the yelow wire i think ;) .
With this bios i can hear Fire Hwak and other games as Fllet Comander II with MSx-Audio?
I have a little confuse with the stereo.rom
Thanks sd_snatcher!

By sd_snatcher

Prophet (2734)

sd_snatcher's picture

03-04-2014, 02:36

Yes, you will be able to play the HDD version of Fire Hawk, and the other BIOS compliant games mentioned in the readme file, with your MSX-Audio. More games will be patched to support the BIOS routines in the future.

The stereo ROM is only for OPL3 & OPL4 cartridges. Don't use it with your music module, because it has an OPL1, that's only mono.

By DJs3000

Expert (104)

DJs3000's picture

16-04-2015, 11:37

What you need to modify in Philips NMS-1205 for install 27C512?

By tvalenca

Paladin (687)

tvalenca's picture

28-04-2015, 21:55

For the NMS-1205 you need both 27C512 and work RAM. Best thing is get one expansion board like the one made by Supersoniqs. If you're willing to do it yourself, you can use this schematic: http://www.msxpro.com/hardware/mm_upgrade/msxaudio-bios.gif

Full article is here: http://www.msxpro.com/mm_upgrade.html (there's a link for an english version inside if you can't read portuguese)

My MSX profile