How do you run the PC version on modern PC? (The famous "unable to enumerate..." error)
8 years ago
Poland

Hi!

I have a another problem. Toy story 2 works too slowly. I have DGVoodoo (2.4 version because the newer does not work). The game has the correct number of FPS, but the game runs slow ;/

My system:

RAM: 3GB (DDR2) Windows 10 (PRO) 32-bit GPU: Nvidia Geforce 9500 GT (512MB) CPU: Dual Core E5200

United States

You can also try choosing a different rendering device in the resolution selection screen to see if that helps solve your problem. Other than that, your best bet is to mess with the dgVoodoo settings.

Poland

My Settings:

http://imgur.com/Q2bOUxk

http://imgur.com/e30vHVs

http://imgur.com/6CwdX1M

I tested:

Device: Nvidia Geforce 9500 GT and vodoo Wrapper (something like that) Render: MMX Emulation and Hardware

The resolution does not matter.

Edited by the author 7 years ago
Germany

It seems your graphics card is too old: [quote]Warning: You need a strong iron hardware for dgVoodo 2 versions up to 2.2 Starting with that version I optimized a lot in the shaders so a 3-4 years old nVidia or ATI card will do in general.[/quote] http://dege.freeweb.hu/dgVoodoo2.html

Poland

Update:

Works version 2.52

Edit: It is already running, but too fast :D

Thanks for the help.

Edited by the author 7 years ago
Germany

PeterAfro: Could you try this? It won't fix the bug, but it will help to narrow down where the problem is. ¤ Start Cheat Engine ¤ Click File -> Open Process -> Create process and select Toy2.exe. ¤ Don't pass any parameters. ¤ Click Tools -> Lua Engine in the Memory Viewer window. ¤ Paste the contents of http://pastebin.com/vuWr0fYP and click Execute. Keep the Lua Engine window open. ¤ Click Debug -> Run in the Memory Viewer window. ¤ Post the text that was added to Output when you clicked Run.

Edited by the author 7 years ago
United States

ExamineDDEnumCallback: DirectDrawCreate returned 0x80004005 for device #0 Found 0 suitable DirectDraw devices

Germany

Could anyone who managed to bypass the "unable to enumerate a suitable device" bug by using dgVoodoo temporarily disable dgVoodoo, start toy2.exe with the -log option and post his toy2.log?

PeterAfro: Do you get the same output from Cheat Engine with and without dgVoodoo?

Edited by the author 7 years ago
United States

Here is a pastebin of the "unable to enumerate a suitable device" log when I disable dgVoodoo:

http://pastebin.com/P9Atjqvx

While I still had dgVoodoo disabled, I also ran your lua script via cheatengine, and these were the results (when the game gave me the "unable to enumerate a suitable device error")

ExamineDDEnumCallback: DirectDrawCreate returned 0x00000000 for device #0 ExamineDDEnumCallback: GetCaps returned 0x00000000 for device #0 Found 1 suitable DirectDraw devices

And for reference, here is a log when I enable dgVoodoo and it works properly:

http://pastebin.com/bkvMCwTn

And once again when running the lua script via cheat engine while dgVoodoo is enabled (and the game works properly) this is the output:

ExamineDDEnumCallback: DirectDrawCreate returned 0x00000000 for device #0 ExamineDDEnumCallback: GetCaps returned 0x00000000 for device #0 Found 1 suitable DirectDraw devices

Edited by the author 7 years ago
Germany

Thanks for the log files.

PeterAfro: The "unable to enumerate a suitable device" error is normally caused by a bug in the part where the amount of available graphics memory is checked. However, on your machine the game fails even before the memory check, namely when calling the WinAPI function DirectDrawCreate. I made a small program that tests DirectDrawCreate and its DirectX 7 version, DirectDrawCreateEx, with different parameters. Could you run DirectDrawTest.bat and upload its output? You can write its output to a file by running it this way from the command prompt: DirectDrawTest.bat > DirectDrawTest.txt

https://github.com/hdc0/DirectDrawTest/releases/download/v1.0/DirectDrawTest.zip

Edited by the author 7 years ago
United States

the command prompt closes almost immediately after I open it and does not leave a text file, or I am doing it wrong?

United States

the command prompt just shows some text for a split second than closes, or I am doing it wrong?

United States

Peter, open up a command prompt window (press the windows key, type "cmd" then press enter), then type:

cd "DIRECTORY OF THE DOWNLOADED BATCH FILE" (and hit enter, obviously replacing the text inside the parentheses with the path of the folder containing the downloaded batch file, i.e.: C:\Users\Adam\Downloads\DirectDrawTest)

Then type: DirectDrawTest.bat > DirectDrawTest.txt (and hit enter)

This will create a DirectDrawTest.txt file in the directory with the .bat file

United States

DirectDrawCreate returned 0x00000000 for GUID NULL DirectDrawCreate returned 0x00000000 for GUID DDCREATE_EMULATIONONLY DirectDrawCreate returned 0x00000000 for GUID DDCREATE_HARDWAREONLY DirectDrawCreateEx returned 0x00000000 for GUID NULL DirectDrawCreateEx returned 0x00000000 for GUID DDCREATE_EMULATIONONLY DirectDrawCreateEx returned 0x00000000 for GUID DDCREATE_HARDWAREONLY

Germany

The output looks good. So DirectDrawCreate works when it's not called from toy2.exe. Now could you move DirectDrawTest.bat and DirectDrawTest.exe to the directory that contains toy2.exe and post the results again? After that, rename toy2.exe to something else, rename DirectDrawTest.exe to toy2.exe and in the command prompt run toy2.exe. What's the output of the command?

Edited by the author 7 years ago
United States

what am I doing wrong? http://imgur.com/a/3WPOl

United States

You need quotation marks around the path if it has spaces. i.e. cd "C:\Program Files\Disney Interactive\Toy Story 2"

Also make sure you run cmd as an admin (if you weren't already).

Edited by the author 7 years ago
United States

After moving bat DirectDrawCreate returned 0x80004005 for GUID NULL DirectDrawCreate returned 0x80004005 for GUID DDCREATE_EMULATIONONLY DirectDrawCreate returned 0x80004001 for GUID DDCREATE_HARDWAREONLY DirectDrawCreateEx returned 0x80004005 for GUID NULL DirectDrawCreateEx returned 0x80004005 for GUID DDCREATE_EMULATIONONLY DirectDrawCreateEx returned 0x80004001 for GUID DDCREATE_HARDWAREONLY After changing names DirectDrawCreate returned 0x80004005 for GUID NULL (not missing anything, that is all it returned)

Germany

OK, so dgVoodoo is causing the DirectDrawCreate problem.

Anyway, I think I found out what you have to do in order to bypass the 2 GB error without using dgVoodoo. If you want to try it out, here are the instructions:

  • If DirectDrawTest.exe is still named toy2.exe, rename it back to DirectDrawTest.exe. Also rename the game exe back to toy2.exe
  • Make sure the game won't use dgVoodoo: Open C:\Program Files\Disney Interactive\Toy Story 2 in Windows Explorer and delete D3D8.dll, D3DImm.dll and DDraw.dll.
  • You can verify that dgVoodoo is not used by opening a command prompt in the game directory and running DirectDrawTest.exe: If it displays 0x00000000, dgVoodoo is not used. If it's still in use, 0x80004005 is shown.
  • Install HxD: https://mh-nexus.de/en/downloads.php?product=HxD
  • Run HxD as administrator and open C:\Program Files\Disney Interactive\Toy Story 2\toy2.exe in HxD
  • Double click Offset: 0 in the lower left corner
  • Enter ACAC2 and press OK
  • The value at the cursor should say 74
  • Type EB in order to overwrite the value
  • Save the file and close HxD
  • Test whether the game is working now
Game stats
Followers
346
Runs
858
Players
108
Latest threads
Posted 22 days ago
2 replies
Posted 5 months ago
6 replies