EXOS 2.1 Editor Driver Specification

1. Introduction

All the other buitl in device drivers provide an interface to some aspect of the hardware such as the cassette I/O circuitry or the Dave chip. The editor however does not interface directly to any hardware, instead it provides a higher level user interface to two of the other built in drivers - the video driver and the keyboard driver.

An editor channel can be thought of as an intelligent, full screen editing terminal handler. It can be used by an applications program to provide all of its general purpose communication with a user. For example the IS­BASIC cartridge does all of its screen and keyboard I/O through an editor channel. BASIC will be used frequently in this document as an example of how to use the editor.

The editor can support any number of channels open to it at a time, each channel corresponds to a separate "document" which is being edited. The word document here is used loosely since for example the editor channel used by BASIC is referred to as a document although it is actually a collection of BASIC commands, program listings, error messages, program output, etc.

Each editor channel has video channel and a keyboard channel associated with it. Different editor channels can share the same keyboard channel (which is essential since the keyboard driver only allows one channel to be open to it), but must have separate video channels.

Each editor channel also has an area of channel RAM which it uses for a text buffer. This buffer can be any size from a few hundred bytes to just under 16K and will typically be a few kilobytes. Text can be entered into the editor's buffer either from the applications program or from the keyboard. The editor writes characters to the video page in such a way that it is kept updated to form a "window" onto the text buffer. This is not a true window since the video page has its own copy of the text it is displaying.

Next Chapter: Opening Channels.

David Bouman. (dsbouma@cs.vu.nl)