From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_20,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,bab9b57ac3227b46 X-Google-Attributes: gid103376,public From: mfb@mbunix.mitre.org (Michael F Brenner) Subject: Re: Port I/O Date: 1996/11/05 Message-ID: <55nf0f$7fq@top.mitre.org>#1/1 X-Deja-AN: 194614271 references: <55h2i7$k16@dfw-ixnews3.ix.netcom.com> <327E46A1.58D2@thomsoft.com> organization: The MITRE Corporation, Bedford Mass. newsgroups: comp.lang.ada Date: 1996-11-05T00:00:00+00:00 List-Id: Ed Falis of Thomson Software Products 617 221-7341 said: > you might ask yourself > why you're trying to do what you're doing (presumably direct hardware > manipulation) from user code under NT or W95 rather than going through > a device driver. The obvious answer is that NT does not provide device drivers, or fast enough device drivers to do the kind of animation, serial control, parallel control, disk access, and sound that the games, simulatons, and robots we are building require. Extremely high level operating systems have advantages for some types of software (like databases where speed is not important). However, when controlling industrial or game processes, you need much faster access to the bits of information (like pixels, voxels, serial bits, and control bytes) than is possible with a four-level security layer on top of an operating system kernel. The game developer need to be able to by-pass the operating system whenever anything interesting in the game needs to be programmed. As an example, in writing software that displays a map, even a background map, you need direct hardware access to the memory mapped pixel in order to display it fast enough that the user does not have to wait for it, and even then, you have to carefully control the order of the bits and bytes you display, in order to gradually res and de-res the map up, to make up for the extremely low bandwidth of current CRT-type displays. Until operating systems realize this (as Windows NT 4 is beginning to, by granting programmers a little bit of access to the pixels and some ports if they buy an expensive game developers kit), programmers must resort to some not very nice practices in order to meet the performance requirements of the software.