MCommands 1.0 MCommands package is Copyright © 1994. All rights reserved. The author's native language is Polish, so please forgive bad spelling, grammar mistakes and so on. Or better - correct them. Copyright MCommands package is Copyright © 1994 Michael Letowski MCommands is freely distributable under the following conditions: · no more than a reasonable fee is charged for copying/dwonloading; · this distribution is not a part of other non-free distribution; · the distribution is complete - it contains all the files (full list at the end of this chapter); · no file in the distibution is changed. Distribution without meeting conditions specified above requires written permission from me. The commands from the package work, but no guarantee is given nor implied. In no case will I be liable for any results of using any of the commands supplied. The source code is provided only for informational purposes and is also under copyright. List of all files in the distribution: MCommands.Doc MCommands.Doc.info InstallMCommands InstallMCommands.info CCommands ChangeFont ClickStart Examine For Touch Introduction to MCommands This package contains 5 CLI commands that fill some gaps left by current versions of AmigaDOS. The commands are very compact and follow the guidelines for writing Amiga software. These are: ClickStart ClickStart - enables (or disables) some features of AmigaDOS; Examine Examine - determines type of file using DataTypes" DataTypes; For For - allows execution of a command for multiple arguments; Touch Touch - changes file dates. I've been using these commands extensively for several months now, and failed to observe any glitches. In fact, two of them are part of my regular iStartup-Sequenceui and I didn't notice any strange behaviour. I hope you will like them. Requirements for MCommands ClickStart, For, and, Touch require AmigaDOS 2.04 or higher. Examine requires AmigaDOS 3.0 or higher (datatypes.library V39+). ClickStart ClickStart - enable or disable some AmigaDOS features ClickStart [CLICK] [NOCLICK] [STAR] [NOSTAR] [PIPE=PipeChar] [NOPIPE] [MULTI=MultiCommandChar] [NOMULTI] [ALERT=AlertDisplayTime] [QUIET] TEMPLATE ClickStart CLICK/S,NOCLICK/S,STAR/S,NOSTAR/S,PIPE/K,NOPIPE/S, MULTI/K,NOMULTI/S,ALERT/K/N,QUIET/S DESCRIPTION ClickStart allows you to customize AmigaDOS to suit your preferences. Possible changes are: · Disk drives clicking; · Star wildcard; · Unix style pipes; · Execution of several commands ot once; · Alert display time. Information about current settings is printed. OPTIONS CLICK - enables drive clicking; NOCLICK - disables drive clicking; STAR - enables use of * as a replacement for #?; NOCLICK - disables use of * as a replacement for #? PIPE=PipeChar - sets char to be recognized by Shell as pipe. Only one char is used. If you supply empty string, default char is assumed (pipe). NOPIPE - disables piping; MULTI=MultiCommandChar - sets char to be recognized by Shell as multiple commands char. Only one char is used. If you supply empty string, default char is assumed (backslash). NOMULTI - disables multiple execution; ALERT=AlertDisplayTime - sets length of alert display time. The time is given in display frames (there are 50 frames/second in PAL, 60 frames/second in NTSC). 0 means no alert. QUIET - suppresses informational messages. EXAMPLES ClickStart NOCLICK STAR ;Disable clicking, enable * wildcard ClickStart ALERT 0 ;Don't display alerts NOTES This program does nothing illegal: it just sets some values in some structures. It installs no patches and uses no memory. Ideal for placement in Startup-Sequence. Piping and multi-command execution are enabled by setting shell variables _pcharui and _mcharui. This variables are not global: if you want them to be set permanently, you must do that in your Startup-Sequence. To fully utilize pipes an multiple commands execution you need Pipeub command. It can be found on Aminet: os20/cli/hacks204.lha, but it seems to be a little buggy. Commodore - I'm waiting for new version! Alert display times are preserved across warm-boots. Examine Examine - examine type of file using DataTypes SYNOPSIS Examine [Files] [GROUPID=Groupu] [TYPEID=Type] [FULL] [ID] [ALL] TEMPLATE Examineub FILE/M,GROUPID=G/K,TYPEID=T/K,FULL/S,ID/S,ALL/S DESCRIPTION Examineub examines types of specified files using DataTypes. By default (no files supplied) it examines current directory. You can use it to search for specified types of files (eg. pictures or 8SVX sounds) by specyfying GROUPID or TYPEID. These should be no longer than 4 letters and are case-sensitive. Subdirectories can be scanned as well by using ALL option. OPTIONS FULL - print full path of examined file; ID - print group ID and type ID that the file belongs to; ALL - scan subdirectories as well. EXAMPLES Examine ID ;Examine all files in current directory, printing group ID and type ID. Examine DH0:#? GROUPID pict ALL ;Find all pictures on partition DH0: Examine DH0:#? DH1:#? DH2:#? TYPEID amig FULL ALL ;Scan entire disk searching for AmigaGuide files. Print them with full path. For NAME For - do command for multiple arguments SYNOPSIS For [ALL] FilePattern [Command] TEMPLATE For "FILE/A,COMMAND/F,ALL/S" DESCRIPTION For runs specified command for multiple arguments. Two special patterns are recognized in command: %S is replaced with file's name, %P is replaced with full path and name. If no COMMAND is supplied, then simple execution is assumed (%S). ALL forces scanning subdirectories as well; hovewer, the command is not run for directories - it is run only for files; OPTIONS ALL - scan subdirectories as well. EXAMPLES For RAM:#? ;Run all files on Ram Disk For DEVS:Monitors/~(#?.info) %Su ;Run all monitor drivers - replaces two instructions from original Startup-Sequence. Note that full path is not necessary - current directory is changed automatically for each argument. For ALL SYS:#? Echo %s ;List emulation For ALL LIBS:#? Version %s ;Get versions of all libraries Touch NAME Touch - change date of last modification for files SYNOPSIS Touch [Files] [ONEDATE] [ALL] [QUIET] TEMPLATE Touch "FILE/M,ONEDATE/S,ALL/S,QUIET/S" DESCRIPTION Touchub changes date and time of last modification to current system date for specified files. With ALL subdirectories will be affected as well. Normally, current date is used for each file (therefore files Touch'ed with one command can have different dates). ONEDATE forces same date and time for all files. This version differs from the Unix one in that it doesn't create empty files or directories. OPTIONS ONEDATE - use one date for all files; ALL - scan subdirectories as well; QUIET - don't print any messages; EXAMPLES Touch ;Touch all files in current directory Touch #?.o i#?.gst i#?.c ;Prepare files for Make DataTypes DataTypes is AmigaDOS subsystem (introduced in AmigaDOS 3.0) for dealing with different types of files found on different machines (PC's, Macs and Amigas). DataTypes can be used for recognizing types of files and interpreting informations in this files. An example of the latter is MultiView, which can show many types of data. For DataTypes to work the following files are needed: · LIBS:datatypes.library; · DEVS:DataTypes/#? - these short files contain information necessary to determine type of file; · LIBS:DataTypes/#? - these shared libraries are used for interpreting contents of the file. Because Examine command" Examine tests files, it needs DEVS:DataTypes/#? only. Unfortunately, these descriptions are not easy to create or edit, as there is no program that does it (although I've heard that licensed developers have something...). Currently I'm writing one, but it may take some time until it's finished (if you desperately need it, send me some money, so I can work faster :-). DataTypes divide all files into the following main categories: · syst (System) - system files; · text (Text) - textual files; · docu (Document) - documents (spreadsheet data, text with pictures etc.); · soun (Sound) - sound samples; · inst (Instrument) - musical instruments; · musi (Music) - songs; · pict (Picture) - graphics; · anim (Animation) - animations; · movi (Movie) - animation with sound. The categories are identified by four letter (case sensitive) group ID's (first column of above table). Each category is further divided into types: for example a ipictureui could be: gif, ilbm or pcx and text could be asci or FTXT. Again, each type is identified by up to 4 letters and type names are case-sensitive. These unique identifiers are used by Examine command" Examine as GROUPID and TYPEID and are printed if you use ID option. Author About the Author MCommands package was written by Michael Letowski, who is a Software Engineering student at Technical University of Wroclaw and has A1200. If you have something to say me (questions, remarks, suggestions, wishes, bug reports) please contact me: by E-Mail: mileplwrtu11.ci-pwr.wroc.edu.pl or if that fails (which is quite possible due to frequent changes of addressing system on my university): pro20ci3ux.ci.pwr.wroc.pl by normal mail: Michal Letowski Przyjazni 51/17 53-030 Wroclaw POLAND