|
#1
|
|||
|
|||
|
I have run the game Tyrian on older systems. Now when I try to run or install on Windows 98SE or Windowss XP Home, I get the error message" runtime error 200" Does anyone have a fix for this? The company Epicgames no longer supports it. I think the error is tha same as in Jazz Jackrabbit where the program tries to set the speed. On fast machines, a division causes an overflow. I got a fix for Jazz Jackrabbit.
Papa Jim |
| Sponsored Links |
|
#2
|
||||
|
||||
|
Hi Papa Jim, get "TPPATCH" from some place on the Net and patch the executable running which gives you this "run-time error 200" message. This is a known problem with executables compiled by Turbo/Borland Pascal 7.0 that use the CRT unit, by the way... Good luck,
Joe
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
|
#3
|
|||
|
|||
|
Thanks, I used tppatch successfully with jazz jackrabbit but now I get the response that Tyrian is not produced by TP7 i.e. Turbo Pascal 7. I sent a note to the author of tppatch at [email protected] and got the response that the addressee does not exist. Any ideas anyone?
papa jim |
|
#4
|
||||
|
||||
|
Hi Papa Jim, if the executable is compressed/encrypted/protected then TPPATCH won't see the the Turbo/Borland Pascal compiler signature and, therefore, will refuse to patch it. Sure thing, it couldn't patch that anyway! Solution: unpack the executable, e.g. with UNP. By the way, this is all described in docs so...
Joe
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
|
#5
|
|||
|
|||
|
Thanks for your reply. The file does not seem to be compressed. Running an unassembler on it seems to indicate that it is not compiled by Turbo Pacal. With the unassembler, I cannot find the code that Andreas Bauer says caused the overflow problem in Jazz JackRabbit. Any mor ideas anyone? Someone somewhere must have solved this problem.
|
|
#6
|
||||
|
||||
|
Hi Papa Jim, zip up (!) the main executable, send over in an E-mail attachment and I'll fix it for you...
![]() Joe
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
|
#7
|
||||
|
||||
|
May I remind the honorable gentlemen here that the error message indicates a borland compiler was used, however borland made more than just turbo pascal, they made compilers for c/c++ too and I think Tryian was more likely written in c/c++.
|
|
#8
|
||||
|
||||
|
Hi Rincewind, yeah, yeah, it's just that that only Borland _Pascal_ programs have this problem, you know...
![]() In short, when you use the CRT unit in your program, the initialization routine of the CRT unit computes a delay value from the actual CPU speed so that the Delay() routine will delay program execution for the same time on all PC's, e.g. Delay(100) waits for a tenth second. Unfortunately, the delay value is computed as the _16-bit_ result of a division which causes an overflow on too fast PC's (where a 32-bit result would work). Joe
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
|
#9
|
||||
|
||||
|
I learn something new every day
|
|
#10
|
||||
|
||||
|
Re: Tyrian fix
I wonder why the original thread was closed as there was nothing obviously wrong with it!!! Anyway, for Papa Jim's request, here's how the fix was done...
It's not TYRIAN.EXE (the loader) that's buggy, it's FILE0001.EXE (the main program) and SETUP.EXE (obviously, the setup program). The trick is that both of these were created by Borland Pascal and they're protected mode executables, _that's_ why TPPATCH was unable to find the code fragment to patch. So, I made an "empty" program: --- uses CRT; begin end. --- with Turbo Pascal 7.0. It gave me the runtime error 200. I backed up the executable and then patched it with TPPATCH successfully. I compared the two executables (the buggy backup and the fixed one) and found a difference of 44 consecutive bytes. I loaded this part into Hacker's View and found what the actual patch is. I created two DOS shells. In one, I loaded the two game executables into Hacker's View, one by one. In the other, I opened the fixed test executable. Switching between the windows, I copied the changes, byte by byte. Then I grabbed aPATCH and made two patches that fix the runtime error problem. That's it! Joe
__________________
Joe Forster/STA For more information, see the FileForums forum rules and the PC Games forum FAQ! Don't contact me via E-mail or PM to ask for help with anything other than patches (or software in general) done by me, otherwise your request may be deleted without any reply! Homepage: http://sta.c64.org, E-mail: [email protected]; for attachments, send compressed (ZIP or RAR) files only, otherwise your E-mail will bounce back! |
![]() |
|
|