Board index » delphi » Latest range of fast machines and error 200

Latest range of fast machines and error 200

Folks

Has anyone else had problems with  some Turbo Pascal code not loading on
the latest high speed machines.  I am getting error 200 (divide by zero)
messages from some code.  On some machines this happens every time  and
others some of the time.  The code  in question has been working fine
for years. WHOHAS.EXE behaves in exactly the same way.

Ian Stone

 

Re:Latest range of fast machines and error 200


Folks

Has anyone else had problems with  some Turbo Pascal code not loading on
the latest high speed machines.  I am getting error 200 (divide by zero)
messages from some code.  On some machines this happens every time  and
others some of the time.  The code  in question has been working fine
for years.  WHOHAS.EXE behaves in exactly the same way.

Ian Stone

Re:Latest range of fast machines and error 200


Folks

Has anyone else had problems with  some Turbo Pascal code not loading on
the latest high speed machines.  I am getting error 200 (divide by zero)
messages from some code.  On some machines this happens every time  and
others some of the time.  The code  in question has been working fine
for years. WHOHAS.EXE behaves in exactly the same way.

Ian Stone

Re:Latest range of fast machines and error 200


In article <35D1E5AE.21CD...@which.net>,
Ian Stone  <ian.st...@which.net> wrote:

Quote
>Folks

>Has anyone else had problems with  some Turbo Pascal code not loading on
>the latest high speed machines.  I am getting error 200 (divide by zero)
>messages from some code.  On some machines this happens every time  and
>others some of the time.  The code  in question has been working fine
>for years.  WHOHAS.EXE behaves in exactly the same way.

No, nobody has ever heard of that before. You are the only person who
has ever used TP on a fast machine.

Now think again.

Osmo

Re:Latest range of fast machines and error 200


Quote
Ian Stone wrote:

> for years. WHOHAS.EXE behaves in exactly the same way.

I already answered him,
Regards, Franz Glaser

Re:Latest range of fast machines and error 200


In article <35D1E5F4.6FAE...@which.net>,
Ian Stone  <ian.st...@which.net> wrote:
:Has anyone else had problems with  some Turbo Pascal code not loading on
:the latest high speed machines.  I am getting error 200 (divide by zero)
:messages from some code.  On some machines this happens every time  and

 124) Curing Crt initialization runtime error 200 on fast machines

 149061 Jul 19 1998 ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip
 tsfaqp.zip Common Turbo Pascal Questions and Timo's answers, linked

   All the best, Timo

....................................................................
Prof. Timo Salmi   Co-moderator of news:comp.archives.msdos.announce
Moderating at ftp:// & http://garbo.uwasa.fi/ archives 193.166.120.5
Department of Accounting and Business Finance  ; University of Vaasa
mailto:t...@uwasa.fi <http://www.uwasa.fi/~ts/>  ; FIN-65101,  Finland

Spam foiling in effect.  My email filter autoresponder will return a
required email password to users not yet in the privileges database.
Advice on spam foiling at http://www.uwasa.fi/~ts/info/spamfoil.html

Re:Latest range of fast machines and error 200


JRS:  In article <35D1E5AE.21CD...@which.net> of Wed, 12 Aug 1998
19:57:51 in comp.lang.pascal.borland, Ian Stone <ian.st...@which.net>
wrote:

Quote
>Has anyone else had problems with  some Turbo Pascal code not loading on
>the latest high speed machines.  I am getting error 200 (divide by zero)
>messages from some code.  On some machines this happens every time  and
>others some of the time.  The code  in question has been working fine
>for years.  WHOHAS.EXE behaves in exactly the same way.

Rather than asking THREE times, you should try reading, first.

Pascal Start-Up Error 200 on fast PCs when using the Crt unit is a VFAQ!

Read the many earlier postings in the comp.lang.pascal.borland (Frank H,
Roger D, ...) and borland.public.turbopascal newsgroups (you can use
DejaNews), including the comp.lang.pascal.borland mini-FAQ, and Prof.
Salmi's FAQ  ftp://garbo.uwasa.fi/pc/link/tsfaqp.zip #124, and/or see
http://www.merlyn.demon.co.uk/  clpb-faq.txt  pas-time.htm  pas-linx.htm
Some collected patches are in http://www.merlyn.demon.co.uk/zipfiles/
Another fix is to avoid all use of the Crt unit, or, if accurate delay is
not needed, to compile with TP5 or TP6.

--
John Stockton, Surrey, UK.    j...@merlyn.demon.co.uk     Turnpike v1.12   MIME.

Re:Latest range of fast machines and error 200


ian.st...@which.net wrote in a message to All:

 iw> Folks

 iw> Has anyone else had problems with  some Turbo Pascal code not
 iw> loading on the latest high speed machines.  I am getting error 200
 iw> (divide by zero) messages from some code.  On some machines this
 iw> happens every time  and others some of the time.  The code  in
 iw> question has been working fine for years. WHOHAS.EXE behaves in
 iw> exactly the same way.

 iw> Ian Stone

Not again! NOOOOOOOO!

frank_mccorm...@radio-canada.ca
--
| This user presently has no email account setup.  Any replies should
| should be in this newsgroup.
| Standard disclaimer: The views of this user are strictly his/her own.

Re:Latest range of fast machines and error 200


Yes I had this proble when I changed to a 266 MHz m/c with Turbo Pascal.
Ring Borland and complain. They will send you a fix for it. This works
but is a bit tedious to remember to put into each program. The best
thing to do is to give up Turbo Pascal and go over to Delphi. Once you
get used to the interface it is a vast improvement. You can still write
all your Pascal programs just the same. Just ignore all the database
bits that Borland think it is supposed to be for and keep writing
Pascal. As someone once said, slightly off subject, A good programmer
can write Fortran in any language.

In article <aea_9808152...@mnet.pubnix.ten>, Frank McCormick <has.no.ema
il.acc...@f819.n514.z17.mnet.pubnix.ten> writes

Quote
>ian.st...@which.net wrote in a message to All:

> iw> Folks

> iw> Has anyone else had problems with  some Turbo Pascal code not
> iw> loading on the latest high speed machines.  I am getting error 200
> iw> (divide by zero) messages from some code.  On some machines this
> iw> happens every time  and others some of the time.  The code  in
> iw> question has been working fine for years. WHOHAS.EXE behaves in
> iw> exactly the same way.

> iw> Ian Stone

>Not again! NOOOOOOOO!

>frank_mccorm...@radio-canada.ca
>--
>| This user presently has no email account setup.  Any replies should
>| should be in this newsgroup.
>| Standard disclaimer: The views of this user are strictly his/her own.

--
David Wilkinson

Re:Latest range of fast machines and error 200


In article <MabbiPAUka51E...@quarksoft.demon.co.uk>,
David Wilkinson  <Da...@quarksoft.demon.co.uk> wrote:

Quote
>Yes I had this proble when I changed to a 266 MHz m/c with Turbo Pascal.
>Ring Borland and complain. They will send you a fix for it. This works
>but is a bit tedious to remember to put into each program. The best
>thing to do is to give up Turbo Pascal and go over to Delphi.

Come on, there may be reasons to use Delphi, but the Runtime error 200 is
not one of them. One can fix the error by simply using the following unit
before the CRT.

Unit Fdelay;             { Use this before CRT }

interface

const dfix:word=1;       { call delay() dfix times }

implementation

uses dos;

procedure oldints; assembler; { "variables" in the code segment }
          asm dd 0,0 end;

Procedure error;
begin
  runerror(200);
End;

Procedure Int0; assembler;
          asm
          cmp cx,55       { If CX<>55 we are at some other point }
          je @ok
          sti
          call error
@ok:
          shr dx,1        { divide dx:ax by 2 }
          rcr ax,1
          shl Dfix,1      { multiply Dfix by 2 }
          iret            { return to the DIV (286+) }
          end;

{ Int21h handler removes the int0 handler (as well as itself) from the
  memory when CtrlBreak vector is set by CRT right after calculating
  the delay counter. Note DS does NOT point to the data segment when
  this is called }

Procedure Int21h; assembler;
          asm
          cmp ax,$251B
          jne @old               { Not setint 1Bh? }

          push es; push si; push di
          mov si,offset oldints
          xor di,di
          mov es,di
          cld
          segcs; movsw
          segcs; movsw           { restore int 0 }

          mov di,$21*4
          segcs; movsw           { restore int 21h }
          segcs; movsw
          pop di; pop si; pop es

@old:     db $2e,$ff,$2e         { jmp far indirect cs:[oldints+4] }
          dw offset oldints+4
          end;

type tr=record int0,int21:pointer; End;
     pr=^tr;

begin
  GetIntVec(0,pr(@oldints)^.int0);
  GetIntVec($21,pr(@oldints)^.int21);

  SetIntVec(0,@int0);
  SetIntVec($21,@int21h);
end.

Osmo

Other Threads