SPHINX2.5y.txt SPHINX is a replacement for/complement to the CON: and NEWCON: devices. It is what I believe NEWCON should have been, although NEWCON could not be like SPHINX and remain compatible with CON:. In light of this, SPHINX does almost everything NEWCON does, and a lot more: It remembers the text that has scroll off the window, and lets you scroll back to it with various keystrokes and a scroll gadget. It allows non-blocking type-ahead. The line editor has an undo buffer/function. It has a much more usefull input line comparison algorithms than NEWCON. It allows a filerequester to be used to insert file paths & names. It will complete a partially typed word by searching back in saved text for words which start in the same way. It allows the window to iconized even while things are going on without loosing any output, and open the window to the full size of the screen w/ one key- stroke. It has an unlimited type-head buffer (NEWCON only allows a max of 256 bytes to be typed ahead). It allows any character to be placed in the input buffer (even null, Ctrl-@). It allows the window to be resized without loosing any output. It allows text be clipped from the SPHINX to the input line you are building, the clipboard (unit 0), or a file. It allows the contents of the clipboard (unit 0) or of a file to be inserted into the input line you are building, and that input can be parsed as if it had been typed in, or just inserted literally at the cursor. When the file is being inserted, the insertion does not put the rest of SPHINX to sleep--you can even type in commands while the insertion is taking place and have them be executed without the inserted text ending up in your command line. Also this means you can clip text from the result of the insertion while the insertion is taking place. So you can start an insertion from an "infinitly large" file/device (like AUX:), and still be able to use the result from various commands as soon as it is available. It allows any two fixed-width fonts to be used, one for writes (output), and the other for input. The input text can be drawn in a user configurable color for easy different- iation from written text. It allows any one shot IFF sound sample to be played when the BELL character is written and when input is requested. Ten often used input strings can be programed into C-F1 through C-F10. Windows are automatically moved, and resized, if they cannot be opened where the user specified due to the size of the wbscreen. Multiple SPHINXs share most of their data and code so that having differently named/configured SPHINXs doesn't cost much more memory. It is written completely in assembler, which ends up making its speed is about that of NEWCON, even through it has much more to do, under similar circum- stances. With various speedup tricks, and in certain special circumstances, SPHINX easily outruns NEWCON. Etc. SPHINX is an AmigaDOS device, not a shell. To use it as part of a CLI, you must pair it up with a shell (C='s, ASH, etc...). All SPHINX does from the point of view of the shell is display text to the user (Write()), return a line of text when read from (Read()), and set the shell's signals when Control-C/D/E/F are hit (and a few other minor things). SPHINX likes arp.library, but does not require it. There is a bug in the scroll gadget routine (a very old bug that I am still trying to track down. I think that it would better to rewrite the whole routine from scratch than keep looking); it happens only? when the scroll gadget is yanked up and down very quickly and a great deal, and even then, it doesn't always happen. The bug is non-fatal. All it does is position the cursor on the wrong line. Resizing the window causes the position of the cursor to be recomputed, and error is corrected. x x x x x x x x x x mail to: Nicolas Dade 405 West Delaware Urbana, IL 61801 (USA) will find me. or you can try emailing to nsd20463@uxa.cso.uiuc.edu x x x x x x x x x x SPHINX version 2.5y is copyright (c) 1991 by Nicolas Dade, all rights reserved. Permission for non-commercial duplication and distribution is here-by granted. x x x x x x x x x x