VOGONS


SBVGM (DOS) VGM Player

Topic actions

Reply 380 of 393, by OPLx

User metadata
Rank Member
Rank
Member
ElBrunzy wrote on 2021-05-15, 05:42:

Thanks for your precise answer, you clearly understood all of my questions. So I could quickly finish to setup the card. I browsed vgmrips to upgrade my vgm collection. This setup will have an SAAYM on 210h and an AWE32 on 220h (I think it's a CT2760 with the CQM chip).

Glad I could have been of assistance to you!

ElBrunzy wrote on 2021-05-15, 05:42:

I found having multiple cards might lead to confusion that are hard to diagnose when it's not obvious where the player is sending instructions. I was thinking maybe on the line "Playing..." there could be some more hint about what's going on.

With the current VGM format, without actually analyzing the VGM data before playback, there's no way to know which sound chips are actually used. Currently the best way to know which sound chip may be used is simply by looking at the VGM soundchip clock information that is printed. SBVGM.TXT has a table which shows which VGM supported chipsets would play on on which sound cards.

ElBrunzy wrote on 2021-05-15, 05:42:

I tested some 2608(b) stuff but there was nothing knew. For the YM2203 I was really glad to find some stuff like Silpheed and Ys who are both on my top favorite soundtrack! But drum volume sound weird. If you compare this one, the snare are so loud it make the melody barely hearable, while on the vgmrips player the level are more normal. I hope it's a problem that can be fixed because otherwise those ports seem very enjoyable to listen!

The issue about the volume is a bit tricky. From what I can tell each platform has its own configuration as to the relative volume levels between sound chips. In addition to this, there are the volume levels for PC sound cards which makes things a bit more complicated to ascertain. I'll have to see what can be done when I have time to compare.

ElBrunzy wrote on 2021-05-15, 05:42:

Well, I learned the hard way that an YM2151 dont come with an OKIM6258 😁 It's not always clear what's this chip is used for, seems to help some music with drum samples being an adpcm decoder. Also for some reason the lemmings soundtrack seem way too slow to me. It play the same on emulator and youtube video... Apparently the game was a prototype so maybe that's all there is to it.

I doubt we'll see the OKIM6258 on the PC, but one never knows. 😀 I wasn't aware of an arcade Lemmings; fascinating!

ElBrunzy wrote on 2021-05-15, 05:42:

The last but not the least ... Golden Axe ! I think your player work at perfection here on the SAAYM ! So now I can start to prepare the comparison project. Alternating between the pc game and your player did outlook some subtle but interesting differences I'm eager to find. Time to dust off that adlib card, I'm not going to base my comparison on an CQM 😉

Any VGMs that use the YM2151 natively (not translating from an OPN chip to YM2151) should sound correct. One nice showcase of YM2151 is this: Illumination Laser - Viole`n`t Moon (there aren't any samples used in the song). As far as I can tell, there aren't any VGMs from Illumination Laser (it's in the MDX format). The whole OST is here: Illumination Laser X68000 OST

There is quite a large number of music in the MDX format. Maybe someone will one day make an MDX player for the SAAYM?

Reply 381 of 393, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie
OPLx wrote on 2021-05-16, 15:11:

With the current VGM format, without actually analyzing the VGM data before playback, there's no way to know which sound chips are actually used. Currently the best way to know which sound chip may be used is simply by looking at the VGM soundchip clock information that is printed. SBVGM.TXT has a table which shows which VGM supported chipsets would play on on which sound cards.

I remember we discussed that and you explained clearly the situation. I'm actually talking about something a bit different but please keep in mind it's just suggestion idea for unacquainted. When I try new stuff and I feel a bit lost I note them, I remained vague on purpose since I wanted to open the idea to discussion. Let's imagine we have three soundcard that can play PSG Music, an GameBlaster, an Tandy SMD and a SAAYM. It's hard to know for sure which one will be selected to play the music. Now I realized that the first one on the detected list will be used, this can be altered by using the -noscan and forcing the list since your program keep the argument order.

Then again, it's just an idea that I think might make your player a bit more user friendly, I know over time it will be less important to me. I'm not suggesting to go overboard and analyze the stream to make sure what will be used but more something to make the player say "Since you have soundcard A,B and C on your system and that VGM header claim it will use synth the synth X that can be played on card A and B so I will output music on A". Of course I do not know how your player work intrinsically and maybe it's harder to implement that it look from the outside.

OPLx wrote on 2021-05-16, 15:11:

The issue about the volume is a bit tricky. From what I can tell each platform has its own configuration as to the relative volume levels between sound chips. In addition to this, there are the volume levels for PC sound cards which makes things a bit more complicated to ascertain. I'll have to see what can be done when I have time to compare.

I think you should take a look at it when you have some time, since for me all music for the ym2203 seem to have the drum way too loud on the SAAYM. I will take a second look at it but my impression where that there is something wrong with how the drum instructions are sent to the YM2151 when playing YM2203 stuff. I'll take a focused look at it since the other day I had so much to do installing the SAAYM and testing and learning all the new possibilities it add to your player !

OPLx wrote on 2021-05-16, 15:11:

Any VGMs that use the YM2151 natively (not translating from an OPN chip to YM2151) should sound correct. One nice showcase of YM2151 is this: Illumination Laser - Viole`n`t Moon (there aren't any samples used in the song). As far as I can tell, there aren't any VGMs from Illumination Laser (it's in the MDX format). The whole OST is here: Illumination Laser X68000 OST

There is quite a large number of music in the MDX format. Maybe someone will one day make an MDX player for the SAAYM?

Apparently there are some MDX->VGM converter that are supposed to work quite well when there is no samples involved. There is a thread or two about it on the vgmrips forum. I'll have to test it with your Illumination Laser soundtrack. I see this music is listed in a top chart list. Thanks to share some of your favorites, it take time to know what are the good music since there is so many, some are just bad, other are very compressed and take time to appreciate. I'm always interested about how video game music reach us so much. I know a music that can sound bothering and dull to someone else will mesmerize my mind because I listened to it in repetition as a child while voyaging into the fantasy world of the video game.

Reply 382 of 393, by OPLx

User metadata
Rank Member
Rank
Member
ElBrunzy wrote on 2021-05-19, 17:06:

I remember we discussed that and you explained clearly the situation. I'm actually talking about something a bit different but please keep in mind it's just suggestion idea for unacquainted. When I try new stuff and I feel a bit lost I note them, I remained vague on purpose since I wanted to open the idea to discussion. Let's imagine we have three soundcard that can play PSG Music, an GameBlaster, an Tandy SMD and a SAAYM. It's hard to know for sure which one will be selected to play the music. Now I realized that the first one on the detected list will be used, this can be altered by using the -noscan and forcing the list since your program keep the argument order.

Then again, it's just an idea that I think might make your player a bit more user friendly, I know over time it will be less important to me. I'm not suggesting to go overboard and analyze the stream to make sure what will be used but more something to make the player say "Since you have soundcard A,B and C on your system and that VGM header claim it will use synth the synth X that can be played on card A and B so I will output music on A". Of course I do not know how your player work intrinsically and maybe it's harder to implement that it look from the outside.

If I understand what you are saying, you just want some kind of output saying which sound card(s) the VGM data is playing on. This makes sense; I can try to look into this at some point.

ElBrunzy wrote on 2021-05-19, 17:06:

I think you should take a look at it when you have some time, since for me all music for the ym2203 seem to have the drum way too loud on the SAAYM. I will take a second look at it but my impression where that there is something wrong with how the drum instructions are sent to the YM2151 when playing YM2203 stuff. I'll take a focused look at it since the other day I had so much to do installing the SAAYM and testing and learning all the new possibilities it add to your player !

Could you point me to some example data? Since there are many VGM files it's very easy to overlook the ones that SBVGM would not handle correctly.

ElBrunzy wrote on 2021-05-19, 17:06:

Apparently there are some MDX->VGM converter that are supposed to work quite well when there is no samples involved. There is a thread or two about it on the vgmrips forum. I'll have to test it with your Illumination Laser soundtrack. I see this music is listed in a top chart list. Thanks to share some of your favorites, it take time to know what are the good music since there is so many, some are just bad, other are very compressed and take time to appreciate. I'm always interested about how video game music reach us so much. I know a music that can sound bothering and dull to someone else will mesmerize my mind because I listened to it in repetition as a child while voyaging into the fantasy world of the video game.

While the MDX to VGM converter is quite good, there are quite a large number that exist such that it would be easier to listen to them if a MDX player (for DOS) existed.

Reply 383 of 393, by ElBrunzy

User metadata
Rank Oldbie
Rank
Oldbie
OPLx wrote on 2021-05-28, 14:38:

If I understand what you are saying, you just want some kind of output saying which sound card(s) the VGM data is playing on. This makes sense; I can try to look into this at some point.

That would be nice, I wonder if when the screen display the list of detected/added soundcard the player already know which one will be used, since you could just put a marker next to those would be used, but I dont think so, right ?

OPLx wrote on 2021-05-28, 14:38:

Could you point me to some example data? Since there are many VGM files it's very easy to overlook the ones that SBVGM would not handle correctly.

I think I found some difference in silpheed from this url, it's also easy to compare with them online player https://vgmrips.net/packs/pack/silpheed-nec-pc-8801
- the music "01. The Legend of Silpheed (opening)" sometimes do a weird noise if it's the first thing I play with the SAAYM. I'm not sure what trigger it exactly or is it just random. So maybe now it's not very important.
- "03. Silf of Wind"
there seem to have some noise very loud noise in the vgm that make the music barely audible, but it's hard to say if it's related to any instrument, so maybe it's an error from the original recording ? If you listen to the emulated online version very carefully you can hear it being very soft.
- "05. Silf of Wind ]["
a very high pitched note is heard and stop when the arpeggio start playing, I think it would be on the emulated version too but I guess we would need visual tool to detect it, I cannot hear it anyway.

On the "YS 1" Soundtrack here https://vgmrips.net/packs/pack/ys-ancient-ys- … men-nec-pc-8801 there seem to have variant drum, they sound a bit differently. I dont know how of a close match to the ym2203 sbvgm is supposed to be with an ym2151 so maybe it's just normal, I dont know if it's a problem but I though you might want to know, it's particularly present in those music:
08. palace of destruction
12. Final Battle
15. see you again

On another topic, a friend brought my attention that WonderBoy in MonsterLand, which is one of my favorite SEGA Master System game, was made on the arcade. So I was curious to find the difference, the music attracted my attention and I was very glad when I realize I could play it with sbvgm as it support 2xSN76489 on a two SAA1099 soundcard. It seem that both PSG are clocked at the same frequency in source, otherwise I guess some instruments would sound out of tune ?

Reply 384 of 393, by spaztron64

User metadata
Rank Newbie
Rank
Newbie

Sadly, SBVGM32 crashes on my NEC PC-9821 V166. Tracks play about one set of notes properly before throwing a general protection fault. Tried it under Windows 98SE, pure DOS with EMS+XMS, and a clean boot, all throw the same error. Using DOS32A has the same symptoms with the bonus of the entire computer hanging.

Here's the captured text output:

Composer: Ryu Umemoto, Ryu Takami
Release: 1996-12-26
Converter: tails_

VGM version: 1.70
YM2608 (OPNA): 7987200 Hz

Playing ...
DOS/4GW error (2001): exception 0Dh (general protection fault) at 22F:85327072
TSF32: prev_tsf32 5280
SS 237 DS 237 ES 22F FS 0 GS 87
EAX 137 EBX 85349BB4 ECX 9C100000 EDX 18534
ESI CE018534 EDI CE708531 EBP 9BEC0000 ESP 85349B70
CS:IP 22F:85327072 ID 0D COD CF00 FLG 10206
CS= 22F, USE32, page granular, limit FFFFFFFF, base 0, acc CFFB
SS= 237, USE32, page granular, limit FFFFFFFF, base 0, acc CFF3
DS= 237, USE32, page granular, limit FFFFFFFF, base 0, acc CFF3
ES= 22F, USE32, page granular, limit FFFFFFFF, base 0, acc CFFB
FS= 0, USE16, byte granular, limit 0, base 0, acc 0
GS= 87, USE16, byte granular, limit FFFF, base C170, acc F3
CR0: unavailable
Crash address (unrelocated) = 1:0000D072

B:\SBVGM>
 C1  CU  CA  S1  SU VOID NWL INS REP  ^Z

Reply 385 of 393, by thepirategamerboy12

User metadata
Rank Member
Rank
Member
spaztron64 wrote on 2021-07-17, 16:36:

Sadly, SBVGM32 crashes on my NEC PC-9821 V166. Tracks play about one set of notes properly before throwing a general protection fault. Tried it under Windows 98SE, pure DOS with EMS+XMS, and a clean boot, all throw the same error. Using DOS32A has the same symptoms with the bonus of the entire computer hanging.

Have you tried the regular 16-bit version? I've had no issues with that, and I couldn't get 32 to work either but didn't really worry about it because I could use the other one fine. I'm not too familiar with the differences on how 32-bit extenders work on PC-98 vs IBM PC.

Reply 386 of 393, by spaztron64

User metadata
Rank Newbie
Rank
Newbie
thepirategamerboy12 wrote on 2021-07-17, 16:40:

Have you tried the regular 16-bit version? I've had no issues with that, and I couldn't get 32 to work either but didn't really worry about it because I could use the other one fine. I'm not too familiar with the differences on how 32-bit extenders work on PC-98 vs IBM PC.

Yes, that one works, but it limits me to tiny VGM filesizes.

Reply 387 of 393, by thepirategamerboy12

User metadata
Rank Member
Rank
Member
spaztron64 wrote on 2021-07-18, 05:09:

Yes, that one works, but it limits me to tiny VGM filesizes.

Hmm, I haven't run into that yet myself with the ones I've tried. There is the -x command switch that enables XMS memory usage.

Reply 388 of 393, by spaztron64

User metadata
Rank Newbie
Rank
Newbie

Hmm, I haven't run into that yet myself with the ones I've tried. There is the -x command switch that enables XMS memory usage.

Sadly that didn't do anything, but thankfully vgm_cmp reduced the tunes I needed to listen to a small enough size to be usable with 16-bit SBVGM. Thanks for the suggestion either way.

Reply 389 of 393, by thepirategamerboy12

User metadata
Rank Member
Rank
Member
spaztron64 wrote on 2021-07-18, 13:24:

Sadly that didn't do anything, but thankfully vgm_cmp reduced the tunes I needed to listen to a small enough size to be usable with 16-bit SBVGM. Thanks for the suggestion either way.

Ah, good. You're welcome. Come to think of it, I've mostly been using VGZ files.

Reply 390 of 393, by spaztron64

User metadata
Rank Newbie
Rank
Newbie
thepirategamerboy12 wrote on 2021-07-18, 13:37:

<PM>

Please excuse that I'm responding to a PM publicly, the forum doesn't let me reply due to a low message count I guess, and your Discord seems to be inactive.
Yes, I used YU-NO Prologue to test the 32-bit executable, but what I really wanted to get working was stuff I converted from YM2612 to YM2608.
That's all sorted out now.

Reply 391 of 393, by thepirategamerboy12

User metadata
Rank Member
Rank
Member
spaztron64 wrote on 2021-07-18, 17:18:
Please excuse that I'm responding to a PM publicly, the forum doesn't let me reply due to a low message count I guess, and your […]
Show full quote
thepirategamerboy12 wrote on 2021-07-18, 13:37:

<PM>

Please excuse that I'm responding to a PM publicly, the forum doesn't let me reply due to a low message count I guess, and your Discord seems to be inactive.
Yes, I used YU-NO Prologue to test the 32-bit executable, but what I really wanted to get working was stuff I converted from YM2612 to YM2608.
That's all sorted out now.

Alright, that's fine. I did that as a PM because I kinda felt it deviated from the SBVGM topic too much.

Reply 392 of 393, by OPLx

User metadata
Rank Member
Rank
Member
ElBrunzy wrote on 2021-06-09, 22:33:
OPLx wrote on 2021-05-28, 14:38:

If I understand what you are saying, you just want some kind of output saying which sound card(s) the VGM data is playing on. This makes sense; I can try to look into this at some point.

That would be nice, I wonder if when the screen display the list of detected/added soundcard the player already know which one will be used, since you could just put a marker next to those would be used, but I dont think so, right ?

I'll have to give it some thought, but it's not something that is impossible to implement.

ElBrunzy wrote on 2021-06-09, 22:33:
I think I found some difference in silpheed from this url, it's also easy to compare with them online player https://vgmrips.net […]
Show full quote
OPLx wrote on 2021-05-28, 14:38:

Could you point me to some example data? Since there are many VGM files it's very easy to overlook the ones that SBVGM would not handle correctly.

I think I found some difference in silpheed from this url, it's also easy to compare with them online player https://vgmrips.net/packs/pack/silpheed-nec-pc-8801
- the music "01. The Legend of Silpheed (opening)" sometimes do a weird noise if it's the first thing I play with the SAAYM. I'm not sure what trigger it exactly or is it just random. So maybe now it's not very important.
- "03. Silf of Wind"
there seem to have some noise very loud noise in the vgm that make the music barely audible, but it's hard to say if it's related to any instrument, so maybe it's an error from the original recording ? If you listen to the emulated online version very carefully you can hear it being very soft.
- "05. Silf of Wind ]["
a very high pitched note is heard and stop when the arpeggio start playing, I think it would be on the emulated version too but I guess we would need visual tool to detect it, I cannot hear it anyway.

On the "YS 1" Soundtrack here https://vgmrips.net/packs/pack/ys-ancient-ys- … men-nec-pc-8801 there seem to have variant drum, they sound a bit differently. I dont know how of a close match to the ym2203 sbvgm is supposed to be with an ym2151 so maybe it's just normal, I dont know if it's a problem but I though you might want to know, it's particularly present in those music:
08. palace of destruction
12. Final Battle
15. see you again

Thank you for the information. It has been very busy for the last few months and I haven't had much time to look into the issues you mentioned. I will definitely take a look once I have sufficient time again.

ElBrunzy wrote on 2021-06-09, 22:33:

On another topic, a friend brought my attention that WonderBoy in MonsterLand, which is one of my favorite SEGA Master System game, was made on the arcade. So I was curious to find the difference, the music attracted my attention and I was very glad when I realize I could play it with sbvgm as it support 2xSN76489 on a two SAA1099 soundcard. It seem that both PSG are clocked at the same frequency in source, otherwise I guess some instruments would sound out of tune ?

It really depends on the Sega arcade system type. Some clock the SN76489s at the same frequency, but most of the VGMs that I tested with have two different clock frequencies. The chip with the lower clock frequency is generally used for the lower bass notes. For SAA1099 playback, SBVGM detects the difference in clock frequency and adjusts for that. If you used two SN76489s, you would likely hear the wrong notes at the lower frequencies since the SN76489 (on the current PC soundcards) is generally clocked at a higher frequency.

Reply 393 of 393, by OPLx

User metadata
Rank Member
Rank
Member
spaztron64 wrote on 2021-07-17, 16:36:
Sadly, SBVGM32 crashes on my NEC PC-9821 V166. Tracks play about one set of notes properly before throwing a general protection […]
Show full quote

Sadly, SBVGM32 crashes on my NEC PC-9821 V166. Tracks play about one set of notes properly before throwing a general protection fault. Tried it under Windows 98SE, pure DOS with EMS+XMS, and a clean boot, all throw the same error. Using DOS32A has the same symptoms with the bonus of the entire computer hanging.

Here's the captured text output:

Composer: Ryu Umemoto, Ryu Takami
Release: 1996-12-26
Converter: tails_

VGM version: 1.70
YM2608 (OPNA): 7987200 Hz

Playing ...
DOS/4GW error (2001): exception 0Dh (general protection fault) at 22F:85327072
TSF32: prev_tsf32 5280
SS 237 DS 237 ES 22F FS 0 GS 87
EAX 137 EBX 85349BB4 ECX 9C100000 EDX 18534
ESI CE018534 EDI CE708531 EBP 9BEC0000 ESP 85349B70
CS:IP 22F:85327072 ID 0D COD CF00 FLG 10206
CS= 22F, USE32, page granular, limit FFFFFFFF, base 0, acc CFFB
SS= 237, USE32, page granular, limit FFFFFFFF, base 0, acc CFF3
DS= 237, USE32, page granular, limit FFFFFFFF, base 0, acc CFF3
ES= 22F, USE32, page granular, limit FFFFFFFF, base 0, acc CFFB
FS= 0, USE16, byte granular, limit 0, base 0, acc 0
GS= 87, USE16, byte granular, limit FFFF, base C170, acc F3
CR0: unavailable
Crash address (unrelocated) = 1:0000D072

B:\SBVGM>
 C1  CU  CA  S1  SU VOID NWL INS REP  ^Z

Thank you for reporting this. I'm not entirely sure what the differences are, but it seems that the standard DOS/4GW may not work on PC-98 for switching the processor to protected mode. For the time being, I'll disable this in the next version of SBVGM as soon as I have some free time. @thepirategamerboy12's suggestion using the 16-bit version with the -x option is the best way to go.