VOGONS


Tyrian

Topic actions

Reply 20 of 28, by Snover

User metadata
Rank l33t++
Rank
l33t++

Englishized version:

ctbppat v1.2 © Andreas Stiller [April 2000] […]
Show full quote

ctbppat v1.2 © Andreas Stiller [April 2000]

ctbppat fixes programs coded in Borland Pascal that cause runtime error 200 on systems with clock speeds of over 200MHz. This error occurs due to incorrect initialisation of the DELAY counter.

ctbppat is also a universal EXE scanner, monitor, and patcher. It supports the usual EXE formats -- MZ for DOS; NE for OS/2, DPMI, and Windows 3.11; and PE for 32-bit environments -- and can detect the language with which the file was created. Running "bppatch *.* /s [/p]" will list all file formats in the current directory.

If you use the switches /NE, /MZ, or /PE, ctbppat will be restricted to the respective EXE format. This will increase the speed with which it can analyse files. Running in pure DOS mode with SmartDrive (if possible) will also increase analysation speed.

If ctbppat finds an executable made with Borland Pascal 7.0, it will examine the file further to determine if it uses an original or changed CRT unit, whether this unit is already patched, and whether the DELAY function is called at all. (If it is not, patching is unnecessary.)
Depending on the result of this examination, ctbppat may offer to patch the file. If the DELAY function is used, it can be fixed by using a different delay routine that should function properly up to ~4GHz.
To do this, the BREAK routine in the CRT unit is shortened and the delay code patched into the free space.

If DELAY is not used, the divisor is simply increased to 65535. This will prevent DELAY from operating; however, this will ensure that the program is able to run (theorhetically) on a 300GHz CPU.

If the CRT unit has been changed, but contains the same incorrect initialisation, ctbppat will modify the faulty divisor (255 => 1).

ctbppat only analyses original CRT units -- routines with similar incorrect code in Tool Boxes remain unchanged. However, by running "ctbppat [filename.ext] /brute", one can force the program to search for the incorrect code but WITHOUT further analysis (which prevents error checking and will then allow the faulty code to be changed). ctbppat will then allow you to patch the code with the new divisor (the default is 255, but by using the "/BRUTE=XXXX" switch, where XXXX is the divisor in HEX, you can enter your own divisor). When a file is patched, a new file (ex$) is created and the original EXE will then be overwritten (if desired).

*** BE SURE TO MAKE BACKUPS OF ALL FILES YOU ARE GOING TO PATCH! ***

Although the patch software proceeds quite carefully, a warranty for perfect functionality cannot be given. Some programs use OVERLAY operations (OVR files), with which patched programs may not work correctly.

All output is in an "international language" in order to make the program somewhat simpler for foreigners.

As a goodie, ctbppat also contains a small file monitor that can dump or disassemble the file content or display the entries and segment lists of the EXE headers (MZ/PE/NE). The disassembler displays file addresses and assigned logical addresses. It supports MMX and 3DNow!.

TO RUN: "ctbppat [filename.ext] /mon"

PROGRAMMERS!
The file ftp://ftp.heise.de/pub/ct/ctsi/bppatch.zip contains a modified version of the CRT unit, which should be good for clock speeds up to 300GHz.

Enjoy!
Andreas Stiller
as@ct.heise.de

Englishized by: COLIN SNOVER

Yes, it’s my fault.

Reply 21 of 28, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

Surely this is an error:

Running "bppatch *.* /s [/p]" will list all file formats in the current directory.

Don't you think he meant "ctbppatch *.* /s [/p]"? Or did he really mean bppatch?

Anyhow, great job. Once you've posted it to Deep Thought, we may as well send Andreas an email (I'll do it, I had some ideas for further versions if he cares to change it - it's not open-source - after all, we're going to hit 4Ghz in 6-12 months... 😀 )

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 22 of 28, by Snover

User metadata
Rank l33t++
Rank
l33t++

I don't know, I didn't actually look at the files. 🙄
Anyway, I posted it, so be sure to send Andreas an email. 😀

Yes, it’s my fault.

Reply 23 of 28, by Unregistered

User metadata

runtime error 005 is only happening on tyrian original. that promising link someone had worked, but at the next one access was forbidden or something. can you please add the file as an attatchment to a post so i can see if i can get it working.

rtm error 200 is no longer the prob, as turbo changes it to 005
but it may crop up again at some later point.
thanx
RoBz

Reply 24 of 28, by Snover

User metadata
Rank l33t++
Rank
l33t++

Maybe I'm not understanding, but the new Turbo Pascal patcher has been uploaded to Deep Thought (there should be no problem with links). With that, you shouldn't need to use Turbo or any slowdown program.

Yes, it’s my fault.

Reply 25 of 28, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Unregistered wrote:
runtime error 005 is only happening on tyrian original. that promising link someone had worked, but at the next one access was f […]
Show full quote

runtime error 005 is only happening on tyrian original. that promising link someone had worked, but at the next one access was forbidden or something. can you please add the file as an attatchment to a post so i can see if i can get it working.

rtm error 200 is no longer the prob, as turbo changes it to 005
but it may crop up again at some later point.
thanx
RoBz

With Tyrian (original)
Step 1: Remove the read-only file attribute from all the files in the Tyrian directory.
Step 2: Run ctbppat on all executables in that directory (using the info we have posted here: showthread.php?threadid=93

This should remove all your problems.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 26 of 28, by Unregistered

User metadata

thanks everyone
after i turned all the files to archive it worked fine.
to make it work on a 750 mhz processor you need turbo set to 40% which usually does the trick.

thankyou very much for your help and interest.
RoBz

Reply 27 of 28, by Snover

User metadata
Rank l33t++
Rank
l33t++

Great to hear! Enjoy! 😀

Yes, it’s my fault.

Reply 28 of 28, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Unregistered wrote:

thanks everyone, after i turned all the files to archive it worked fine.

Great!

to make it work on a 750 mhz processor you need turbo set to 40% which usually does the trick.



If you try using the Turbo Pascal patch we've mentioned, you shouldn't need Turbo at all. It may run a little *slower* than usual as the patch messes with and lengthens certain delay routines. But the patch we have mentioned permits fine-tuning of the delay parameters (I've recommended to the author to toss in a processor-speed routine and work up an auto-adjust feature for the delay, but he hasn't got back to me yet...)

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto