Comments: Authenticated sender is From: "Alaric B. Williams" To: OpenDOS Mailing List Date: Sat, 15 Mar 1997 17:31:36 +0000 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: Re: [opendos] FSSTND Reply-to: alaric AT abwillms DOT demon DOT co DOT uk References: In-reply-to: <858373389.062046.0@abwillms.demon.co.uk> Message-ID: <858446940.101760.0@abwillms.demon.co.uk> Sender: owner-opendos AT mail DOT tacoma DOT net Precedence: bulk I've had some more thoughts on this... On 14 Mar 97 at 21:05, Alaric B. Williams wrote: > To ease compatability, the OD extensions runtime should be a TSR, > with perhaps the option of transient loading like CWSDPMI, where it > is used only to invoke something. This TSR would contain EMM386's > memory management and multitasking, such that anything already in > memory is not reloaded (DPMI support etc), so an overlay structure > would be useful, as well as excessive highloading! Of course, it can be a DJGPP application that goes into extended memory anyway, and provide a DOS realmode int callback interface. Real mode access would be slower than PM, but we have to make a tradeoff either way, I think. > A full feature list: [snip] - A proper driver interface, such that applications need not access the hardware. The drivers exist in the same address space so a far call interface is provided for speed. This boosts device independence, and also makes it easier for the tasker to know what resources a task is using. Drivers are provided for console I/O, sound, the keyboard, etc; stream drivers (like stdout) can register as virtual pathnames like the DJGPP filesystem extension, so we can open a file "/dev/tty". Since file I/O via handles is done through the advanced interface, it can detect driver handles as opposed to filesystem handles and reroute them automatically. When a program registers for special execution, it passes it's DOS standard handles (stdout, stderr, etc) to the initialisation call, which returns handles suitable for the extended filer interface (they will probably use a different numbering scheme to avoid conflicts); in this process, it will see if stdout is connected to the console rather than redirected, and have the option of replacing it by a virtual console handle capable of direct screen writes but safe under the multitasker, for example. Redirected handles are just left as the standard system file handles - DOS handles are 16 bit, so we should use 32 bit handles; the upper 16 bits nominate a driver. Driver number 0 is a stub to the INT21 file system so normal file handles can be used. - The low level hardware resource server used by drivers and low level applications. This allows an application or driver to, say, requrest a range of I/O ports. The system complains if two things try to use the same ports. ABW -- Governments are merely protection rackets with good images. Alaric B. Williams Internet : alaric AT abwillms DOT demon DOT co DOT uk http://www.abwillms.demon.co.uk/