Author Topic: I just had a crazy idea: WinXP patch for the S-YXG70!  (Read 8951 times)

Goku7

  • *
  • Posts: 1301
    • View Profile
Sure, call me crazy for this (especially since Yamaha sells an XP-compatible version of the XG50), but I think we have the tools to actually pull off an actual WinXP patch that could be applied directly to the S-YXG70 install, without forcing you to buy the synth all over again.

As you may or may not know, the S-YXG70 contains two engines: the XG20 and the XG50 engiine.  Because of this, there are undoubtably several program/driver files that the XP-compatible XG50 shares with the XG70.  It may be possible to use either Dag's Patchmaker Program, or just a straight rip of the XP-compatible XG50 files, to overwrite the XG70's files and allow the XG70 to work under WinXP, when its set to "XGSoft" mode.

Now, I would suggest that we use Dag's patching program to do this, as this way the patch could not be classified as "pirating" the software.  In addition, since it would only change the existing files of a synth you did LEGALLY acquire when you bought FF7pc, it could be considered a 3rd-party update and not software pirating...I think.  Plus, the way things currently are, Yamaha is essentially doing extortion (sp?) by forcing those people who own the XG70 to buy their software ALL. OVER. AGAIN.  That in itself is reason enough for me to at least try to do this.

IF this works, I also think we oughta put this patch on the FF7 section of the FFSF Project site.

Now, I don't know if the reason why the XG70 won't work in XP is because of registry settings or some other thing that is unrelated to the program/driver files, but if it is, then by all means tell me.

You should also note that if this works, the XG20 mode should still be non-functional in XP, as only the XG50-specific files would be affected.

The Skillster

  • *
  • Posts: 2284
  • Loving every Final Fantasy
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #1 on: 2004-01-04 00:59:51 »
quick note
syxg70 installs it self as a sound device via the win9x's system.ini
Therefore not actually installing any device drivers, only the midi system.
Whereas in xp, it installs as a WDM compliant multimedia device, Hence simulating a soundcard in much aspects.

Therefore, Id assume you would need to rip the device drivers and driver inf files, and create a driver pack, and a set of compatible system files.

Well thats what I think anyway..

Goku7

  • *
  • Posts: 1301
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #2 on: 2004-01-04 01:37:10 »
Quote from: The Skillster
quick note
syxg70 installs it self as a sound device via the win9x's system.ini
Therefore not actually installing any device drivers, only the midi system.
Whereas in xp, it installs as a WDM compliant multimedia device, Hence simulating a soundcard in much aspects.

Therefore, Id assume you would need to rip the device drivers and driver inf files, and create a driver pack, and a set of compatible system files.

Well thats what I think anyway..


That could very well be a possibility of just what extra stuff we'd have to include.

However, I've noticed that in Win9x, the S-YXG70 also installs as a "wave device", and unless that is also being created via few extra lines in the system.ini file, it must mean that there are at least some files that are dumped into the Windows\System folder....which is where sound card drivers usually go.  If this is the case, then an .inf hack in conjunction to updating the files that govern the synth itself, might be enough to get XP/2000 to recognize the S-YXG70 as a valid device.

-edit-

It should also be possible to use Dag's patching program to patch the .vxd drivers to be WDM drivers (as in, the vxd files become .wdm files), and then (hopefully), hack the .inf to make the program look for the .wdm's instead of th .vxd's.

Goku7

  • *
  • Posts: 1301
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #3 on: 2004-01-07 19:40:43 »
Alright, seeing as how I don't have the XP-compatible XG50, I must ask a small favor those of you who do have it.

In my experience, in every XG softsynth, there is a button on the configuration panel that opens up a dialog box that lists the the files that make up the softsynth, and the version numbers of each.  What I would like to do, as a starting point, is to compare what the S-YXG70 lists with what the XP-compatible XG50 lists.

As such, here is the file name/vesion information on the S-YXG70:

Quote
SXG07.DRV       --      1.00.0
VSWP.VXD        --      2.001.6
MMX32X00.DLL  --      1.00.0
MMXSWP00.DLL --      1.00.0
SGMMOD00.DLL --      1.00.0
SXG07MX1.DLL  --      1.00.0
SXG07MX3.DLL  --      1.00.0
SXG07SYS.DLL  --      1.00.0
SXGBCPL.CPL    --      1.00
VCE50_2M.DLL  --      1.00.0
SGPWAV00.TBL --      MU50 1MB
SXGWAVE2.TBL --      MU50 2MB


Ok, now here are my notes of what these files are:

First, all these files can be found in "C:\Windows\System\" on Win98SE....a fact that got me thinking.  Normally, files that would go into the System folder on Win9x are supposed to go into the System32 folder in WinNT.  The solution could be a simple case of the installer not knowing that and putting them in the System folder instead of System32, thus killing Win2k/XP functionality...which means that the synth may actually work if we move all the files into the System32 folder, or even "System32/Drivers".  If this is the case, no patch is necessary, and we can all say "Doh!" at our collective oversight of this. :P

SGPWAV00.TBL and SXGWAVE2.TBL appear to contain the actual instrument samples for the S-YXG70.  Most likely, these would not need any patching, as they should just be instrument data.

I have a suspicion that SXGBCPL.CPL should be the file that launches the S-YXG70's configuration control panel, as CPL files are usually the actual applets that are in the "Control Panel" folder.  If not, then there is a good chance this file is at least strongly related to the configuration applet.  We should probably leave this one alone as well, unless our patch renders it incapable of controlling the synthesizer.

VCE50_2M.DLL appears to control the Voice/Polyphony aspects of the S-YXG70, to the best of my knowledge.

SXG07MX1.DLL, SXG07MX3.DLL, and SXG07SYS.DLL appear to be the three core components of the actual driver itself.  These files should be the first logical things to investigate as candidates for patching.

VSWP.VXD is the Virtual Device Driver for the S-YXG70.  This may present a problem if WinXP is not compatible with the VXD driver model itself.

Ok, that's all I've got so far....put our heads together and see what we come up with.

Aaron

  • *
  • Posts: 2818
    • View Profile
    • http://aaron-kelley.net/
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #4 on: 2004-01-07 21:35:38 »
I can't find a button in the XG control panel that brings up something like that, but here is the info by going to "Driver Details" on its properties in the device manager.

File name / version / provider:

c:\windows\system32\drivers\drmk.sys / 5.1.2600.1106 (xpsp1.020828.1920) / Microsoft
c:\windows\system32\drivers\ks.sys / 5.3.0000000.900 built by: DirectX / Microsoft
c:\windows\system32\drivers\portcls.sys / 5.1.2600.1106 (xpsp1.020828.1920) / Microsoft
c:\windows\system32\drivers\stream.sys / 5.3.0000000.900 built by: DirectX / Microsoft
c:\windows\system32\drivers\sxgxgwdm.sys / 5.13.2600.4 / YAMAHA CORPORATION
c:\windows\system32\ksproxy.ax / 5.3.0000000.900 built by: DirectX / Microsoft
c:\windows\system32\ksuser.ax / 5.3.0000000.900 built by: DirectX / Microsoft
c:\windows\system32\sxgapi32.dll / 1, 0, 0, 1 / YAMAHA CORPORATION
c:\windows\system32\sxgbin41.tbl / Unknown / Unknown
c:\windows\system32\sxgmasys.tbl / Unknown / Unknown
c:\windows\system32\sxgwave4.tbl / Unknown / Unknown
c:\windows\system32\wdmaud.drv / 5.1.2600.0 (XPClient.010817-1148) / Microsoft

Driver version: 5.13.2600.38
Date: 5/28/2002
Provider: YAMAHA CORPORATION (they really do like all caps)

Here's its control panel (this is not the driver properties thing) :



Obviously, some of those are Microsoft's files that get tacked on to any WDM audio device, and the rest are Yamaha files (those unknown ones are Yamaha too).  Some of them look kind of like your files.

Quote
The solution could be a simple case of the installer not knowing that and putting them in the System folder instead of System32, thus killing Win2k/XP functionality...which means that the synth may actually work if we move all the files into the System32 folder, or even "System32/Drivers". If this is the case, no patch is necessary, and we can all say "Doh!" at our collective oversight of this.

I doubt it... Windows 9x and Windows 2000/XP don't use the same kind of drivers, so I doubt you'll get it to work by just moving the files.

You might be able to replace the wave files in the working S-YXG50 with the wave files from the S-YXG70 or something, but since they sound so similar anyway, might as well just get the S-YXG50.

xeriouxi

  • *
  • Posts: 370
    • View Profile
Can't somebody provide a *ahem* link...
« Reply #5 on: 2004-01-08 13:49:47 »
Hi!

I remember somebody could *ahem* provide the XP version... who was that? Will it make a difference to the 1 second time lapse at the start of each MIDI file or not? In fact... what is the purpose of this program?  :-?

The idea sounds good, but i'm sure that there is someway to *ahem* download the setup file, right?  :wink:

xeriouxi.

Aaron

  • *
  • Posts: 2818
    • View Profile
    • http://aaron-kelley.net/
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #6 on: 2004-01-08 14:17:49 »
Quote
Will it make a difference to the 1 second time lapse at the start of each MIDI file or not? In fact... what is the purpose of this program?

I'm not experiencing much of a time lapse at all.  This program is a MIDI synthesizer, you can use it to play back MIDI files without using the hardware MIDI in your sound card.  It also probably sounds better than the MIDI your sound card gives you, unless you're using a soundfont or have an XG sound card.

The Skillster

  • *
  • Posts: 2284
  • Loving every Final Fantasy
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #7 on: 2004-01-08 22:05:20 »
there is a noticable delay when using winamp and changing through midis, I thing it depends on how much CPU time you let the XG have.

Aaron

  • *
  • Posts: 2818
    • View Profile
    • http://aaron-kelley.net/
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #8 on: 2004-01-08 22:13:02 »
Are you using the XG-70 or the XG-50?

I just threw some MIDIs into a playlist and was able to switch between them with well under a quarter second delay.  I have the thing set to use at max 50% of my Athlon XP 2400+.  It's the XG-50, I think the XG-70 may have more of a delay problem.

The Skillster

  • *
  • Posts: 2284
  • Loving every Final Fantasy
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #9 on: 2004-01-08 22:18:08 »
i got the same as you aaron, and i think i know why :D
lol its set at 90%, come on, does it NEED 90% of a 2.66GHz P4 with 700Meg ram???
Sorry I second that it does (joke)
I did check it, I made a mistake, there was delay when opening WMAs ITs and MODs, not Midis.
On opening Midis CPU% in task manager shoots to 10-19% which i suppose is normal.
Damn I need a HT CPU now :P

Aaron

  • *
  • Posts: 2818
    • View Profile
    • http://aaron-kelley.net/
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #10 on: 2004-01-08 22:20:47 »
Heh, 50% was the default, and I don't think it should ever need more than a GHz to play a MIDI...

Anyway, I think I'd like one of those AMD64s :P

The Skillster

  • *
  • Posts: 2284
  • Loving every Final Fantasy
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #11 on: 2004-01-08 22:24:21 »
Naa not yet, they havent quite standardised that field, chances are they may change the socket again 6 months down the line.
Even thought Its a Huge Marketing ploy, Id love a P4 3.2 EE CPU man.
Does things are good, till 64bit is mainstream, untill then my p4 2.6 is good, well till 800MHz HT 3.2Ghz P4s come down to £100 mark
--I know massively off topic

Goku7

  • *
  • Posts: 1301
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #12 on: 2004-01-08 23:43:57 »
*attempts to get discussion back on-topic*

Hmm....this looks like it may be harder than I thought.  Especially if one of the .dll files performs functions that the S-YXG70 uses more than one .dll file for.  We may have to look at this from another direction.

So, let's start like a doctor would do.  Let's get a symptom list, and figure stuff out from there.  I would like to know what exactly happens when you install the S-YXG70 in XP/2k.  Does it install correctly and then just give you no MIDI output when selected, or does it not even show up in the MIDI device list, or what?  After installation, where are the S-YXG70 files located?  Are they being put in the "Windows\System" folder, or are they being put in the "Windows\System32" or "System32\Drivers" folders?

I'd also like to see what kind of registry entries the XG50 makes.  Note that I'm NOT talking about registry entries that contain the options for the synth, but ones that list the synth as a recognized device, if there is such a centralized list in the registery.

This idea came from the fact that there is such a centralized list in the registry for OpenGL drivers, and on Windows2k/XP it's found somewhere under "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\", and in Win9x its under "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\".  Now, get this:  Both the "Windows NT" and "Windows" registry paths are there in Win9x, but if you try to add/modify an OpenGL driver listing to the Windows NT path, it will not have any effect on windows because it does not go to that folder to look for drivers information/listings.....

I'm pretty sure you can see where I'm going with this.  The S-YXG70 installer, due to not being aware of the differences between NT and 9x, blindly puts its registry entries under the "Windows" path instead of the "Windows NT" path, and thus XP/2k don't see the device.  If we manually put the corresponding registry entries under the Windows NT path, then windows might all of a sudden notice the synth.

Now, why should we both with registry entries?  Because I'd like to verify or eliminate the possibility that the S-YXG70 installer simply does not know how to install the synth correctly on Win2k/XP.  It could simply be that the synth will work in XP/2k as it is, except that it needs to set up shop in WinNT's field of vision within the registry.

Aaron

  • *
  • Posts: 2818
    • View Profile
    • http://aaron-kelley.net/
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #13 on: 2004-01-09 00:05:15 »
Once again, I doubt you'll be able to fix this problem just by moving stuff around (files or registry).  Windows 9x and Windows 2000/XP have different driver models (i.e. drivers designed for one do not work for the other), so it's gonna take a bit more tinkering.  (If it was easy, I think it wouldn't have taken Yamaha so long to release an XP-compatible product :P)

To answer you questions: The S-YXG70 does not show up as a device after installation in Windows XP.  It puts the files in c:\windows\system32 (as I thought, it correctly recognizes the main Windows system directory, like most other programs).  If you can give me more specifics on the registry, I can check into it for you.

S-YXG50 seems to be putting stuff in the "Windows" key and not the "Windows NT" key.  However, most of its stuff seems to be in HKLM\System, with the rest of the device drivers.

[Edit] I take it back, I found some S-YXG50 stuff in the "Windows NT" section of the registry as well.  Heh, how'd I miss that? :P

[Edit II] I can't spell!  Argh.

Goku7

  • *
  • Posts: 1301
    • View Profile
I just had a crazy idea: WinXP patch for the S-YXG70!
« Reply #14 on: 2004-01-26 22:28:40 »
Arghh.  I've been busy these past few weeks, so much to the point that I had to put this on the back burner.... I hope this still isn't considered bringing a dead thread back, but since there still seems to be some questions that are unanswered, I figure that they at least deserve some answers.

Quote from: Aaron
Once again, I doubt you'll be able to fix this problem just by moving stuff around (files or registry).  Windows 9x and Windows 2000/XP have different driver models (i.e. drivers designed for one do not work for the other), so it's gonna take a bit more tinkering.  (If it was easy, I think it wouldn't have taken Yamaha so long to release an XP-compatible product :P)
Quote


I agree, but it still doesn't make sense that they wouldn't also provide a patch for those who bought the previous versions of it, instead of completely giving up and saying "you want a working version?  Fine.  Buy the synth again."

Quote
To answer you questions: The S-YXG70 does not show up as a device after installation in Windows XP.  It puts the files in c:\windows\system32 (as I thought, it correctly recognizes the main Windows system directory, like most other programs).  If you can give me more specifics on the registry, I can check into it for you.


That's good, however....

Quote
S-YXG50 seems to be putting stuff in the "Windows" key and not the "Windows NT" key.  However, most of its stuff seems to be in HKLM\System, with the rest of the device drivers.


So, it correctly recognizes the WinNT system directory, but not the registry path?  Perhaps the installer is only partially WinNT-aware.  Just for kicks, try inserting a copy of those keys (keeping the key directory structure of them intact), essentially making it so that each entry's path in the Windows key has a twin under the WindowsNT key (for example, if one entry for the S-YXG70 is in "HKLM\Software\Microsoft\Windows\CurrentVersion\xxxx" then its twin's patch would be HKLM\Software\Microsoft\Windows NT\CurrentVersion\xxxx").  At the very least, we'd be ruling out the whole Windows/WindowsNT thing if it doesn't work.

Quote
I take it back, I found some S-YXG50 stuff in the "Windows NT" section of the registry as well.  Heh, how'd I miss that? :P


Well, that's.....interesting.  What parts are in the Windows NT key?

I have another suggestion on where to look in the registry, its "HKLM\System\CurrentControlSet\Services\Class\MEDIA", and its subordinate keys: 001, 002, etc.  This appears to be one of the places in the registry where the audio devices are being mapped to drivers....perhaps something is wrong here in comparison to how its normally supposed to work?

"HKLM\System\CurrentControlSet\Services\Class\VXD" might be another good place to look, as the S-YXG70 is using the VXD driver model.