Page 2 of 2
Posted: Fri Oct 07, 2005 3:28 am
by Tom Hatfield
I don't know if this will help any, but the value of edx when the exception is thrown is F83000h (16265216). Obviously that won't crash the program, but maybe it will help you isolate what does. Since it's a WinXP problem, maybe if you showed me the original function (and any co-dependent functions) I could help you a little more.
Posted: Fri Oct 07, 2005 6:50 pm
by Paul Stevens
I think I found it. It was a close call. Some old
memory debugging code, modified for this particular
case, found a reference past the end of an allocated
buffer. The Atari didn't care, of course, because it
had no memory protection. XP and Win2K and so on
obviously allocate memory in slightly different ways
and on Win2k it just ran into another buffer. Reading
garbage did no harm.
I don't know how to fix it yet. Nor am I sure it is
the same problem!!!
The original function is TAG088b2. Nobody will figure
that out without a concerted effort.
Posted: Sat Oct 08, 2005 2:53 am
by Paul Stevens
Tom's original information was sufficient to locate
a problem VERY MUCH LIKE the reported problem
I hope it is EXACTLY the same. I fixed the problem I
found. So....
Can a couple of you download CSBwin98v110.zip,
replace the CSBwin that came with the movie, and try
again? Please? You will get the 'Wrong Version' messages
but just proceed and say it is 'OK'. I have my fingers
crossed. Make sure you are playing with 9.8v110.
Posted: Sat Oct 08, 2005 9:57 am
by Tom Hatfield
Paul's name will be recorded in the great hall and remembered by the future generations he made possible.
The screen still blanks to white when the Grey Lord appears, but otherwise it works. No more crash. Great job.
Posted: Sat Oct 08, 2005 12:58 pm
by PadTheMad
Yep, fixed it for me too
Whiteout still occuring though, not sure what that is...
Posted: Sat Oct 08, 2005 7:55 pm
by Paul Stevens
OK. It works for me on an old, slow Intel, Win98 and on
a new, fast AMD, Win2k.
As I recall, the Fusion has:
-Chaos
-Big Explosion
-Order
-Chaos
-Order
-Chaos
-Big Explosion
-Grey Lord
-Text
-Text
-Text
-Champion Portraits
Can you tell me where the whiteout starts? Where it ends?
Does it cover:
Entire window including Title and menu?
Entire user area of window?
Only the 3-viewport?
Something else?
Is it the same for both of you?
Posted: Sat Oct 08, 2005 9:31 pm
by zoom
I´ve seen Order (with big Fuse explosion; no fireball explosion)
and then white out(I think the whole screen)
pause?
and then the grey lord..text..and end..
second time, third time no whiteouts whatsoever..
I logged out and back into windows:
now I could see whiteout again.
chaos--fireball expl
order -- fuse expl max
whiteout 12 seconds..
greylord & first text
the next try no whiteout.
logged on and off: ok. whiteout( just ospeed title is readable, plain white window) just after lord Order gets max fused until the grey lord with text message.
Is it normal that the fuse battle with Chaos is slow as in real time?
Posted: Sat Oct 08, 2005 10:05 pm
by Paul Stevens
Is it normal that the fuse battle with Chaos is slow as in real time
Yes...if you look in the playfile.log you will see
the commands that speed it up and slow it down
again. You can fiddle with them and move them
around if you like.
Thanks for the detailed info. It gives me something
to go on.
Posted: Sat Oct 08, 2005 10:36 pm
by Tom Hatfield
I think it's the big explosion that whites out the menus and visible region (but not title bar) for a few seconds, and then the Grey Lord appears and all is well. It basically freezes the program and prevents redraw. You'll get this sort of behavior with any loop that doesn't return control to the operating system every iteration. (That's why Visual basic has a DoEvents statement.) Perhaps there's an especially slow memcpy somewhere. (I assume you're not pulling data through the AGP bus . . . that would kill performance.)
Posted: Sun Oct 09, 2005 1:46 am
by Paul Stevens
OK. Go get 98v111. See if that works better.
Perhaps XP erases the background whenever
I do a Sleep() and expects me to redraw the
window. Win98 and Win2k seem not to do
this. At any rate, while in Sleep I am not processing
messages and will not redraw the screen.
I replaced the Sleep()s with something a lot more
complicated (but more Window-friendly). Too bad.
See if it helps.
Posted: Sun Oct 09, 2005 4:08 am
by PadTheMad
Brilliant, that one works perfect. No crashing and no whiteouts! Worked first time. You seem to have done it again
