|★ APPLICATIONS ★ UTILITAIRES RSX/LIGNE DE COMMANDE ★ RSX-LIB: THE RSX LIBRARY UTILITY|AMSTRAD COMPUTER USER) ★|
|RSX-Lib: The RSX Library Utility (Amstrad Computer User)||Applications Utilitaires Rsx/ligne De Commande|
Kenn Garroch reviews a useful new Resident System Extension from Smogware Systems
One of the most useful and perhaps under-used facilities available on the Amstrad CPC machine is the ability to add commands to Basic. Some of these come built into the system e.g. /DIR, /ERA, etc. Known as RSXs (Resident System Extensions), routines accessed in this way are written in machine code either as custom designs programmed by the user, or typed in from magazines. The reason why RSXs are not widely used is probably because they are hard to maintain. The trouble comes when a 'handy' utility is typed in from a magazine.
It may take up the same memory area as other RSXs, but unless all the routines are re-assembled and placed in areas where they will not interfere with each other - a pretty tedious process - they cannot be used at the same time. Moreover, many RSXs published in magazines are not printed as source codes (the machine-code mnemonics) but as Data statements with a Basic loader program; relocating one of these requires either a specialised program or a lot of know-how. To get around the problems that crop up in the administration of a large number of RSXs, a program can be used. Supplied as a disc and manual, RSXLIB aims to take the finger work out of RSXs. The program is written mainly in Basic in order to save on development time and make sure that there are fewer errors, according to the author. As speed is not really of the essence at any time, these arguments are quite valid - many commercial programs and utilities are (believe it or not) written in Basic.
On the disc are the RSX library maintenance program, an example program that shows off the supplied RSXs, and fifty-two 'useful'RSX binary files. These latter range from graphics commands, swap instructions for Basic variables (e.g. /REAL.S-WAP A,B swaps the contents of the real variables A and B), and memory moving routines, to the fairly useless (but fun?) screen shakers. But the key program among all of these is the library maintenance ' program RSXLIB. This operates on a menu-type system and provides eight basic functions. Files can be assembled from scratch i.e. a set of pre-defined RSXs can be grouped together to form a library file; this enables a set of new commands to be strung together for use in a particular application. Full instructions on how to load the RSXs are given at the end of the assembly process - the MEMORY setting, load position and CALL to make for installation.
To load the selected RSX commands is now simply a matter of loading the defined RSX file and making the appropriate set-up call. As everything is menu-driven, the process is quick and easy. A disassemble RSX command is also provided to allow single RSX commands to be extracted from pre-built RSX files in order to save them to disc. This works with most RSX files and is a useful way of separating RSXs so that they can be used independently. Other options include adding new RSXs to the library, including those written by the user, typed in from magazines etc. RSXs can also be removed, their details viewed, and edited. All in all, everything to manipulate RSXs and enable them to be used in an easy systematic matter is here.
For those who are new to RSXs, the manual is quite helpful, though it doe> not have a proper index. (This could be an oversight as I had a preview copy, but considering the amount of information available, an index would help.) It is written in a rather chatty style but in a rather charming, 'un-American' way that is quite readable. It starts off by justifying the need for such an RSX library program and does a good job; this is quite unusual as most programmers expect everyone to see the obvious need for their programs.
Following a full set of instructions for backing up the disc and using the commands, the manual goes into a little more detail on the contents of the RSX library files. This includes how routines are relocated and what problems can arise, i.e. where RSXs depend on routines in associated programs. The 'odds and ends'section offers a few ideas about what can go wrong with RSXs and their use in conjunction with RSXLIB, as well as some tips for adapting 'magazine' RSXs to work with the library system - pretty easy, as they just need to be saved as binary files and the load address and length known. The end of the manual covers all of the supplied RSXs (fifty-two of them - see above) in some detail and explains their uses. RSXLIB is quite a useful piece of software and takes a lot of the tedious work out of dealing with RSXs. The manual is well-written and informative; even the inexperienced user should be able to follow what is going on. No great knowledge of machine code (if any) is needed to use the program, and making collections of useful (or useless) RSXs should be quite easy.