Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!unido!rwthinf!slcdec!hippo!f1.n6000.z2.fidonet.org!f344.n632.z3.fidonet.org!Chris_Graham From: Chris_Graham@f344.n632.z3.fidonet.org (Chris Graham) Newsgroups: comp.windows.ms.programmer Subject: Tsr problems Message-ID: Date: 1 Jun 91 13:56:46 GMT Reply-To: Chris_Graham%f344.n632.z3@hippo.dfv.rwth-aachen.de (Chris Graham) Organization: WarpSpeed Computers BBS - Home of Windows Chess Lines: 51 Comment-To: John_Morey@f1.n6000.z2.fidonet.org (John Morey) * Original <29 May 91 17:08:00> was from John Morey to All > JM: Part of the product uses ADC boards and software, supplied > JM: by a third party. The software is in the form of a TSR and > JM: while this will run under windows in real mode it will not run > JM: in standard or enhanced modes. Whose ADC board? > JM: The TSR patches into interrupt vector 60h and is called by > JM: pushing the appropriate parameters onto the stack and then invoking > JM: the interrupt. Ints 60-67h are defines as user ints, except 67h has been used by EMS. So they have done the correct thing here. > JM: > JM: When we use the TSR in enhanced mode it appears to perform > JM: properly but does not return the correct answers. We think This is correct. The TSR is being called, but it is still in protected mode, so all of the segment registers have selectors not physical segments in them. Only the TSR ( some of mine included ) don't know when they are being called in protected mode. > JM: 5) What is DPMI and where can we get more information > JM: on it? Ask MS or Intel ( yes Intel ), you should be able to get a copy of the 0.90 Beta spec for the Dos Protected Mode Interface. > JM: 6) Any suggestions on how we can solve this problem? Write another TSR that can detect if it being called in a protected mode, switch back to real mode, call the TSR and then pop back and return to windows. Filthy I know but... Another suggestion is to have a look through the DDK ( Device Drive Kit ), I think they have had to do some real nasty stuff there. Filthiest thought: Write a device drive for dos, and read/write to it ( set it up as a character device ). It _HAS_ to be called in real mode! Well you did ask... Give my board a ring on 384-1060 ( 9 am - 5 pm MON - FRI ) and we'll see what we can do. -Chris