Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!mips!spool.mu.edu!sol.ctr.columbia.edu!ira.uka.de!fauern!NewsServ!rommel From: rommel@Informatik.TU-Muenchen.DE (Kai-Uwe Rommel) Newsgroups: comp.os.os2.programmer Subject: Re: VIO, KBD and MOU calls. Message-ID: <1991Jun13.094308.10769@Informatik.TU-Muenchen.DE> Date: 13 Jun 91 09:43:08 GMT References: <1991Jun11.105427.8068@kingston.ac.uk> Sender: news@Informatik.TU-Muenchen.DE Organization: Technische Universitaet Muenchen, Germany Lines: 24 I have found, that with correct programming, the ANSI sequences and DosWrite() is quite sufficient to achieve very fast screen output. You may have noticed the less-2, beav-2 and gnuinfo postings in comp.binaries.os2. All three are ported Unix programs for which I have used termcap and good buffering (1-2k) and binary mode for stdout to get them running. The result is really fast. To achieve the same with VIO, you need to write directly to the VIO screen buffer and this is *much* more non-portable. I have done this with a MicroEMACS port and it was much more work and looked ugly. So far for the VIO API. I have used only a single VIO call to determine the screen or window size. For KBD and MOU, there is no such easy substitute. But I don't need and mouse interface at all in VIO programs. To use kbd and mou simultaneously one has to use more than one thread and semaphores to get programs that don't use too much of the CPU while waiting for an event. I am not shure if this is worth the trouble. (It wasn't for me so I have removed the mouse interface from the MicroEMACS version I use). Kai Uwe Rommel /* Kai Uwe Rommel, Munich ----- rommel@lan.informatik.tu-muenchen.dbp.de */ DOS ... is still a real mode only non-reentrant interrupt handler, and always will be. -Russell Williams