PDA

View Full Version : G4A5 doesn't work on Win'98?



Mark F
February 10th, 2005, 05:41 AM
I have spent the last hour and a half repeatedly rebooting my home PC. :) In the following, when I say "my PC hung" this requires a power-off with the front button as all KBD/MOU input is disabled/ignored.

I installed G4A5 (no problems reported) on my Win'98 development machine.

I received 8 "file not found, too bad" messages when I tried to first start G4A5. I dismissed all of those and tried to exit G4. My PC hung.

I repeated this same scenario with the same result.

Next two times I started G4 I got a "program issued an invalid instruction" message. (no hang)

Next time I started G4 the PC hung with no messages or anything else.

I repeated this same scenario with the same result.

I decided to re-install G4A5. I started the install program and my PC hung with no messages or anything else.

I tried to re-install again and it worked.

I re-booted to, hopefully, make the PC more stable.

I started G4 and got a "program issued an invalid instruction" message.


This particular machine has all of the MS updates for Win'98 applied. At this point I cannot run G4A5 at home. :(

EDIT: Added more information.

Promixis
February 10th, 2005, 02:55 PM
can you delete the lua systems function plugin....

Mark F
February 10th, 2005, 03:14 PM
I'll try that when I get home if my wife isn't using the PC.

Ron
February 10th, 2005, 05:12 PM
That is no good. Is GDI+ installed on that machine?

http://www.microsoft.com/downloads/details.aspx?FamilyID=6a63ab9c-df12-4d41-933c-be590feaa05a&DisplayLang=en

Ron
February 10th, 2005, 05:27 PM
Hmm I might have found out what is going on. In the plugins I am using this code to determine the directory where the plugin is in.



PCHAR GetGirderDirFile(PCHAR file)
{
char buf[500];
char *buf2;
char *d;
GetModuleFileName(hInstance, buf,500);

d = strstr(buf, "plugins");
if ( d == NULL )
{
buf2 = (PCHAR) malloc(strlen(file)+10);
sprintf(buf2,".\\UI\\%s", file);
}
else
{
d[0]=0;
buf2 = (PCHAR)malloc(strlen(buf)+strlen(file)+20);
sprintf(buf2,"%splugins\\UI\\%s", buf, file);
}

return buf2;
}


My feeling is that GetModuleFilename doesn't return the path on Win9X. Can you confirm this Mark? If so I'll fix this before I release A6.

Ron
February 10th, 2005, 09:00 PM
When I formatted my HD I lost my nice VMWare setup for testing. I downloaded the VirtualPC trial and am now installing win98 again. Aaah the old days.

Ron
February 10th, 2005, 09:51 PM
Okay, Mark I have a copy of Win98SE running here and I can see the bug that you reported. After I removed all plugins the errors are gone, so it seems limited to the routine I mentioned above. I should be able to fix this one soon. (sorry for the hangs on your PC, the keyboard hook is murder when things go wrong on Win9X)

Edit: That is as long as I start Girder from it's own directory not from the shortcut.

Ron
February 10th, 2005, 10:17 PM
Yep that was it. In a dll GetModileFileName doesn't include the directory on 9X systems. The bug has been found and fixed, I am now updating all plugins to include this fix. I'll try to get G4-A6 out tonight.

ps. Am I the only here or is everyone just quiet today?

Ron
February 10th, 2005, 10:39 PM
We'll also need to distribute GDI+, Girder will work without it but it is painfully slow. (At least on my virtual Machine.

Ron
February 10th, 2005, 11:51 PM
Mark I have released G4-A6. On my virtual machine things work fine as long as I do not wrap Girder with the Armadillo software protection. After I wrap I get blue screens, I do not know if this is due to the virtual machine, so if you see even one of them please let me know so I can start talking to the Armadillo guys. (again :( )

Mark F
February 11th, 2005, 04:01 AM
A6 produces the same invalid instruction error. As soon as I re-boot to make this more stable, I'll remove the plugins and try again.

EDIT 1: When I move all the plugins out of the plugins directory, I get the following errors and then it quits:

Cannot find import; DLL may be missing, corrupt, or wrong version
File "plugins\luavolume.dll", error 1157

Error 226 at 01f16377

This program has been damaged, possibly by a bad sector of the hard drive or a virus. Please reinstall it.

Error 226 at 01f16377

Cannot find import; DLL may be missing, corrupt, or wrong version
File "plugins\luavolume.dll", error 1157

Cannot find import; DLL may be missing, corrupt, or wrong version
File "shared.dll", error 1114

I'll put LUAVolume back and see what happens.

EDIT 2: I put the LUAVolume.dll in the plugins directory and started G4A6. It came up. (yeah!) I chose file/exit. It closed without error. (yeah!)

I started it a second time and got the invalid instruction error (boo!) followed by a hung PC (front switch reboot required).

After the reboot, I now always get invalid instruction followed by a hard hang.

EDIT 3: On a positive note, while waiting for this machine to reboot the last few days, I have re-read most of the Programming in LUA book. ;)

Ron
February 11th, 2005, 10:05 AM
As you found out Luavolume is a required plugin. I am sending you a version without DRM, can you give that a try and let me know if you still get these errors?

Mark F
February 11th, 2005, 10:31 AM
Sure. I'll have to wait until I get home.

Ron
February 11th, 2005, 10:33 AM
Thanks Mark.

Mark F
February 11th, 2005, 05:15 PM
I have good new and bad news.

Good news - The unprotected version works great. (all plugins, one plugin, doesn't matter)

Bad news - The unprotected version works great. :)

Ron
February 11th, 2005, 05:16 PM
Well I am very happy that it is not my code :-) Now to talk to the Armadillo guys.

Ron
February 16th, 2005, 11:40 AM
Cause was found, the MadExcept library is messing up on DLLs if running from a protected Exe. EMailed the MadExcept Author.

Ron
February 16th, 2005, 11:56 AM
You know what bugs me! Both Armadillo and Madshi knew about this bug but neither publish it, I should send them the bill for my time


Please move on, nothing to see here :-)

Rob H
February 16th, 2005, 12:39 PM
Ouch!

Well at least it's sorted now.

Mark F
February 20th, 2005, 03:39 AM
G4A7 allows Girder to work on Win '98. :D

Ron
February 20th, 2005, 10:24 AM
Whooohooo!!