BP7 program under Windows 2000 is unstable 
Author Message
 BP7 program under Windows 2000 is unstable

Hello!
A program written with BP7 and TV library is
unstable under Windows 2000 (especially
when timer is used). Does anyone know
the reason of this problem?

Vladislav A. Blatov
Samara State University
Ac. Pavlov St. 1
Samara 443011
Russia
*****************************
Phone: 7(8462)345445
FAX: 7(8462)345417



Wed, 18 Jun 1902 08:00:00 GMT  
 BP7 program under Windows 2000 is unstable
Perhaps it's due to the problem that BP7 has with CPU's faster than 200MHz.
Is you BP patched?


Quote:
> Hello!
> A program written with BP7 and TV library is
> unstable under Windows 2000 (especially
> when timer is used). Does anyone know
> the reason of this problem?

> Vladislav A. Blatov
> Samara State University
> Ac. Pavlov St. 1
> Samara 443011
> Russia
> *****************************
> Phone: 7(8462)345445
> FAX: 7(8462)345417




Tue, 15 Jul 2003 04:42:18 GMT  
 BP7 program under Windows 2000 is unstable


Quote:
> Perhaps it's due to the problem that BP7 has with CPU's faster than
200MHz.
> Is you BP patched?



> > Hello!
> > A program written with BP7 and TV library is
> > unstable under Windows 2000 (especially
> > when timer is used). Does anyone know
> > the reason of this problem?

> > Vladislav A. Blatov
> > Samara State University
> > Ac. Pavlov St. 1
> > Samara 443011
> > Russia
> > *****************************
> > Phone: 7(8462)345445
> > FAX: 7(8462)345417


--- quote ---

- Show quoted text -

Quote:
> > > There is a more serious problem with Windows 2000 and mice if
> > > you use the protected mode compiler in BP7. Your program will
> > > crash at the first mouse movement. No helping there!

> > > Regards, Matt

>  The problem lies in RTM.EXE  where far callbacks from mouse driver has
> interferention with any int21h (DOS services) interrupt.

> Temporary solution ( may be persistent - is Borland still support
DPMI16? )
> is to modify 2 procedures in drivers.pas.

> here is final text:

> ---
> Procedure GetMouseState; near; assembler;
> asm
> {
>  Quick-n-dirty patch for WNT2000 & RTM.EXE with mouse. (RunErr 216)

> }
>         MOV     AX,3
>         INT     33H
>         MOV     SI,CX
>         MOV     CL,3
>         SHR     SI,CL
>         SHR     DX,CL
>         MOV     MouseButtons,BL
>         MOV     MouseWhere.X,SI
>         MOV     MouseWhere.Y,DX
> { /Endpatch #1 (#2 in InitEvents)}
>         CLI
>         CMP     EventCount,0

>         MOV     BL,MouseButtons
>         MOV     CX,MouseWhere.Word[0]
>         MOV     DX,MouseWhere.Word[2]
>         MOV     ES,Seg0040
>         MOV     DI,ES:Ticks


>         CLD
>         LODSW
>         XCHG    AX,DI
>         LODSW
>         XCHG    AX,BX
>         LODSW
>         XCHG    AX,CX
>         LODSW
>         XCHG    AX,DX
>         CMP     SI,OFFSET EventQLast

>         MOV     SI,OFFSET EventQueue

>         DEC     EventCount

>         CMP     MouseReverse,0

>         MOV     BH,BL
>         AND     BH,3

>         CMP     BH,3

>         XOR     BL,3

> end;
> .......

> procedure InitEvents; assembler;
> asm
>         XOR     AX,AX
>         CMP     AL,ButtonCount

>         MOV     DownButtons,AL
>         MOV     LastDouble,AL
>         MOV     EventCount,AX
>         MOV     AX,OFFSET DS:EventQueue
>         MOV     EventQHead,AX
>         MOV     EventQTail,AX
>         MOV     AX,3
>         INT     33H
>         XCHG    AX,CX
>         MOV     CL,3
>         SHR     AX,CL
>         SHR     DX,CL
>         MOV     MouseButtons,BL
>         MOV     MouseWhere.X,AX
>         MOV     MouseWhere.Y,DX
>         MOV     LastButtons,BL
>         MOV     LastWhere.X,AX
>         MOV     LastWhere.Y,DX
> { #2 point of quick-n-dirty patch.
>         MOV     AX,12
>         MOV     CX,07FH
>         MOV     DX,OFFSET CS:MouseInt
>         PUSH    CS
>         POP     ES
>         INT     33H
> }
>         MOV     AX,1
>         INT     33H
>         MOV     MouseEvents,1

> end;
> ---

> Realmode applications may use same code. This only changes type of mouse
> handling from
> interrupt-driven to Poll method.

> BRGDS.
> Syon.

Seems to be a frequently asked question. Somebody, pls put it to FAQ.
Rgrds.
Syon.


Wed, 16 Jul 2003 07:10:43 GMT  
 
 [ 3 post ] 

 Relevant Pages 

1. BP7 debugger does not work on Windows 2000

2. Delphi Access BDE driver and Windows Office XP/2000 with Windows XP or Windows 2000 ??

3. Unstable windows comm driver

4. Year 2000 issues for pre-BP7

5. problems with windows 2000, delphi5, dbe and oracle 8

6. Compatability of IDAPI and Windows NT/2000/XP...

7. Delphi BDE accessing Access97 tables in Windows 2000

8. windows 2000 en TP6

9. Problems with TP 7 under windows 2000

10. Problem with Free Pascal/Windows 2000 Pro

11. Problems with com ports and windows 2000

12. Problem with Delphi 3 and ISX 1.11 on Windows NT / 2000

 

 
Powered by phpBB® Forum Software