VOGONS


SBVGM (DOS) VGM Player

Topic actions

Reply 400 of 530, by OPLx

User metadata
Rank Member
Rank
Member
ElBrunzy wrote on 2021-09-15, 17:23:

AY-3-8910/YM2149 would be awesome. I remember listening to them on STSound stsnd1.gif and finding them so good that I would start to collect them. This would represent my awaking to a world of FM music outside the Adlib's YM3812. Thinking it was close the the SN76489, I secretly did try to play them with SBVGM without too much conviction and of course it failed.

Although I wonder the implication of converting .YM to .VGM files since it seem to be the core of the Atari musics.

I think there might be .YM to .VGM converters out there, but I think the .YM format is perfect for what it does and would required less system resources for playback. The SN76489 can't properly handle YM2149 playback, though the SAA1099 and OPL3 could possibly do so.

Reply 401 of 530, by thepirategamerboy12

User metadata
Rank Oldbie
Rank
Oldbie

I found a YM to VGM converter here, and it seems to work pretty well. I've gotta say, I can't wait for when AY8910/YM2149 is eventually added. I think listening to music from games on different systems than what it's actually playing on is a really cool novelty.

Reply 403 of 530, by OPLx

User metadata
Rank Member
Rank
Member
thepirategamerboy12 wrote on 2021-09-23, 11:07:

I found a YM to VGM converter here, and it seems to work pretty well. I've gotta say, I can't wait for when AY8910/YM2149 is eventually added. I think listening to music from games on different systems than what it's actually playing on is a really cool novelty.

Hopefully I can add support for that in the near future. VGMRips has been adding Atari ST VGMs recently it seems: Packs on ST.

Reply 404 of 530, by OPLx

User metadata
Rank Member
Rank
Member
thepirategamerboy12 wrote on 2021-09-26, 23:17:

So, someone tried to run SBVGM 1.37 on a Tandy 1000 SX and it seemed to think it was running on a PC-98.

https://youtu.be/rPf_FHCxF64?t=959

Thank you for pointing it out! Apparently calling int 1a with ax = 0x1000 on a Tandy 1000 machine returns something other than 0x1000. The joys and hazards of developing on the PC! Should have a quick fix for that soon. I was mortified when I saw that! 🙁

Reply 405 of 530, by cuba200611

User metadata
Rank Newbie
Rank
Newbie

I found this program which I used to convert AY-3-8910/YM2149 VGMs to YM2203 such that they could work with SBVGM for PC-98.

I tried a couple of converted VGMs on both emulation and real hardware - they work except that the ones that play back digitized samples (usually drums) don't sound correct, if they aren't too big to fit in memory that is...

Reply 406 of 530, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie
thepirategamerboy12 wrote on 2021-09-23, 11:07:

I found a YM to VGM converter here, and it seems to work pretty well.

cuba200611 wrote on 2021-09-30, 03:39:

I found this program which I used to convert AY-3-8910/YM2149 VGMs to YM2203 such that they could work with SBVGM for PC-98.

Thank you alot guys, I guess I have no excuse now not to convert my YM collection to something compatible to what SBVGM actually support. I see vgm-conv support many output format. I wonder if there is any advantage to also converted them to ym3812.

Reply 407 of 530, by thepirategamerboy12

User metadata
Rank Oldbie
Rank
Oldbie
cuba200611 wrote on 2021-09-30, 03:39:

I found this program which I used to convert AY-3-8910/YM2149 VGMs to YM2203 such that they could work with SBVGM for PC-98.

I tried a couple of converted VGMs on both emulation and real hardware - they work except that the ones that play back digitized samples (usually drums) don't sound correct, if they aren't too big to fit in memory that is...

I don't remember the exact reason, but OPLx said that sample playback is not supported in any VGMs because of some limitation (other than the built in YM2608 samples). And holy shit, thank you so much for linking that!

Btw, since he hasn't mentioned it here yet, v1.38 is out and that should have fixed the Tandy 1000 issue.

Reply 408 of 530, by OPLx

User metadata
Rank Member
Rank
Member
cuba200611 wrote on 2021-09-30, 03:39:

I found this program which I used to convert AY-3-8910/YM2149 VGMs to YM2203 such that they could work with SBVGM for PC-98.

I tried a couple of converted VGMs on both emulation and real hardware - they work except that the ones that play back digitized samples (usually drums) don't sound correct, if they aren't too big to fit in memory that is...

Sadly, sample playback is not supported with SBVGM. It's an unfortunate side effect of not originally intending to support so many chips and also how the playback routine updates. I have been thinking on and off about how to enable this for faster CPUs, but haven't had much time to really delve into it. 🙁

Reply 409 of 530, by OPLx

User metadata
Rank Member
Rank
Member
ElBrunzy wrote on 2021-09-30, 04:29:
thepirategamerboy12 wrote on 2021-09-23, 11:07:

I found a YM to VGM converter here, and it seems to work pretty well.

cuba200611 wrote on 2021-09-30, 03:39:

I found this program which I used to convert AY-3-8910/YM2149 VGMs to YM2203 such that they could work with SBVGM for PC-98.

Thank you alot guys, I guess I have no excuse now not to convert my YM collection to something compatible to what SBVGM actually support. I see vgm-conv support many output format. I wonder if there is any advantage to also converted them to ym3812.

vgm-conv supports non-trivial conversion across various chip types. ... I definitely agree with the author of vgm-conv; it is non-trivial! 😀

AY8910/YM2149 -> SAA1099
This generally works in SBVGM though the SAA1099's envelope frequency range is nowhere as broad as the AY8910/YM2149. Sample playback (which currently isn't supported) would require doing some fancy things with the SAA1099 as mentioned here.

AY8910/YM2149 -> YM3812/YMF262
Not impossible as both chips can produce a square wave sound, but there would be an issue on the YM3812 for emulating the noise channel. YMF262 can do a kind of a noise-like effect, but it's possible that the noise frequencies wouldn't match the AY8910/YM2149 exactly. I think both the YM3812 and YMF262 could reproduce the envelope generators, but that would require some experimentation. Sample playback is possible, but more CPU overhead for that.

Reply 410 of 530, by OPLx

User metadata
Rank Member
Rank
Member
thepirategamerboy12 wrote on 2021-09-30, 05:23:
cuba200611 wrote on 2021-09-30, 03:39:

I found this program which I used to convert AY-3-8910/YM2149 VGMs to YM2203 such that they could work with SBVGM for PC-98.

I tried a couple of converted VGMs on both emulation and real hardware - they work except that the ones that play back digitized samples (usually drums) don't sound correct, if they aren't too big to fit in memory that is...

I don't remember the exact reason, but OPLx said that sample playback is not supported in any VGMs because of some limitation (other than the built in YM2608 samples). And holy shit, thank you so much for linking that!

Btw, since he hasn't mentioned it here yet, v1.38 is out and that should have fixed the Tandy 1000 issue.

Thanks for mentioning about v1.38's release; I neglected to mention about that. 🙁

The sample playback limitation is primarily from how the original playback routine was implemented. SBVGM's original purpose was to play back NES VGMs on the SAA1099 (I was doing some experiments with the SAA1099's envelope generators) and it was an "easy" thing to add support for other chips ... at least back then! 😀

For anyone who is curious, Putting the things together written by @scali had a really nice write up on how to properly do so the PC. It requires pre-processing the VGM data into a special format though.

Reply 411 of 530, by thepirategamerboy12

User metadata
Rank Oldbie
Rank
Oldbie

I put together a quick video of real hardware recordings of AY VGMs converted to YM2203 playing on my PC-9821 Cs2 via SBVGM if anyone is interested:

https://www.youtube.com/watch?v=X3J2-Ak6g70

Reply 412 of 530, by SuperDeadite

User metadata
Rank Member
Rank
Member

Anyone know where to get VGMs for Descent 1 and 2? MIDI files are everywhere, but I want the FM versions. Raw DRO files would be fine too....thanks.

Modules: CM-64, CM-500, SC-55MkII, SC-88 Pro, SY22, TG100, MU2000EX, PLG100-SG, PLG150-DR, PLG150-AN, SG01k, NS5R, GZ-50M, SN-U110-07, SN-U110-10, Pocket Studio 5, DreamBlaster S2, X2, McFly, E-Wave, QWave, CrystalBlaster C2, Yucatan FX, BeepBlaster

Reply 413 of 530, by thepirategamerboy12

User metadata
Rank Oldbie
Rank
Oldbie
SuperDeadite wrote on 2021-12-02, 12:07:

Anyone know where to get VGMs for Descent 1 and 2? MIDI files are everywhere, but I want the FM versions. Raw DRO files would be fine too....thanks.

VGMRips doesn't have any for those games, and that would be the #1 likely place for them.

Reply 414 of 530, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie

I think the "Raptor - Call of the shadow" .vgm are missing too. Listening to the midi rip on an fm card is not as good of because the instruments definition are missing. Maybe I'll try my luck with that raw DRO thing and the dro2vgm converter.

Reply 415 of 530, by McCheeseBob

User metadata
Rank Newbie
Rank
Newbie

Not sure if this is RSX specific but even with version 1.38 my Tandy 1000 RSX reports as a PC-98. Any other RSX owners to confirm this? Just got an SAAYM and hadn't updated my version in a bit so it came as a surprise.

Reply 416 of 530, by OPLx

User metadata
Rank Member
Rank
Member
McCheeseBob wrote on 2021-12-25, 18:41:

Not sure if this is RSX specific but even with version 1.38 my Tandy 1000 RSX reports as a PC-98. Any other RSX owners to confirm this? Just got an SAAYM and hadn't updated my version in a bit so it came as a surprise.

Sorry that this happened. It looks like the Tandy 1000 RSX doesn't have a value of 0x21 at address F000:C000 that the prior Tandy 1000 models seem to have. Since I don't have any Tandy machines on hand, I missed this. Could you try the attached v1.35 and see if this works? I'll try to find a fix for this soon.

[Edit]
I've also attached TNDYDET.ZIP. All it does is print out the values by:

  • Calling INT 1A with AX set to 0x1000
  • Calling INT 1A with AX set to 0x8100
  • Printing value that is at address F000:C000

I think I have an idea of how to fix this, but just want to know what values your machine returns.

Attachments

  • Filename
    TNDYDET.ZIP
    File size
    7.19 KiB
    Downloads
    55 downloads
    File license
    Fair use/fair dealing exception
  • Filename
    SBVGM135.ZIP
    File size
    314.34 KiB
    Downloads
    59 downloads
    File license
    Fair use/fair dealing exception

Reply 417 of 530, by McCheeseBob

User metadata
Rank Newbie
Rank
Newbie

Here's the values it reads out.
fWzuKyo.jpg

1.35 works great, I've been using 1.33 for about a year without trouble. Just the PC-98 detection seems to have thrown a wrench in the mix. Thanks for this though!

Reply 418 of 530, by OPLx

User metadata
Rank Member
Rank
Member
McCheeseBob wrote on 2021-12-26, 18:45:
Here's the values it reads out. https://i.imgur.com/fWzuKyo.jpg […]
Show full quote

Here's the values it reads out.
fWzuKyo.jpg

1.35 works great, I've been using 1.33 for about a year without trouble. Just the PC-98 detection seems to have thrown a wrench in the mix. Thanks for this though!

Thank you! That information helped me to ascertain what was going on; it's fixed in v1.39.

Reply 419 of 530, by OPLx

User metadata
Rank Member
Rank
Member

SBVGM v1.39 is available from: http://www.oplx.com/code/

This update includes:

  • Added AY3891x/YM2149 playback support on YM2203 and YM2608.
  • Fixed bug where FM sound output on YM2203/YM2608 was disabled on exit (on PC-98).
  • Fixed bug where a Tandy 1000 RSX would be incorrectly detected as a PC-98 (missed this fix in v1.38).

Thank you to @thepirategamerboy12 for the PC-98 testing and bug reports and @McCheeseBob for the Tandy 1000 RSX bug. Going to try to address next some of the issues that @ElBrunzy has reported.