VOGONS


First post, by keropi

User metadata
Rank l33t++
Rank
l33t++

Hiya!

I am looking for an app similar to "3D Control Center" that will allow to switch D3D devices from/to primary/secondary for use with a voodoo2 card...

Here is a 3DCC to see what I mean... obviously I don't like it since it has the power-vr stuff and it always displays a startup box with the options screen...

24p9lwh.jpg

anyone remembers something similar?
thanks!

Last edited by keropi on 2011-09-07, 08:18. Edited 1 time in total.

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 1 of 20, by leileilol

User metadata
Rank l33t++
Rank
l33t++

The PowerVR option only toggles the registry setting for the PowerVR HAL to be enabled (it's exactly like going into the PowerVR tab in the Display Properties and turning it on), it's like Primary but for that weird HAL hackaround.

apsosig.png
long live PCem

Reply 2 of 20, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

Also, I'm sure there must be some way to disable that startup box you're referring to.

In any case, all 3DCC really does is make one little change in the registry. If you don't want to deal with .reg files directly, you could probably knock together your own custom app in Python (or something) pretty quickly.

Reply 3 of 20, by TheLazy1

User metadata
Rank Member
Rank
Member

I have no idea if this would work:

1) Open in debugger
2) Find out which API function is used to display the window (ShowWindow()?)
3) Replace call with nop/0x90

It's not quite as simple as that and it may not even work but if you're bored it might be worth a try.

Reply 4 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

there is no normal way to disable the startup box sadly... I "hacked" the .exe and removed the powervr option from the menu but the annoying about/option windows pops up every time....

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 5 of 20, by batracio

User metadata
Rank Member
Rank
Member
TheLazy1 wrote:
I have no idea if this would work: […]
Show full quote

I have no idea if this would work:

1) Open in debugger
2) Find out which API function is used to display the window (ShowWindow()?)
3) Replace call with nop/0x90

It's not quite as simple as that and it may not even work but if you're bored it might be worth a try.

There will be an API call to CreateDialog(Param)/CreateWindow(ex) before ShowWindow for a modeless window display, or a single API call to DialogBox(Param) for a modal dialog display. If it is the latter, there's an even cheaper trick I have used in the past: delete the dialog resource from the executable file. With a bit of luck, the application won't complain at all.

Last edited by batracio on 2011-09-06, 15:51. Edited 1 time in total.

Reply 6 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

Anyone care to give it a shot? I can't really do that kind of tampering... 🙁
ps. the "welcome" screen is also the options one, deleting it might affect the options function

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 7 of 20, by batracio

User metadata
Rank Member
Rank
Member

Post a download link for 3DCC, please. You just want the welcome popup not to appear, but not to completely disable the options window, right?

EDIT: misspelled "lick" changed to "link". My spelling sucks... or licks.

Last edited by batracio on 2011-09-06, 19:28. Edited 1 time in total.

Reply 8 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

nice! here is a dl link from falconfly's page: http://www.falconfly.de/downloads/3dcc.zip
and yes, I want the welcome popup to stop popping up (LOL) when the program starts... it is actually the options window, that would be nice to have enabled...
thanks in advance!

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 9 of 20, by batracio

User metadata
Rank Member
Rank
Member

I have patched 3DCC.exe and now it doesn't show the startup box. I followed TheLazy1's advice and replaced the DialogBoxParam API call with NOPs.

Attachments

  • Filename
    3DCCupd.zip
    File size
    38.29 KiB
    Downloads
    322 downloads
    File comment
    Patched 3DCC.EXE to remove startup box.
    File license
    Fair use/fair dealing exception

Reply 10 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

Super-thanks batracio , this works perfect ! 😊

In my turn I am attaching the above batracio's version but with the PowerVR stuff disabled , you only get to choose between a primary and secondary device...

2eyymwy.jpg

hopefully someone else might also find those hacks usefull 😁

Attachments

  • Filename
    3DCCupd-no_PowerVR.rar
    File size
    39.98 KiB
    Downloads
    325 downloads
    File comment
    batracio's no-startup-screen mod + no PowerVR options
    File license
    Fair use/fair dealing exception

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 12 of 20, by batracio

User metadata
Rank Member
Rank
Member
leileilol wrote:

I don't find the 'no powervr' hack useful.

I have two Matrox m3D cards, so I kept the PowerVR stuff because it is useful for me too. I guess keropi does not have any PCX1 or PCX2 card.

By the way keropi, wouldn't you prefer the PowerVR option to be replaced by a Quit option? I could not find an elegant way to terminate the program.

Reply 13 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

yeah what's up with the "no quit" option 🤣 it is strange the author did not include one... still I cannot make the addition 😁
and yep, I don't have a pcx1/2 ... the removal of the menu was just so that it doesn't display a 3rd option... call it a "cosmetic" change if you like 🤣

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 15 of 20, by TheLazy1

User metadata
Rank Member
Rank
Member

No quit button?
You can probably inject some code to properly clean up and exit, maybe it's in the executable already but not linked to any buttons.

IIRC CreateRemoteThread Won't work on Win98 so you'll need to do something different, or, find a way to patch in an exit function to the executable itself.
I have no idea how/if you can though, I never played with code injection on 9x.

Reply 16 of 20, by batracio

User metadata
Rank Member
Rank
Member

I have added a quit option to menu. It works, but it was a bit hard to achieve and I may have broken something else.

I didn't use code injection, just plain old hex editing. There were only 8 unused bytes left at the end of the DialogProc code, and I needed at least 24 bytes to insert a jump address (4 bytes), a call to PostQuitMessage (8 bytes) and the return code (12 bytes). Fortunately the branch table for the WM_COMMAND switch code had 4 unused pointers due to missing resource IDs, so I got the 16 extra bytes by deleting their positions and moving the branch table. Then I had to update the ID values of menu item resources and CheckMenuItem calls to match the new branch table entries.

I think something went wrong because now the program loads a different menu with more options that should only appear when a PowerVR card is installed. Well, at least it still sort of works and doesn't hang the system.

Attachments

  • Filename
    3DCCupd2.zip
    File size
    38.32 KiB
    Downloads
    365 downloads
    File comment
    Patched 3DCC.exe to add Quit menu item.
    File license
    Fair use/fair dealing exception

Reply 17 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

nice one again batracio! it works fine and even works if you delete the powerVR options 🤣
the extra powerVR options are the ones I see inside the exe about filtering , right?

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 19 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

without a powerVR card installed I only get the D3D HAL options, basically it looks like the stock menu pic I posted in the 1st message but with a QUIT option 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website