From grizzled.sysop@worldnet.att.net@worldnet.att.net Mon Jul 07 17:11:15 1997 Newsgroups: borland.public.turbopascal Subject: Re: BP7PATCH.ZIP - bp7patch.zip (1/1) From: Fred VonBerg <"grizzled.sysop@worldnet.att.net"@worldnet.att.net> Date: Mon, 07 Jul 1997 14:11:15 -0700 We got all of our programs operational on the Dell Pentium II - 266 using your supplied patch, BP7PATCH.ZIP and also the following patches: All patches for runtime 200 that we know of are included in this message Turbo Professional and Async Professional tools both required patches following. We also use TechnoJock Gold tools, and no problems were noticed ( yet ) ================================================================== For Async Professional 2.03: APTIMER fix CalibrateDelay divide overflow on PentiumPro 200's ---------------------------------------------------------------------- Timer divide overflows are still possible with the new timer routines on very fast machine. The problem occurs when the counts-per-ms value, divided by 55, no longer fits in 16-bits. The solution is to slow the DelayMS routine down a bit to lower the count values. Add the following marked lines to DelayMS in APTIMER: procedure DelayMS; assembler; asm push cx {!!.04} @@DMSdec: mov cx,10 {!!.04} @@1: {!!.04} loop @@1 {!!.04} sub ax,1 sbb dx,0 jc @@DMSexit cmp bl,es:[di] je @@DMSdec @@DMSexit: pop cx {!!.04} end; ================================================================== For TurboProfessional 5.22: TPCRT fix CalibrateDelay divide overflow on PentiumPro 200's ------------------------------------------------------------------- Timer divide overflows are still possible with the new timer routines on very fast machine. The problem occurs when the counts-per-ms value, divided by 55, no longer fits in 16-bits. The solution is to slow the DelayMS routine down a bit to lower the count values. Add the following marked lines to DelayMS in TPCRT.ASM: DelayMS PROC NEAR push cx ;!!.23 DMSdec: mov cx,10 ;!!.23 DMS1: ;!!.23 loop DMS1 ;!!.23 sub ax,1 sbb dx,0 jc DMSexit cmp bl,es:[di] je DMSdec DMSexit: pop cx ;!!.23 RET DelayMS ENDP ---------------------------------------------------------------- ------------------ Novell Network fix ------------------------- ---------------------------------------------------------------- Subject: CRT unit & fast CPU - Msg Number: 777020 From: Joanne Spotten 73561,331 To: Robert Norton 76013,443 Forum: DELPHI Sec: 06-Delphi Database Date: 24-May-97 8:08 There was a problem with one of the versions of Novell's 32 bit client. When running a dos program from explorer, interrupts are not enabled. Since the CRT unit's initialization code needs interrupts, the program hangs. Following is Pat Ritchey's work around (sometimes I actually keep the right stuff in my archives). >> As an FYI, For those that don't have the RTL source, a unit can be created to do the same thing without modifying the CRT unit. A unit such as: Unit STIUnit; interface implementation begin asm STI end; end. can be added to the main program source's uses *prior* to all other units, and the STI will execute before the CRT unit's initialization code. Pat <<
kamill2468