A Glimpse Into the Not-Too-Distant Future
by Stuart Baker
As the creator of the BIOC CRT driver, I take great interest in the growth and development of my "child." I am currently participating in a BETA test of MEDIT, which will soon be Perkin-Elmer's first supported fullscreen editor.
In the past, attempts to create a program such as a full-screen editor, that would run in an MTM environment, were hampered by the fact that MTM would intervene between task reads with its own read requests. This interleaving of reads would result in MTM trapping data that was meant to go to the applications program. With Perkin-Elmer's next official OS release, this particular problem will no longer exist.
To allow MEDIT to become a reality, Perkin-Elmer made some changes to both MTM and the BIOC CRT driver. The BIOC driver was enhanced to support type-ahead and a new read request called a monitor read. MTM was modified to support the new commands ENABLE TYPEAHEAD and PREVENT TYPEAHEAD.
When the command ENABLE TYPEAHEAD is issued to MTM, the BIOC CRT driver is directed to take all data entered at the keyboard during write operations and monitor read requests and place it in a type-ahead buffer. When a task read is issued, the data will be removed from the type-ahead buffer and displayed on the screen in a manner consistent with the type of read request. All functions of the BIOC CRT driver are fully supported in the type-ahead mode; however, the user must be very skilled to use BIOC editing features when he cannot see the data that is being manipulated.
The monitor read requests will allow the user to vector to the MTM level to issue special commands, such as responses to messages, through the use of the BREAK key. Thus, the implementation of type-ahead has not removed the flexibility of being able to communicate with MTM at will. The use of the BREAK key, however, will flush any data from the type-ahead buffer and so must be used with caution if one is not sure that the buffer is empty.
In addition to these features, the extended SVC 1 request may also be used to perform transparent and no-echo reads. The no-echo read is necessary in programs such as full-screen editors to allow them to perform commands using control sequences that might sometimes activate functions within the terminal being used. Thus an editor can be developed that is driven by a uniform set of commands and work on a variety of terminals. Transparent read requests disable the trapping of control characters by the CRT driver, allowing all data to be passed through to the application program.
As anyone that has used a computer system with typeahead on it knows, it is a very handy feature that goes a long way toward covering up those periods of waiting, that may cause you to lose your train of thought. Now you can simply continue to type commands while the computer is busy processing your earlier requests.
Since starting MEDIT's BETA test, I have become so accustomed to the type-ahead feature that I now leave it enabled all the time at my terminal. I can issue commands for tasks that will send them to termination, followed by commands to MTM that will invoke another task, and then commands for the new task, without losing any data or having the wrong program receive the data.
It is truly a giant step forward, and I am delighted to have had the opportunity to supply the foundation upon which these new implementations have been built. Not only has my "child" been adopted into the Perkin-Elmer family, but it is also being allowed to play a role of increasing importance as its capabilities expand.
Keep up the good work, Perkin-Elmer, and keep the new hooks and handles coming for programmers like me who just love to use them!
This SBSW.COM page has been optimized for printing.