Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Stereo Game Gear Games

Reply to topic
Author Message
  • Joined: 23 Apr 2014
  • Posts: 131
  • Location: NYC
Reply with quote
Stereo Game Gear Games
Post Posted: Mon Jul 13, 2015 9:59 pm
Is there a list of Game Gear games that support stereo audio through the headphone port...either official games, or fanhacks? I searched everywhere and can't find any list anywhere.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14690
  • Location: London
Reply with quote
Post Posted: Tue Jul 14, 2015 4:26 am
It's something we could analyse VGM packs for, but it's hard to analyse games directly. Emulators could also detect it.

In the absence of those, why not start a list in this thread?
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Tue Jul 14, 2015 11:08 am
I, too, thought about analysing the vgm packs, and I was about to write a mass-parser to look for "GG Stereo" events, though that would only return a subset of the games which use the stereo capabilities, because
  1. not all the GG games have a vgm pack as of today, and
  2. the vgm packs only cover the songs (in most cases), and a strict interpretation of "games that support stereo audio" implies that games which use panned SFXs should also be included in the list
It would be a start anyway, I guess, I'll see if I can come up with something if nobody beats me to it.

Also, there's the Slider case (since I did that vgm pack quite recently I remember a detail about it): there is an unused song, which indeed uses stereo effects, I wonder how that would qualify in such a classification.
  View user's profile Send private message Visit poster's website
  • Joined: 23 Apr 2014
  • Posts: 131
  • Location: NYC
Reply with quote
Post Posted: Tue Jul 14, 2015 12:48 pm
Tom, I'd like to include all of them. If there's only a handful, we can just list each with a description below, but if not, we'll just create categories.
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Tue Jul 14, 2015 2:06 pm
Alright; since I don't feel like hammering smspower's server for vgm packs (not to mention, decompress all of them), if anyone can upload a gigantic ZIP or RAR file with all the vgm files from all the games in uncompressed format (as, not gz'd), I will make sure to mass-parse them later today, as I won't be at home this afternoon. Again, if nobody beats me to it, since this is a quite trivial task. Obviously, the gigantic archive shouldn't be uploaded here since it would be pointless and redundant, but rather on Dropbox or so.

In this way we can start the list with a subset, and expand from there eventually.
  View user's profile Send private message Visit poster's website
  • Joined: 23 Apr 2014
  • Posts: 131
  • Location: NYC
Reply with quote
Post Posted: Sun Nov 22, 2015 5:00 pm
I'd somehow forgotten all about this. Did anyone have a chance to check which games offered stereo sound?
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Mon Nov 23, 2015 1:05 am
Riiight, I completely forgot about this, too.

So, guess what? I took this chance to do some good old ms-dos black magic (for, find, and the like), and you can find the attached result.

How to read it? It's a log of all the GG Stereo events I could find (well, I didn't find them, my computer did) in all the Game Gear VGM files I could download from this website. The GG Stereo event works in two nybbles; in bits, its pattern is: 012N 012N. If the two nybbles are different, then it's stereo (unless the vgm is trolling you, which is still possible, though unlikely).

For example:
---------- C:\VGM\BATTER_UP\BATTER UP - 05 - MAIN THEME
0x00000040: 4F DE       SN76496:   GG Stereo: 0-2N-12N
(...)
This is stereo, see how 0-2N is different from -12N, it means that channel 1 doesn't play on the left, and channel 0 doesn't play on the right.

On the other hand:
---------- C:\VGM\POWER_STRIKE_II_GG\POWER STRIKE II (GG) - 01 - THEME
0x00000040: 4F 00       SN76496:   GG Stereo: --------
0x00000069: 4F FF       SN76496:   GG Stereo: 012N012N
0x000015E3: 4F 77       SN76496:   GG Stereo: 012-012-
0x0000160A: 4F FF       SN76496:   GG Stereo: 012N012N
0x00001816: 4F BB       SN76496:   GG Stereo: 01-N01-N
0x00001827: 4F BB       SN76496:   GG Stereo: 01-N01-N
(...)
This isn't stereo. It does weird things with the channels, but the nybbles are always the same.

If there are no lines for a given file in my log, it means that the GG Stereo events aren't present at all in that file; they were most likely stripped by whoever made the VGM rip, hopefully once he verified that said song didn't pan any channel(s). At least, that was the case with Sonic Triple Trouble, where I removed the GG Stereo events to save bytes (even though, by looking at the log now, it seems that I forgot a handful).

This is a starting point, I might or might not be bored enough to continue the job :P
log.zip (35.28 KB)
A log of GG Stereo events

  View user's profile Send private message Visit poster's website
  • Joined: 23 Apr 2014
  • Posts: 131
  • Location: NYC
Reply with quote
Post Posted: Mon Nov 23, 2015 1:43 am
Thanks so much for doing that. I just checked a few of the games on that list and X-Men + X-Men: GameMaster's Legacy are the best examples, since they have a sound test menu you can use right when the game powers on. All their sound effects are mono, but the music is stereo.

Here's a few others that had stereo music:

BATTER UP, DYNAMITE HEADDY, FANTASY ZONE GEAR, POWER STRIKE II, TOM AND JERRY, X-MEN

I'll do more testing tomorrow. I'm also curious if any of the games had stereo sound effects, or just music.

That's not too many stereo games. I guess that makes sense though, since the SMS was mono....
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Mon Nov 23, 2015 2:00 am
Since it appears you might have misread my previous post, please note that I processed and included all the Game Gear games which have a VGM rip, so you'll find both stereo and nonstereo games in that log, hence my comment about how to check the GG Stereo events. Creating that log was somehow easy since I could automate the process, but as I said, I didn't feel like finishing the job and I didn't review the GG Stereo events by hand, so everything is there. Reading the log and finding out which songs are actually stereophonic is up to the reader. Unless I'll eventually decide to mass-process that data too, but not right now.

I'm glad that you appreciated it, though :)
  View user's profile Send private message Visit poster's website
  • Joined: 23 Apr 2014
  • Posts: 131
  • Location: NYC
Reply with quote
Post Posted: Mon Nov 23, 2015 2:04 am
No, I think I understood...lol, I think. Basically, you found a list of all the games that could have stereo audio and I'll play each one for a few minutes to verify which ones actually do.

That about right?
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Mon Nov 23, 2015 2:29 am
No, that list contains all the Game Gear games with a known VGM rip on this website, with no exception. All the songs from all the games are listed there. There are almost 900 songs in total, that log is a raw vgm2txt mass conversion, followed by an ms-dos "find" command, later combined in a single log rather than almost 900 of them.

The point is, most games (if not all) wrote the GG Stereo event with full 012N 012N parameters even when not needed, so the GG Stereo event is present most of the times, even in nonstereo games. Of course, as I said, useless GG Stereo events have been removed from some VGM rips to save space, but this hasn't been done consistently. So, if you look at that log, and you find a game which uses no GG Stereo events at all (denoted by a blank line) or only "symmetric" GG Stereo events such as 012N 012N, then that game has no stereo songs. But it's still included in the log, because I batch processed everything. I automated as much as I could, but since looking for "asymmetric" GG Stereo events is something best done by hand, I didn't feel like doing that for almost 900 songs.

I hope this clarifies, sorry if I somehow explained that poorly, but English isn't my native language.
  View user's profile Send private message Visit poster's website
  • Joined: 23 Apr 2014
  • Posts: 131
  • Location: NYC
Reply with quote
Post Posted: Mon Nov 23, 2015 2:35 am
Okay, I understand now. Thanks again!
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Tue Nov 24, 2015 1:07 am
It looks like 2AM is that magical time in which I'm inspired. Or bored. Or both.

The attachment's name should speak for itself. Best viewed in a spreadsheet editor because columns. And yes, Excel exports csv files with semicolons instead of commas as separators, which isn't a bad thing per se since some song names use commas.

Example:
ARCH_RIVALS_GG\06 END OF GAME;NO
AX_BATTLER\AX BATTLER - 01 - MAIN THEME;YES
Song 06 from Arch_Rivals_GG isn't stereo, song 01 from AX Battler is stereo.

Again, this file covers all the songs from all the VGM packs from this website.
Refined Log.zip (7.84 KB)
<insert comment here>

  View user's profile Send private message Visit poster's website
  • Joined: 01 Apr 2005
  • Posts: 250
  • Location: Almere, The Netherlands
Reply with quote
Post Posted: Fri Nov 27, 2015 11:21 pm
If everyone's not doing it already, please also the list the ones that are verified to be mono. Great thread indeed. Stereo would really need to be played through the output socket. Either headphone or amp and speakers!
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Sat Nov 28, 2015 12:32 am
Once again, let me try to rephrase what I did if I explained that in a poor way. Those logs contain an analysis of all the Game Gear VGMs available on this website. Thus, unless one of the games with no stereo songs has stereo sound effects, it's somewhat safe to say that said game isn't stereo.

I wonder if this would warrant the creation of a "GG Stereo" tag (since that's the exception, while "GG Mono" would be the rule). Too bad that this list will always be as incomplete as the VGM archive, unless other inspection ways are found...
  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Sat Nov 28, 2015 12:33 pm
Excellent work. I did not think such a list could be produced so quickly.

FYI anyone continuing this...there are more vgm logs at http://www.smspower.org/forums/15359-VGMPacksGameGearMegaCollection

and possibly in the music forum. The latter have not been added to the site yet, and the former are not processed beyond the logging process. I think I logged all the easy ones, but a good deal remain unlogged. Nevertheless, the existing sets could answer the question. Interesting to see some tracks from some games have stereo and others don't. I appreciate the increased granularity as well as how well organized it is.

This is probably the most efficient method of confirming GG stereo games. Most vgms simply have all channels output to both sides which is basically mono in experience. Not sure if there's a way to scan gamecode to find the answer to this.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Sat Nov 28, 2015 6:30 pm
Thank you very much for the kind words, they're appreciated. I admire and respect what you've been doing with the VGMs, too. I might have a look at that mega archive eventually.
sherpa wrote
This is probably the most efficient method of confirming GG stereo games.
Unfortunately, there's always the chance that a song sets a stereo mode such as 0-2N -12N and then it only plays stuff on channels 2 and N, keeping channels 0 and 1 silent. It would set a stereo mode, but it would sound mono in practice. That's what I meant when I said "unless the vgm is trolling you" in one of my previous posts. The best confirmation method would still be a gigantic wave dump and channel comparison. That can be automated too, it just consumes more system resources. Maybe someday I'll just drop all the stereo-candidate VGMs in a Winamp playlist and get all the WAVs while I sleep or something, to screen out any false positive.
  View user's profile Send private message Visit poster's website
  • Joined: 05 Sep 2013
  • Posts: 3763
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sat Nov 28, 2015 11:22 pm
A (small) program could easily read VGMs and find if there's some sound (any volume not muted) playing on a PSG channel which is mapped either on left or right speaker only...
  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Sun Nov 29, 2015 6:10 pm
I started to tackle this the other day according to my question. I hoped to handle the issue from another angle...that is...whether it was at all possible for a game to have stereo in the first place. What I imagined a few short hours ended up being much longer. Rather than postponing, I created a new page.

http://www.smspower.org/Development/MusicEngine-GGStereo

Not sure about its naming, but it has my early notes. Diving in and getting a better answer is practically another project. There is no explicit answer yet for the majority of games. The final answer is a combination of what the code allows and how it is actually used. There were some contradictions in the results, meaning actually answering the question may be more complicated than originally assumed.

For example: Phantasy Star Gaiden:

Tom's analysis says there is no stereo in the game. In fact, a new log reveals that many songs have their own panning. Looking up the code also supports this fact. It loads a value from ram to affect panning. It seems to change for each song and every time there is a sound effect. So this is one of examples where either the GG Stereo was removed deliberately or as a consequence of the tools. I do not know if vgmtool r5 removed GG stereo deliberately, but I do remember some talk somewhere arguing in favor of removing it. I cannot recall the reason..perhaps to make it easier to render to mono or to remove differences in between sms and gg version....or something else?

For a while I thought I might be thinking about gg to sms conversions in which case it would make sense. However this is a case, where the existing vgm is NOT the final authority.

There are also faux stereo situations in which the same channels are being panned to both sides e.g. 0x11, 0x33, 0x77, 0xBB, 0xFF so it is effectively mono, or as mentioned in Tom's "trolling vgm" example, a case where some panned channels have no output and so are misleading. Also, some games seem to pan one value consistently i.e. DE, meaning it is set at the beginning, an never changed. It is stereo, but there is no dynamism beyond the initial settings. Some change the value many times throughout a song, so panning is extensive.

The code usually gives a better indication to this answer. According to the table, a game that has FF in the column is possibly not stereo . However the code may reveal that it is possible, and it may require logging all tracks, or testing to see if panning is only for sfx, or whether the code is used at all by hacking the sound engine or playing the game. In some cases, a NO in the column means the code indicates it is not possible. However it does not outrule maverick programming writing to the port using some creative code. Only more obvious methods were looked up. Exhaustive analysis would require hex editing the rom and searching for every possible combination of writing to the port, if such a thing is possible. Nevertheless, for practical purposes, if the only value being written to the port is FF or NA (uf) then the game is quite likely mono, no matter what the code may allow in certain circumstances.

I thought this would be a shorter project, but it looks as if you want to know...you will need to investigate each game more thoroughly, possibly relogging all tracks...writing them to wave file, sleuthing through code, maybe even creative testing through use of a debugger and knowledge of the sound engine. Meka has a variable that keeps track of the GG stereo value, so it may be possible to investigate this using scripts and external memory viewers.

FYI in vgms, if you search for hex code 4F, the succeeding value will usually be FF, except in cases where the audio is panned more carefully. The only issue here would be if for some reason 4F referred to a value other than GG stereo. A search through text seems to be more reliable, though it is beyond my knowledge on how to do that automatically.

Perhaps searching asm outputs of all the rom through code would be a step in that direction. I have no idea how to do that however-but it might speed up my efforts, which basically include manually extracting the relevant code sections from the disassembly (using emulicious), and sometimes testing to see where it is triggered in the game. But that just adds to the time.

The page is a bit sloppy, but I figured it would be easier to post what I've done, and see how the community responds. This was a question that also interested me when it was asked. It seems to be a bit more complicated than originally assumed.

edit: almost forgot..forgive my ignorance...

Is it possible for Codemasters games to write to the GG port? I'm not comfortable enough with the idea of mappers to know if they utilize a method. No Codemasters game, or any game that uses a block counter i.e. probe writes any commands to the GG port. Neither, not surprisingly do GG games in sms compatiblity mode. Alot of other games also seem not to use it, while others seem to use it only for sfx or only pan sfx. I have not done enough study to define the pattern at this point. Mainly wondering if there are other ways to test for GG stereo port other than a breakpoint on port 06 or similar code.
  View user's profile Send private message
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Sun Nov 29, 2015 9:13 pm
I know this about GG stereo support in Sonic games:
  • Sonic 1 GG - no (uses the S1 SMS driver without modifications)
  • Sonic 2 GG - yes (coord. flag E2 is the SMPS flag for GG stereo - see code at 4751h while the sound bank is mapped)
    Note: The coord. flag is present neither in Sonic 2 SMS nor in the Sonic 2 GG Autodemo. (It points to flag E6 instead.)
  • Sonic Triple Trouble - yes (flag E2, same code as S2 GG, see code at 53ADh)
  • Sonic Labyrinth - yes (uses same SMPS revision as STT IIRC, verified by VGM dump anyway)
  • G Sonic/Sonic Blast - yes (binary match with SMPS driver used by STT)

I don't know whether Sonic Spinball GG has stereo support or not, but the SMS version of Sonic Spinball doesn't have any trace of stereo support in the sound driver disassembly.

@sherpa: Banking and mapping usually affects only the memory map and not the I/O map, so that should be unrelated to GG stereo support.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14690
  • Location: London
Reply with quote
Post Posted: Mon Nov 30, 2015 8:50 am
The IO map is defined by the console, games can't change it. They can add things to it (which clash, requiring the ability to disable the clashing device).
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Mon Nov 30, 2015 9:52 am
sherpa wrote
For example: Phantasy Star Gaiden:

Tom's analysis says there is no stereo in the game. In fact, a new log reveals that many songs have their own panning.
Well, this is interesting, and I can confirm that I'm innocent, I just tried to run vgm2txt again, and I also checked the files one by one in vgmtool, but none of them has any "GG Stereo" event:


I'm sorry if the logs I provided are now less useful than they should be, but I could only work with the existing VGM sets.
  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Mon Nov 30, 2015 10:19 am
@Tom No problem :) That wasn't intended as a criticism. I really appreciate the quick work you did analyzing existing logs. It brings things down to the granular level. I was merely pointing out to the existence of these inconsistencies. You even alluded to the issue of logs not reflecting the facts in an earlier post in this thread (mentioning you tried to remove stereo bit from vgm). I thought it obvious that the issue was with the logs themselves rather than your methods. I suppose it should not remain an unchallenged assumption, but I definitely wasn't "calling you out" or criticizing the accuracy of your methods. My findings were mostly consistent for the most part with your results. I believe I found ~3 issues and I had to look for it. Phantasy star wasn't just an example...it was the ONLY example I had found I was prepared to discuss...so I did.

I believe you mentioned you removed the stereo commands to make the files smaller. At first reflection, this would not seem to be very effective since it is usually just a few bytes. I've also wondered (@VB) if the current/past tools might remove the stereo flag, or if it can get cut off if it takes place later in the vgm rather than the beginning, or during optimization. The file I logged didn't even have the stereo event at the beginning, (3 times one after another later on) but I didn't actually start logging from the start, so it could be the start of the sound code. Alot of games do send the command before every song (e.g Doraemon Waku Waku Pocket Paradise), others seem to set it once and then forget it for the rest of the game. (e.g. Sonic the hedgehog). Some seem to pan only sfx at first glance, but I have not researched enough to confirm those instances yet.

Now that I think about it, I wonder, does removing the 4F XX commands from a vgm improve performance with vgm optimization? Or is it just a few bytes?

It still hasn't been clear whether this issue was due to a desire to optimize the output or whether GG stereo was frowned upon. Removing stereo seems to clash with the value of preserving the user experience "as it is" of the vgm.

I would still love it if you might run your magic scripts on the other sets..it's wonderful to have this info represented somwhere else. It probably deserves its own page. If you were willing to produce the initial data (or share your methods so I could duplicate) I'd be willing to do the rest of the work if you are otherwise unwilling. Of course I appreciate any help. I think it's very helpful to see the actual status of these vgms on this site, and to have some way to compare to the original. I tend to shy away from anything that might cast critical light on previous work (there aren't many working with vgms anymore) and I really appreciate insight into this issue.

I was ultimately just pointing out that making quick assumptions ended up being an inadequate strategy. As an insight into which games support stereo, the logs might sometimes be wrong, but there's no helping that if the ripper removed data from the vgms and either didn't note that, or did, but we are not looking at that when examining this. Nevertheless, I think the benefits far outweigh the problems when investigating this issue. I still think vgm analysis provides the more final answer (even if it excludes games that pan only sfx). Actually getting to a more definitive answer requires a bit more work. It is still possible to get misleading results, since we are attempting to enter the mind of the sound programmers more deeply (e.g. what if the only stereo song is unused? How would we categorize this?) No method is perfect. I have had to look back on my existing work and still discover mistakes from time to time despite my attempts to be careful. So thanks again for jumping in. If you hadn't this would have remained a curious afterthought with no progress.

We have FM flags for some games, excluding some that have the code for FM but that either sound terrible or that have a broken implementation (e.g. Where...is Carmen Sandiego?). I don't think it would be bad to create a GG stereo tag. Corrections could always be made later once the original work was set up. For that intention, your work is more than enough to get started. Thanks again. There would have to be some agreement on what a game would need to do to qualify. According to this thread, that still has not been adequately qualified.

@VB thanks for your confirmation on these games. My results seem to contraindicate this for sonic 1 most obviously, but I looked closer, and in practice, the game seems to pan 0x41 (channel 2 left, channel 0 right) when playing the "SEGAAA" psg waveform (something not found in the sms version) and then set it to FF (all channels-both sides). As far as I know, the code is not revisited for the rest of the game (I only tested a few levels).

@Maxim Thanks for your adding more clarification on the issue of mappers and io conflicts. Can you recall a specific example?.

Thanks to everyone for their input.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Mon Nov 30, 2015 1:31 pm
That's a long post and forgive me if I'll give you a sparse reply.

Removing the "GG Stereo" command from a vgm only saves 2 bytes (plus, eventually, the delay, so 0 to 3 more bytes), yes. Not sure how much that changes when compressed to vgz. Since psg-only vgm files are usually in the range of hundreds of bytes (few thousands at most), I seem to remember that back in the day such a removal wasn't negligible, as proven by the many vgm files without "GG Stereo" events. It wasn't meant to remove the stereo per se, it was a mere byte saver and it should have been done with caution, after checking that the "GG Stereo" events were only used with a 012N 012N parameter (or after listening to the song as a whole and confirming that it didn't pan any thing). Now, as much as I tried to make sure that none of the songs from the few packs I created actually used stereo, I can't confirm that this was indeed the case. The point is, it happened 13 years ago, I can't really remember and I can't vouch for my 18-years old self. I'll see if I can take another look.

re: all the packs you posted in your topic. To save me from doing a mass-download, would you be able to create a gigantic zip (not a vgm7z!) with all of the individual vgm files, please? Feel free to put it on dropbox or even send it to me via email if you want, since it would just be a temporary thing.

re: "my magic script", it's just good old ms-dos black magic. First, you'll need ValleyBell's vgm2txt. Then, you can use the FOR command (I assume you know how to CHDIR your way from a command prompt).
FOR %d in (*.vg?) DO vgm2txt "%d" 0 0
I had to use more command-line options since the other packs weren't consistent and I had to comb through various directories, but that should do the work. Once you have a collection of txt files, you simply have to use the FIND command.
FIND "Stereo" /i *.txt > mylog.log
You might want to remove the description txt, if present, before you run the FIND command, so it wouldn't clutter up your results, something I had to do by hand afterwards and it took a lot of time. Once you have one or more logs, you can easily chain them together in a variety of ways. I used the "+" syntax of the ms-dos COPY command since I was already there, but most text editors would do, so this is left to the reader.

To produce the refined log, I wrote a small program in VBA within Microsoft Excel (but, again, there is a number of ways to do this), which merely checked the parameters of the "GG Stereo" events. If the first 4 bytes were different from the second 4 bytes (remember, we're talking about the "012N" string from a text file here), a flag was raised and "YES" was written. Then I saved the spreadsheet as csv.

re: creating a "GG Stereo" tag. Most of the approaches used so far tend to be more restrictive than not, with only one unlikely case of false positive (panned channels, but unused). So I think it would be safe to start tagging games as "GG Stereo". It would be a subset for now, but more can be added while we proceed with the checks. And if a false positive is indeed found, the tag can be removed accordingly.
  View user's profile Send private message Visit poster's website
  • Joined: 15 Sep 2009
  • Posts: 377
Reply with quote
Post Posted: Mon Nov 30, 2015 4:56 pm
sherpa wrote
I've also wondered (@VB) if the current/past tools might remove the stereo flag, or if it can get cut off if it takes place later in the vgm rather than the beginning, or during optimization.

None of the tools should strip off commands during the trimming process.
VGMTool2 r5 even enforces a stereo command at 1. the beginning of the song and 2. at the beginning of the VGM loop. (even for SMS logs)
vgm_trim moves the stereo command to the beginning of the song if you try to trim it off.

However, I don't know how well emulators log the stereo commands.
I remember that Kega Fusion 3.64 sometimes wrote 4F 00 into VGM logs for GG games that never wrote to port 06.

sherpa wrote
@VB thanks for your confirmation on these games. My results seem to contraindicate this for sonic 1 most obviously, but I looked closer, and in practice, the game seems to pan 0x41 (channel 2 left, channel 0 right) when playing the "SEGAAA" psg waveform (something not found in the sms version) and then set it to FF (all channels-both sides). As far as I know, the code is not revisited for the rest of the game (I only tested a few levels).

The complete sound ROM bank is a 100% match between Sonic 1 SMS and GG, except for two added commands for the "Good Ending SFX" song.
  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Mon Nov 30, 2015 5:31 pm
@Tom Thanks for that. Certainly a regrettable historic decision. 10 years ago broadband would have mitigated the issue, also the fact that most HDD file systems use 4k clusters or larger (don't remember specifics) so the actual byte level size of the files would have been unlikely to affect actual HDD storage. HDDs were much smaller back then as well. Valley Bell's modern tools didn't exist then..so were vgms from then much larger? I only arrived recently, so I take all these developments for granted as well as my ability to use various freeware tools to easily do what would not have been the case 13 years ago.

BTW I've sent you a message with a link to all the GG packs.

@VB Well thanks for the additional info on vgmtool r5 and how another emulator logs vgms. Setting a value of 00 would definitely be problematic. Not too crazy about coming across stereo commands in games that don't include it, but that is belaboring upon trivialities after the fact. Does add a bit of challenge to this project.

I was also pretty sure sonic didn't later on use any GG stereo commands, but your statement that they are exactly the same confirms this.

Thanks
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14690
  • Location: London
Reply with quote
Post Posted: Tue Dec 01, 2015 12:08 am
Emulators logging VGMs would need to set the initial state at the start of the file. This would include the GG stereo state, unless they were clever enough to omit it in SMS mode. Even in GG mode, there's no way to know if stereo might happen in the future. So it's there.

VGMTool operates in a similar forward mode when trimming and looping (the loop point needs another state dump). It attempts to compensate for dodgy VGMs by adding in the GG stereo. It does however remove any stereo port writes which have no effect (writes of the existing value). Thus the final file might end up with two writes, both set to all channels. It would be an extra step to remove these automatically, but I didn't add code to do that; instead I added the write counter and stripper. Its purpose is twofold: to remove unwanted stuff (some emulators would dump a full PSG and FM state, so you'd want to remove the extra) and also to allow you to produce isolated track VGMs. Since it worked OK for manual GG stereo removal, the automatic cleanup was never needed.

And that's the history lesson. These days, we have command line tools that can do much of the same stuff, although I prefer a UI. Some have tried to make a new VGMTool, but it hasn't got anywhere yet. So we're left with whatever I wrote a million years ago...
  View user's profile Send private message Visit poster's website
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Tue Dec 01, 2015 12:42 am
Wow, that archive is gigantic. And the second half seemed to be less organised than the first. I processed the first half for now, and I won't lie, I had more than 6 gigabytes of temporary files at a certain point.
Another Log.rar (789.2 KB)
Guess what
Another Refined Log.rar (12.85 KB)
Keep guessing

  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Tue Dec 01, 2015 9:16 am
Amazing work! And so fast! This would have taken me a very long time to do. I'm guessing this output must have come from a script, or you're very fast at recording your results :) Either way, I'm grateful.

It's promising to verify (in accordance with what was stated) that the tools do not seem to negatively affect the stereo aspect. Also, a bit disappointingly, but not surprising, a lot of games do not support stereo.

Sorry for the "mess" :) Unfortunately due to how I tend to work on sets, the originals and the final versions cannot coexist in the same folder. Thanks for moving forward on this so promptly.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Tue Dec 01, 2015 4:22 pm
The problem with the pack is that there were a lot of duplicated tracks, I tried to clean up some of them but with thousands of files I gave up and processed them anyway.

This should cover the remaining tracks, maybe I missed some of them if filenames collided, but eh.
Log 3.rar (495.61 KB)
Your ad here, call me at 555-1234
Refined Log 3.rar (5.2 KB)
I'd like to take this chance to say hello to all my friends

  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Thu Dec 03, 2015 12:38 am
Major update to the page.

http://www.smspower.org/Development/MusicEngine-GGStereo

Thanks to Tom's work, we have some final(ish) answers to a good amount of the games regarding whether they support stereo. There is still some room for false positives, but the columns are more complete. I finished integrating everything from his logs at least to a preliminary level. I will be revisiting some to refine the data in the columns later.

If you want to start adding some GG Stereo tags, there are a good number of safe bets on the list.

The highest ranking should go to Tom's column. It's possible, that some of those NOs may end up otherwise upon relog, but since a lot of the entries are taken from my logs they should be more accurate. Any game that has what is stereo specifically defined is a safe bet to add to the list. Others are judgement calls. Sonic 1 for example IS stereo, and Tom's log corroborates it..but only at the logo, for the voice, and at no other time. Not stereo? Not quite accurate, but it's debatable whether it merits the tag. There are also games where only one song or one effect are stereo-this raises the spectre of some games marked as no..merely missing the sfx that is stereo. Early on I only logged to C0 instead of D0 where many games have sfx (sega like triggered based ones).

Many didn't test sfx, but if the results were no, and no writes to port 6 are detected (uf) - then in some cases I marked it a no, or added a note to test sfx later. But that's more about winnowing toward accuracy-a correction can always be made later.

If there are any values in the stereo code column where the value in bits 0-3 doesn't match 4-7, then the game is stereo. What may not be clear is whether both music and sfx are affected, or one or the other. Or whether the stereo always pans the same way. Technically that counts, although I don't find static use of stereo very interesting.

I covered a little less than 1/3 of the alphabet for the first run through of code. I will make a few more passes over the code (thanks to Calindro for helping make that much easier) and whatever is left should be what is definitely mono. Hopefully the other columns will already indicate that by then.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Thu Dec 03, 2015 1:05 am
That page is awesome. I don't even want to know how much time you needed to make it.

By the way, there should be some kind of note on Slider's entry, because only a hidden unused song (only accessible through hacking) is stereo, the main OST is mono.
  View user's profile Send private message Visit poster's website
  • Joined: 28 Nov 2014
  • Posts: 365
Reply with quote
Post Posted: Thu Dec 03, 2015 5:51 am
Good call. I added a note mentioning this. I'll have to test it later to see if the sfx are in stereo, since we only tested the songs.
  View user's profile Send private message
  • Joined: 16 May 2002
  • Posts: 1355
  • Location: italy
Reply with quote
Post Posted: Sun Dec 06, 2015 4:17 am
I just went through the sound test of Sonic Triple Trouble again, and it turns out that 18-years old Tom did a correct job after all, none of those songs use stereo effects.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14690
  • Location: London
Reply with quote
Post Posted: Fri Jul 29, 2022 10:22 am
Resurrecting this thread, I've started adding tags to games that definitely use stereo:

https://www.smspower.org/Tags/Stereo

However it is very incomplete - I'd like to restrict it to cases where it's confirmed, but it's usually easy to test for a given game. The wiki page linked above is very thorough but doesn't seem to have a "confirmed" column!

I spent a little time to try all the GG games starting with A and check if I hear stereo at the start, and confirmed a few.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14690
  • Location: London
Reply with quote
Post Posted: Tue Aug 02, 2022 10:10 am
Confirmed stereo in games starting with B, C, D, E, F.
  View user's profile Send private message Visit poster's website
  • Joined: 07 Nov 2018
  • Posts: 42
  • Location: Brazil
Reply with quote
Post Posted: Tue Jun 27, 2023 3:34 am
Nobody mentioned how the doll collecting jingle in Wonder Boy is stereo...
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!