The "vi" Unix editor is a favourite of many programmers. ELVIS and VIM are public domain clones of this Unix "vi" style editor. ELVIS was developed by Steve Kirkendall, and the ELVIS source is freely available.
As we are familiar with using VI (or its clones) on a number of different platforms we thought we would like to have the same editor available on the Psion platforms.
We ported ELVIS to the Psion 3a (it will also run quite happily on the Psion 3c, Psion 3mx and the Sienna) so that it could be used with CPOC as an alternative to the text editor built into the Psion. ELVIS can also be used, however, as a free-standing editor in its own right completely independently of CPOC. One key benefit of ELVIS is that it does not suffer from the file size limit (of about 40K) of the Psion 3a built-in editor.
The Psion 3a port is basically a straight port of the core ELVIS code with the minimal changes needed to get it running on the Psion. We then added additional front-end code to add Psion style menus and help. For those interested, the version of ELVIS that we ported was v1.8 patch level 4. If anyone is particularily interested they can contact us to obtain copies of the ELVIS sources which includes the modifications we made to get ELVIS running on the Psion. Just a few features have been added to adapt it to the Psion 3a:
There have been a number of enquiries about whether we intend to to produce a version of ELVIS for the Psion Series 5. There seems to be a particular demand for this as the Psion 5 WORD application (unlike the Series 3a/3c version) cannot edit standard text files.
We have decided that rather than port ELVIS, we would port a newer VI clone called VIM. This is now getting close to completion. The latest detailed information on progress (and possible early releases) are available from the VIM page.
A interesting by-product of our port should be a CURSES library for use with EPOC and its associated screen emulation. This may be of interest to others who are interested in porting Unix based programs that use Curses as their screen handling mechanism.
There is a port of the ELVIS editor available for use on QDOS/SMS systems. This should be compatible with all versions of QDOS and all QDOS compatible systems.
There are actually two separate variants of the QDOS/SMS port avaialble. These differ by the way that they internally handle the screen. One makes use of the CURSES library to do screen handling. The other makes use of specially written routines that make direct calls to QDOS to do screen handling. They should in principle be functionally equal (barring any bugs).
The following are available for download:
This is the README file for available as a plain text file so that you can view it online before downloading the main ELVIS program.
This is the minimum you need to use ELVIS. As well as the program binary it includes the README file mentioned above which give instructions on the Psion specific issues, and guidance on where to install the ELVIS files on the Psion. This is release 7.1 for the Psion 3a/3c. The README file has a change history if you want to see what has changed between the different Psion releases.
ELVIS will require about 128Kb of System memory while it is running, plus RAM disk space for its temporary files. We have only tested it on 512Kb machines or better. It is unlikely to run satisfactorily on any smaller configuration.
These are the QDOS/SMS binaries. If you do not already have Environment Variable support on your system (it is shipped with C68 and many other modern QL programs) then you will need to also download that from here.
This is the full manual for ELVIS converted into QL Quill file. We do not include it in the standard download as it is quite large, and experienced vi users may well decide that they do not need it.
This is the full manual for ELVIS converted into a text file. We do not include it in the standard download as it is quite large, and experienced vi users may well decide that they do not need it. This file is too large for the Psion WORD application to read, but you can load into ELVIS.
This is the English source to the ELVIS (Release 7.1 for Psion 3x) resource file. We have made it available in the hope that others will consider doing the necessary translation to other languages and then send it back so that we can add support for that language to ELVIS as a standard feature.
This is the full source to the Elvis editor for those who may be interested in seeing how we did the port, or possibly making amendments to it. If anyone makes any significant changes please feed them back so that we can incorporate them as a standard feature.
Note that to build the Psion version of ELVIS, you need to have the SIBO C SDK that is available from Psion.