<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 16 Sep 2003 16:09:07 +0100
From   : Andrew Hancock <Andrew.Hancock@...>
Subject: Re: [OT] Mark de Weger's XFER

 
 
*** PGP SIGNATURE VERIFICATION ***
*** Status:   Good Signature
*** Signer:   Andrew Hancock <Andrew.Hancock@...>
(0x20749D17)
*** Signed:   16/09/2003 16:08:13
*** Verified: 16/09/2003 16:08:32
*** BEGIN PGP VERIFIED MESSAGE ***

Borland issued a notice to developers using Borland Pascal, indicating that
this error Runtime Error 200 Divide By Zero would occur on machines faster
than a 200MHz. 

I observed this problem in the Pentium Pro 200MHz and Pentium 200MMXs in
1996/97. Our software product was a DOS based application.

Some parts of our code used Borland supplied units pre-compiled that used
software timing loops. One unit had a fault, that during the initialisation
of this unit a timing loop is put into effect to work out how fast the
computer is running.

The loop attempts to determine how fast the processor is by issuing a 1
millisecond tick (wait). While "waiting", it starts counting. At the end of
the wait, it loads the count into a register. Unfortunately, due to the
speed of the latest processors the number is greater than 65536 (216 or FFFF
in hex) and is too big to fit the allocated space for the register. The
consequence is that the register remains at zero. The next instruction is
division of the register number (zero) into a fixed integer, namely 55.
Hence, divide by zero (RUNTIME 200 ERROR).

I remember that it caused real problems for our customer base, when they
still wanted to run outdated software on todays faster PCs.

There are no Borland fixes for this problem. Although many un-official fixes
exist, third party units, and a patch/hack of the original *.exe exist.

As previously stated, use the later XFER4 program. Xfer3 is rather outdated
and not the latest code.

Regards

Andrew



-----Original Message-----
From: Nick B [mailto:nickbeee@...] 
Sent: 16 September 2003 15:07
To: bbc-micro@...
Subject: Re: [BBC-Micro] Mark de Weger's XFER

BBC Micro wrote:
>  --- Bob Devries <bdevries@...> wrote: > I
> tried to use Mark's XFER V3.0, but I get runtime

>>error 200 at 0000:0986
>>(for 1STXFER), and runtime error 200 at 0000:0155
>>for XFER.
Thats the classic Borland/Turbo Pascal error that you see when running 
progs compiled with BP/TP on machines faster than about 500MHz. It was 
due to a bug in the BP/TP CRT unit. This could be fixed if anyone has 
the Pascal source for Xfer 3 as there is a replacement CRT unit available.
As suggested the best fix now is to get XFER4 which is written in C and 
compiled for 32-bit executables.



*** END PGP VERIFIED MESSAGE ***
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>