Section "IS-DOS - for beginners" No 2
Yeliseev V. A.
"IS-DOS - first acquaintance"
(magazine version)
(C) PENCRAFT 1995
(C) ISKRASOFT 1995
Continuation, beginning - in No 1.
System utilities.
In the previous chapter, we examined the control keys of the file panels in detail. Now that you have mastered this, you can confidently move on to the next quite extensive topic - system utilities, listed in the top line of the screen and invoked by numeric keys. There are a total of ten utilities; we will examine each of them in detail.
1 - HELP
Key 1 invokes the utility help.com, located in the SHELL\ directory (until 05.95 - UTIL\). This utility allows you to display a text hint file for the file that the cursor points to.
For this, there must be a HELP\ subdirectory in the directory where your file of interest is located, containing text files of descriptions-hints for the files in that directory. The description files have the hlp extension. Additionally, the hint file name must match the name of the file itself; for example, if you have a file copy.com in the A:UTIL\ directory, then the help file for it should be named copy.hlp and located in the A:UTIL\HELP\. The basic IS-DOS package usually includes help files for all major commands and files. If the corresponding description is not on your diskette, pressing key 1 will invoke help for working with the IS-DOS file shell. This file is called shelhelp.hlp and is located in the HELP\ subdirectory of the root directory. Missing help files, as well as descriptions of your own files, can be created by you in a text editor and placed in the HELP\ subdirectory of the directory where the described file is located.
2 - USER
Key 2 launches the utility menu.com, also located in the SHELL\ directory (until 05.95 - UTIL\). This utility allows you to work with the so-called "user menu" - User menu. The user menu can be used to call frequently used programs, launch your batch files, application packages, etc. The appearance of the main USER menu of the basic IS-DOS package is shown in the figure:
╔═════════════════╗
║ USER MENU ║
║─────────────────║
║ WORK WITH DISK ║
║ RESIDENTS ║
║ WORK WITH TR-DOS ║
║ WORK WITH MS-DOS ║
║ CATALOG TREE ║
║ HIDE FILES ║
║ SEE FILES ║
║ EXIT TO SHELL ║
╚═════════════════╝
The utility menu.com displays a window on the screen with a list of commands, comments, text information, etc. Moving the cursor over the lines of the window, you can select the desired program and launch it by pressing ENTER. Exiting the menu is possible by pressing SS+A or through a specially provided line. User menus can be nested, i.e., each line of the main menu can contain a command to call another menu. This is how the User menu system is organized in the basic IS-DOS package. The menu configuration is read by the utility menu.com from a text file menu.txt (in the version from 10.06.95 - menu.mnu). At the moment you press key 2, it searches for this file first in the current directory, and then, if absent, in the SHELL\ directory. Thus, you can create your own menu in each disk directory, but the main menu will be the one located in the SHELL\ directory. As mentioned above, the IS-DOS system comes with a set of ready-made User menus to call the most important system utilities; however, the main purpose of the utility menu.com is to use your own menus. For this, you need to create your own text file menu.txt, describing the menu configuration. Read about how to do this in the corresponding chapter of this brochure.
3 - VIEW
Key 3 allows you to view the contents of files on the screen. Naturally, to view text files, a program is required that outputs them in character form, for screens - in graphical form, and for code blocks - in the form of a hexadecimal dump. For this, a special text file extview.txt is provided in the system, describing the system's response to pressing key 3. Doesn't this remind you of something? For example, extent.txt. This approach allows for easy modernization of the system and expansion of its capabilities, since you can also edit the extview.txt file as you wish.
Most often, you need to view text files. For this, the utility tv.com is called, located in the SHELL\ directory. By the way, this is the service used by the above-mentioned command help.com to display the hint file on the screen. To view screen files, the utility exescr.com is called from the same directory, and for code blocks, it is preferable to use the hexadecimal monitor demon.com from the SERVICE\ directory. An example of a standard extview.txt file is given in Table 2.
Table 2. Example of the extview.txt file
Contents of extview.txt Response to key 3
scr:Q:SHELL\exescr /w view screen file
txt:Q:SHELL\tv view text
mnu:Q:SHELL\tv view text
bat:Q:SHELL\tv view text
wet:Q:SHELL\tv view text
hlp:Q:SHELL\tv view text
as:Q:SHELL\tv view text
cod:Q:SERVICE\demon hexadecimal view
obj:Q:SERVICE\demon hexadecimal view
com:Q:SERVICE\demon hexadecimal view
Descriptions of file viewing programs will be published in one of the following articles in our section.
4 - EDIT
Pressing key 4 launches the built-in text editor in IS-DOS. This is quite a large and complex program with truly enormous capabilities for creating and editing text files. A separate brochure can be devoted to describing the text editor, which will be done in the near future. For now, I can give some elementary explanations that will help you perform the most urgent tasks, such as writing your own batch files, editing the files extent.txt, extkey.txt, extview.txt, creating User menus, etc.
So, pressing key 4 calls the text editor. At this point, the file that the cursor was on at the time of invocation is being edited. Naturally, you can only edit text files with it. The list of file extensions considered text files is contained in the text file ed_ext.txt. You can supplement and edit the contents of this file as you wish; however, remember that the first two bytes of the first line should be reserved for the system, and it's better not to touch them, while the next three must necessarily contain "wet" - the standard extension for the editor's working file. The other extensions are described in the lines starting from the second, one per line. The main recommended extensions for text files are given in Table 3.
Table 3. Extensions of text files.
Extension Purpose of the file
txt text file (general)
hlp help file
doc document
bat batch file
as assembler text
bak backup of text
mnu text USER-menu
If at the moment of pressing key 4, the cursor was on a file name with an extension described in the ed_ext.txt file, the editor's input menu will be displayed on the screen (see figure).
┌──────┐
│ EDIT │
└──────┘
┌────────────────────┐
│ │
│ EDIT treecat.txt │
│ CREATE NEW FILE │
│ bak N │
│ CANCEL │
│ │
└────────────────────┘
The first line means going to edit the file that the cursor was on (the name of this file is shown in the line after the word EDIT). The second line means not to touch the current file but to create a new one (when selecting this option, you will be prompted to enter the name of the newly created file and its extension). The third line is an indicator of the mode for creating a backup of the edited file. This option allows you to keep the original file intact before starting editing so that you can return to it later if necessary. If you set "Y" in this line, the original file will be saved in a file with the same name but with the bak extension. Now, if the results of editing seem unsatisfactory to you, you have the option to delete the edited file and, by changing the backup extension from bak to what it was before, restore the status quo. The fourth line of the menu is quite simple - it is a refusal to edit and exit to the shell, i.e., the same as SS+A.
If when pressing key 4 the file extension under the cursor is not recognized by the editor, the menu will only have two lines: CREATE NEW FILE and CANCEL. However, that's not all. The editor's input menu has its own parameter configurator, called by the keys SS+SP, but we will postpone its description for better times.
So, by selecting EDIT in the input menu, you start editing the file. The editor in the IS-DOS system has truly enormous capabilities, the description of which can take quite a lot of space. Therefore, in this brochure, you will find only the most basic information, and a complete description of the editor, as mentioned above, will be found in one of our next publications.
For starters, you only need to know some control keys:
CS+1 - Modes Rus/Lat
CS+2 - Modes Uppercase/Lowercase
CS+3 - Modes Insert/Overwrite
CS+4 - cursor to the beginning of the line
CS+5 - to the character left
CS+6 - to the line down
CS+7 - to the line up
CS+8 - to the character right
CS+9 - to the end of the line
CS+0 - delete the character to the left of the cursor
SS+W - delete the character to the right of the cursor
SS+E - insert space at the current position
SS+Q - to the screen up
SS+A - to the screen down
Additionally available:
CS+ENTER - tabulation
SS+ENTER - exit to the block operations menu
SS+SPACE - exit to the command menu
CS+SS - exit to MACRO mode
In conclusion of the discussion about the editor - a few extremely necessary commands from the command mode, called using SS+SPACE:
9 - Modes Text/Graphics
D - delete line
U - restore deleted line
E - Exit from the editor
In the exit menu from the editor, there are three options: DRY EXIT - complete termination of editing and saving all changes to the file, WET EXIT - exit with the creation of a working file with the wet extension, which saves all main parameters, such as cursor position, modes, fields, marked blocks, etc., and LEAVE - exit without saving the last changes. The LEAVE option should not be abused, as its result depends on many external factors (the degree of cache memory filling, for example) and is often difficult to predict.
5 - COPY
Key 5 in the IS-DOS shell calls the copy program - usually this is the program filecopy.com from the SHELL\ directory (until 05.95 - UTIL\). The appearance of this program is shown in the figure:
┌──────┐
┌──────────────┤ COPY ├─────────────────┐
│ └──────┘ │
│ │
│╔═════════════════╗ ┌────────────────┐│
│║ flush com ║ │ extprint txt ││
│╚═════════════════╝ └────────────────┘│
│ ┌─────┐ ┌─────────────────┐ ┌─────┐ │
│ │ 4 │ │ DESTINATION │ │ 4 │ │
│ └─────┘ └─────────────────┘ └─────┘ │
│ ┌───────────────────────────────────┐ │
│ │ A:UTIL │ │
│ │ │ │
│ └───────────────────────────────────┘ │
│ │
│ │
│ │
└───────────────────────────────────────┘
In general terms, it copies all marked files on the current panel to the directory opened on the alternative panel. If both panels have the same drive open (for example, "A" when working with one disk drive and two diskettes), the program will ask which disk should be inserted into the drive. If there are no marked files, the file under the cursor will be copied.
If you suddenly find that you forgot to open the destination directory on the alternative panel before calling filecopy.com, it's not a problem; the program allows you to correct the path for copying files in a special window.
During copying, the left window displays the currently read file, and the right window shows the last written file.
The program filecopy.com has a number of useful features, which you can learn about from its description; for now, I will just note that this program is quite "smart" - for example, if you try to copy a file to a disk where a file with the same name already exists, the program will ask you whether to proceed.
6 - RENAME
Key 6 invokes the file renaming program (usually rename.com), which allows you to change the name of the file or directory under the cursor.
The program rename.com also allows editing other information contained in the file or directory descriptor, such as creation date, write protection status, etc.
Editing this information is activated by the keys SS+SPACE. When you press this key, a large window appears in place of the alternative panel, listing all available parameters.
The appearance of the window for editing these parameters, also called file attributes, is shown in the figure:
╔══════════════════╗
║ Save ║
║ Dec Ovr ║
║ Name:UTIL ║
║ Cat Contiguous ║
║ Visible ║
║ Unprotect ║
║ Address: 3 ║
║ Length: 1536 ║
║ Fil_pos: 34 ║
║ Cat_pos: 34 ║
║ Byte_21: 45 ║
║ Word_22: 44 ║
║ Word_24: 0 ║
║ Checksum: 0 ║
║ Word_28: 0 ║
║ Date: 1-Sep-95 ║
║ Exit ║
╚══════════════════╝
More detailed information about the operation of the program rename.com and the purpose of file attributes can be obtained by reviewing the description of this program, and we now move on to the next system utility, which you will also use quite often:
7 - crDIR
As you may have guessed, crDIR is nothing more than creating a directory. Indeed, to create a directory, you only need to press key 7 and enter the name of the directory to be created in the window that appears (see figure). The directory you create will be a subdirectory of the directory you were in at the moment you pressed key 7.
╔════════════╗
║ Create ║
║ Directory: ║
║ WORK ║
╚════════════╝
Once, the procedure for creating a directory was part of the IS-DOS core, but now the resident program mkdir.res serves this purpose, which is invoked by key 7. Naturally, if you removed this program from memory during work (for example, to save space in RAM), there will be nothing to call, and the system will issue an error: Error 37 - resident program not found. In this case, return mkdir.res to its place with the command Q:RES\set Q:RES\mkdir.res or use the analogous program mkdir.com from the SHELL\ directory.
8 - DELETE
Key 8 - file deletion. Files are deleted using the utility delete.com. Like filecopy.com, it works with marked files, and in the absence of a mark, it deletes the current file.
The first line of the menu is the most important. If you accidentally pressed key 8 - confidently choose it, and your files will remain intact. The same effect can be achieved by pressing SS+A. In the last line of the window after the word Select, the number of files to be deleted is displayed, and in the lower window - the name of the first of them. If you have finally decided to destroy all selected files - use the Delete option, and if you still have doubts - use Ask Delete, and the program will prompt "Delete Y/N" before deleting each file and will only delete it if you respond positively to the question.
Files that are write-protected will not be deleted by the program delete.com (that’s what they are for), and it will display the message "Protected file." Directories can also be deleted, but only if they contain no files. Otherwise, you risk getting the message "Catalog not empty."
And finally, I remind you that the program delete.com, as it should, does not erase the file from the disk but simply marks it as deleted. Therefore, most files can be restored after deletion, for example, using the utility qu.com, but only if no writing has been performed to the disk after the files were deleted.
The appearance of the program delete.com is shown in the figure:
┌────────────┐
│ Quit │
│ Ask delete │
│ Delete │
│ Select: 7 │
└────────────┘
9 - MENU
Key 9, like key 7, invokes a resident program (in this case - gmen.res), which must be installed in the system. If you received "Error 37" instead - install the resident program with the command Q:RES\set Q:RES\gmen.res or use the com analog. The program gmen is designed for the operational assignment of devices in the IS-DOS system.
In total, up to 6 logical devices can be used in the IS-DOS system; they can be disk drives, a virtual RAM disk, a hard disk, etc. All of them, regardless of hardware implementation, are perceived by the system in the same way, and the neutralization of physical differences between them is left to the drivers. However, some of the devices you use can be endowed with special powers. In total, there are three special devices possible in IS-DOS: SYSTEM - system, QUICK - fast, and CURRENT - current. When specifying paths to files in the command line, they are denoted by the letters S, Q, and T, respectively. This achieves some universality in specifying paths to files.
Let me explain with an example. Suppose you have two disk drives, and your friend has three (believe me, this happens). If he writes in a command file, for example, like this:
A:UTIL\copy B:SHELL\*.com C:SHELL
then this will not work for you in any way - after all, you do not have drive C. However, if your acquaintance assigns drive A as fast, B as system, and C as current, you can write the above command like this:
Q:UTIL\copy S:SHELL\*.com T:SHELL
which will allow you to use this command file, as long as you assign one drive as fast and system at the same time, and the other drive as current.
Additionally, these three devices have special purposes: When launching any file, if the path is not specified, the system first looks for it on the fast disk, and if it does not find it, then on the system disk. This allows, for example, to copy the most frequently required files to the RAM disk, which is known for its high access speed, declaring it "fast," while leaving all rarely used utilities on the diskette, declaring the disk drive "system." This is especially relevant for Spectrum 128 with an electronic disk of only 80K. Many programs in the IS-DOS system, while loading from the fast or system disks, create working files on the current disk, which, in particular, allows storing working files separately from programs on other diskettes.
So, using key 9, you can declare any of your devices as system, fast, or current, and one device can easily combine two or all three functions, as you wish.
The appearance of the gmen utility is shown in the figure:
┌─────────┐
│System B│
│Quick A│
│Current A│
│Exit │
└─────────┘
And finally, the last:
0 - MASK
Key 0 invokes the utility mask.com, which is responsible for monitoring the output format of information in the file panels (see figure).
┌────────────┐
│Panel state:│
│*.* │
│LENGTH │
│Pattern │
└────────────┘
With this utility, you can set a mask for any of the file panels, which allows displaying only files that match a certain pattern; in addition, it allows selecting the information displayed in the file panel rows to the right of the file name extension. By default, the file length in blocks is always displayed; I remind you that the block size in IS-DOS is 256 bytes. If you press ENTER on the LENGTH line, the situation will change, and the attributes of the file will be displayed in the right part of the panel - the symbol "p" if the file is write-protected, and the symbol "c" if the file is contiguous. In the menu, the word STATUS will appear in place of LENGTH. Pressing ENTER again will restore the mode of displaying the file length in blocks.
In the top line of the menu, you can set a sample mask according to which the shell will display the contents of directories on the screen. The mask is set in the form of a file name and extension, and implicit names can be applied. For this, there are special designations:
* - any number of arbitrary characters in the name and/or extension
? - one arbitrary character in the name and/or extension
Any combinations are possible, for example:
*.* - show all files (by default)
*.com - show all com-files
a*.txt - all text files whose names start with "a"
??ed*.a?m - show files whose second and third characters are "ed," and in the extension, the first is "a," and the third is "m"
copy.com - show only the file with the name copy and the extension com
copy*.* - show all files whose names start with copy
Experiment with this option yourself, and you will understand everything immediately.
The bottom line of the menu allows you to choose the mode of working with the mask concerning directories. There are two options: show all subdirectories regardless of the mask, and apply the mask only to files (Pattern+CAT mode), or show only subdirectories that match the mask along with all files that also match that same mask (Pattern), which allows organizing searches and output by mask for subdirectories.
However, it should be reminded that subdirectory names consist of uppercase letters, while file names are usually in lowercase, so in Pattern mode with a mask for a subdirectory, you are likely to see only subdirectories without files. So, either search for directories or search for files - one or the other.
Thus, we are now briefly acquainted with the main system utilities, the names of which are displayed in the top line of the main screen of the IS-DOS file shell. However, this does not mean that the service capabilities of the system are limited to these ten commands. The number of system utilities and external commands in IS-DOS is extremely large, and many of them are very important for the user. Unfortunately, the scope of this article does not allow us to cover them all; however, in the following articles in our magazine, we will definitely return to this issue and examine the most important commands that provide IS-DOS with the comfort and convenience you love so much.
To be continued ...
In the next issue of our magazine, we will talk about the main control keys of the IS-DOS shell.
_________________________________________
Contents of the publication: ZX Format #02
- IS-DOS
Announcement of a school-ready hardware-software complex by Iskra Soft and Peters, featuring a networked computer class setup on ZX Spectrum with IS-DOS.
- IS-DOS - Владимир Елисеев
Explanation of command line monitor and text editor restart in IS-DOS using mon.com utility as an example.
- IS-DOS
Introduction to IS-DOS system utilities, covering functions like help, user menu, file viewing, editing, and file operations.
- IS-DOS
Detailed description of the eliminat.com program for freeing memory from resident tasks and drivers, featuring interactive mode and command-line keys. Specific channel numbers allocated for task and driver types. Includes usage options and color customization.
- IS-DOS Window System - Владимир Елисеев
Exploration of IS-DOS window system restarts for printing text in windows and absolute screen coordinates. Examples of restart implementations such as lwt, adrwt, lenwt, prstr, str, and lnstr. Continuation to cover auxiliary restarts in next issue.
- Assembler
Introduction to assembly language basics, focusing on flags, arithmetic operations, and register manipulation. Discusses addition, subtraction, and complex operations like multiplication and division through examples. Highlights specific assembly commands and their functions for ZX Spectrum.
- Hardware
Discussion of hardware modifications for Scorpion ZS-256-Turbo, including the implementation of a Turbo/Normal switch. Pros and cons of software-based switching methods. Advice on soldering and circuit adjustments.
- Hardware
Discussion of a new music add-on for ZX Spectrum by X-TRADE and HACKER STINGER, called 'ZX GENERAL SOUND', offering high-quality audio and minimal processor usage.
- Hardware
Discussion on hardware innovations and marketing strategies, focusing on mouse and keyboard interfaces for ZX Spectrum. Critique of competitor's misleading advertising and analysis of serial versus passive mouse technology. Author questions necessity and cost of advanced features.
- Hardware
Discussion of hardware acceleration methods for ZX Spectrum, focusing on turbo-modes and their effects on performance and compatibility.
- Toys
Fantasy tale about magical creatures battling human intrusion. Main character recruits allies for a quest to restore the land's former glory. Challenges include finding tools, overcoming obstacles, and reviving companions.
- Toys
Review of 'Carrier Command' game, focusing on its strategic and simulation aspects. Includes detailed gameplay mechanics, controls, and objectives. Highlights strategies for success and unique features like managing resources and autonomous systems.
- Interview
Interview with Sergey Zonov and Andrey Larchenko discussing their experience with microprocessors and ZX Spectrum development, including the creation of the Scorpion ZS 256 computer.
- Information
Contact information and staff list of ZX-Format No. 2 (1995) including editor, coders, and designers.
- Information
Editor's address to readers of ZX Format, discussing the positive feedback, past errors, and the quest for a cartoonist, with future plans for the magazine.
- Information
Discussion on the new interpretation of the 'PULLDOWN' window menu system for ZX Spectrum, focusing on interface updates and user interaction enhancements.
- Information
Discussion about companies illegally distributing ZX Format, emphasizing the benefits of purchasing official copies.
- Competition
The article discusses the lack of participation in ZX Format's competition, detailing the rules and prizes, and encourages readers to engage with new ideas.
- Let's Relax
A humorous account of a software vendor's challenges dealing with clueless customers, illustrating the nerve-wracking nature of his job.
- Mailbox
Overview of hardware components and prices for ZX Spectrum enthusiasts with ordering details.
- Mailbox
Reader letters section in ZX Format #02 discusses reader feedback, addresses issues with ZX Format features, and offers future improvements.
- Premiere
Guide to Digital Studio v1.12, a music editor for ZX Spectrum, including features, menu navigation, and the use of Digital Studio Compiler.
- For Programmers
Exploration of tools that extend the standard Basic 48, including Renumber for Basic 128, Trace & Speed, Blast Toolkit, and ZXeditor, highlighting their functionalities and utilities.
- Various
History of Amiga computer models and their evolution from A1000 to A4000/60T with specifications and unique features. Explanation of technical terms and differences between chip and fast memory. Mention of new developments like AGA chipset and models for different needs.
- Miscellaneous
The article presents upcoming ZX Spectrum software releases and reviews game innovations like 'Adventures of Winnie the Pooh' and 'UFO 2: Devils of the Abyss'. It highlights features, creators, and technical requirements. It also includes announcements from SOFTLAND and Cracked Masters Group.
- Systems
Discussion of creating music with Instrument 3.01, focusing on digitized sound. Analysis of program's capabilities and conversion from ASC Sound Master. Instructions for composition and conversion.
- What's New
Review of new ZX Spectrum games entering the St. Petersburg market in late 1995. Detailed game descriptions, memory requirements, controls, and music/graphics evaluations. Highlights include Night Hunter, Extreme, Grell & Falla, and more.