******HERE IT IS*******TEST IT IF YOU WANT******(update 8th Feb at bottom)
Posting of any benchmark findings/results will be greatly appreciated!!!
http://www.softwarepatch.com/windows/vbrun6.html
Theyre the visual basic runtime libraries, as the webpage says, they're needed to run applications that were written in Vb6, which this one was.
http://www.synthdude.com/affinity.zip
Download that. That's my bit of the program. It needs two other little programs to actualy work though.
That's got process.exe in it. The webpage will give you some info/background on it.
http://www.beyondlogic.org/solutions/processutil/process203.zip
And this is StartAffinity.exe
http://www.adsciengineering.com/StartAffinity/StartAffinity_bin_1.3.zip
OK, for it to work, StartAffinity.exe needs to be renamed SA.exe (because I'm lazy).
With that done, put both SA.exe and Process.exe into the System32 folder (again because I'm lazy, the program gets the location of your system32 folder from your registry then uses it in the path for Process.exe and SA.exe)
Now, run Affinity.exe.
Hopefully it's fairly self explanatory, I'll explain how to use it here anyway.
Clicking Run (or Alt+R) will assign all your running processes to CPU 1. Undo (Alt+U) assigns all your running processes to CPU 1 and 2, and Windows takes over as normal. Exit (Alt+E) does exactly what it says.
Now, the long text box is for the full path of the game you want to run on CPU 2.
For example F:\Splinter Cell\Chaos Theory\system
Then the smaller box is for the .exe name.
For example splintercell3.exe
They're split up like that because, yep you guessed it, I'm lazy. Basically, some files need to be started in their folder, (on their shortcuts properties, 'Start In' will have their containing folder in) so the application path is used for the ChDir and ChDrive functions in VB. At the time it was easier to just use that as a seperate string to manipulate than to make it trim the last bit off.
Clicking 'CPU 2 it' will run the program on CPU2, and then exit affinity.exe.
If you have any requests etc, post/PM and I'll try and add to the program. Also, if you want your games to automatically launch on cpu 2, then there's a way you can do that too, and I can explain it if yanyone wants, which one person did, so here it is:
******HOW TO AUTO START ANYTHING ON CPU2******
So, like me, you're lazy, and don't want to have to type in the path/.exe of the game you want to play. Well, that's fair enough, so here's all you have to do.
Say you have a shortcut to a game's .exe. For simplicities sake, i'm going to pretend notepad is a game.
Create a shortcut to notepad.exe on your desktop. Right click on it, and go to properties. At the top, you'll notice it says target?
And more often than not, it'll be C:\WINDOWS\SYSTEM32\notepad.exe.
If you have windows 2000 and installed windows on a dif partition, say, E, then it'll be E:\WINNT\SYSTEM32\notepad.exe, but you get the idea.
So, you just need to put SA at the start, and a 1 at the end. i.e
(The spaces are important)
SA C:\WINDOWS\SYSTEM32\notepad.exe 1
Windows will then do the rest for you, i.e make it
C:\WINDOWS\SYSTEM32\SA.exe C:\WINDOWS\SYSTEM32\notepad.exe 1
(Well, XP does, 2k probably does, but I thought I'd put that there just incase it didn't.)
If you want something to start on CPU 1, put a 0, not a 1. If you want it on both, put
...\notepad.exe 0 1
(The spaces are important)
Annnnd you're done. Now, when you click on that shortcut, it'll launch notepad, on CPU2.
****8th Feb Update*****
I forgot to mention the command line stuff.
Basically, if you want it to run on startup, you can add it to the startup folder, or make the necessary registry entry (if this is to much work, I can add a button for it into the app.)
So, I'll presume you've bunged it in the startup folder. Right click, go to properties, where it says target, after affinity.exe, put " auto" (without the "", the space is necessary)
Then it'll run automatically and assign the processes to CPU0, (it wont load the form, itll just do it and exit)
If you put " auto10" for example, it will wait ten seconds after startup before running (just incase some long startups mean it misses processes if it runs straight away)
There ends the command line stuff for the mo. Any requests, PM me/post for them.
N.B
Chaos Theory uses a disc checking method that uses the System process(and possibly 2 others, either way, net effect is the same). If you try to launch CT on cpu2 having set the affinities to cpu 1, you'll get BSOD.
0x00000003 INVALID_AFFINITY_SET
or some such. I've solved this in my program, so if any other games give you that BSOD, then I'm afraid you'll just have to launch them with my program if you want them on CPU 2 by themselves. If all the other processes are on both cores and you just want to run a game on a single core regardless of other processes, then you can use the shortcut method fine, it's only when System.exe is on a dif CPU that problems arise. The other culprits were CSRSS.exe, and explorer.exe, they were all involved in launching CT, but whether they would cause the BSOD or not i didn't bother checking, I just fixed it for all of the processes involved in launching it, just in case.
I think that's everything. If you want anything changed, PM/post. Even if you just want different colours or something lol, although I'll probably get bored catering for all those kinda demands!