ZX Format #01: IS-DOS: Exploring the New DOS Alternative

Section "IS-DOS - for beginners". No 1  
Yeliseev V. A.
"IS-DOS - first acquaintance"
(journal version)

(C) PENCRAFT 1995
(C) IskraSoft 1995

What is IS-DOS?

In the traditional ZX Spectrum model, which, as is known, did not have disk drives, the role of the operating system was performed by the built-in interpreter of the BASIC language. But finally, the Beta-disk interface appeared, and numerous Speccy owners gained the ability to work with floppy disks.

There is no need to describe the advantages of working in a disk system compared to a tape system; however, it was soon noted by many that the disk operating system TR-DOS, embedded in the ROM of the Beta-disk interface, organized disk operations far from optimally. Among the main drawbacks of the system were noted such issues as the inability to create files larger than 255 blocks, the inability to create more than 128 files on the disk, the lack of a built-in shell for organizing dialogue with the user, and the inability to use space freed up by deleting files until the MOVE command was executed, which was simply terrible. In short, the moment came when the traditional TR-DOS ceased to meet the growing needs of users; it simply became morally outdated. There was an acute need to create a new, more advanced DOS, free from all the shortcomings of the traditional one.

Such a new alternative operating system for the ZX Spectrum became the IS-DOS system, created in 1992 by the St. Petersburg company Iskra-Soft. Its development used the familiar ideology of the MS-DOS system, which was applied in IBM computers.

The external design of the built-in shell of the system was modeled after the widely known IBM shell Norton Commander. This continuity, among other things, allowed to bring the work on the ZX Spectrum closer to the work on more powerful personal computers and to ensure an easier transition for the user from a home PC to a professional one. One of the main advantages of the new system was that it could be loaded from a floppy disk and did not require any hardware modifications to the computer's scheme. This made it easy to transition to the new level without losing compatibility with TR-DOS.

The new operating system did not immediately find its way to the consumer. The small number of application programs, the instability of early versions, insufficient advertising, and a strict copy protection system long hindered the distribution of IS-DOS; however, recently the situation has changed dramatically. Interesting application programs have appeared, the system has accumulated a large number of utilities and external commands, and with the combined efforts of programmers and users, the overwhelming majority of errors have been caught, and the conditions for the distribution of the system have become more lenient. So now, the brainchild of Iskra-Soft is successfully conquering the market and posing serious competition to the TR-DOS system.

The purpose of this article is primarily to help the unprepared user overcome the natural psychological barrier and acquire the first skills in working with the IS-DOS operating system. However, the information provided in this article will undoubtedly interest more experienced users who have long been working in the IS-DOS environment, as this system, which has been poorly covered in print, has some secrets and subtleties that often elude attention and require special explanations.

This article describes the version of IS-DOS released by Iskra-Soft in May 1994; however, much will be true for earlier versions as well. In cases where the operation of different versions of the system will have fundamental differences, this will be specifically noted. At the same time, the text will include a reference to the date of creation of the system or the version number.

So, let's get started!

Initial loading.

One of the remarkable features of the IS-DOS system, as mentioned earlier, is the ease of its installation on any Spectrum-compatible computer. To start working in the IS-DOS environment, it is enough to insert a floppy disk with the system, purchased from a representative of the company or an official distributor, into the drive and launch it. The warning, by the way, is far from accidental, as unauthorized copies of the system can indeed work unstably and also present some very unpleasant surprises; however, more on that later. For now, let me remind you that Iskra-Soft does not bear any responsibility for the poor performance of "pirate" copies.

If you have a ZX Spectrum 48 with a disk drive (not so rare even today), simply press RESET, and the system will start. If you have a Spectrum 128 or Scorpion, insert the floppy disk and exit to TR-DOS; if you have a Spectrum PROFI 2+, first exit to TR-DOS 128, and then insert the floppy disk; otherwise, your computer will try to load the IS-DOS disk as a CP/M disk. By the way, never buy pirate boards and computers of dubious origin; I personally have encountered instances where IS-DOS could not be launched at all, while the system worked perfectly on authorial machines.

If by the time you start working you are already in TR-DOS and are staring at the Technology Research Ltd. splash screen, or at least the TR-DOS cursor, things are even simpler: to launch IS-DOS, just type ANY disk command, except for the FORMAT command, for example: CAT, LIST, LOAD, RUN, and then... well, this deserves a separate discussion.

File shell.

At the moment of initial loading, numerous interesting events occur in the computer's memory. For now, it is enough to know that the system loader finds a special file on the disk, which contains the body of the system and loads it into the upper addresses of RAM. After that, control is transferred to the IS-DOS system. The first thing IS-DOS does after starting is to find in the root directory of the boot disk a file named autoexec.bat (just like in IBM PC) and execute the sequence of commands specified in that file.

The autoexec.bat file is usually written by the user and contains commands that will always be executed at system startup. It can be used, for example, to set the system configuration, set the current date, resident programs, etc.

After the autoexec.bat has been processed, or in its absence, you find yourself in the IS-DOS file shell. It provides the main mode of operation of the system - working with files.

Externally, the IS-DOS file shell closely resembles Norton Commander - the same two panels with files, a menu line at the top of the screen, and a rectangular cursor. Upon closer inspection, the similarity becomes even more complete. In general, if you have ever worked on an IBM PC, throughout your entire session in IS-DOS you will not lose this feeling of familiarity. If you have never seen Norton Commander, don't be upset - the IS-DOS file shell is so simple and friendly that you will quickly get used to it and remember everything that will be useful to you in the future. Moreover, if you later have to work on an IBM-compatible machine, your experience in IS-DOS will undoubtedly facilitate your mastering it and give you a significant advantage in work compared to those who have not previously worked in the IS-DOS environment.

The top line is the menu of system utilities. They are called up by pressing the corresponding numeric keys (from 1 to 9 and 0). When you press one of the aforementioned keys, the corresponding system utility is launched, and its name is highlighted in a brighter color in the top line.

List of system utilities.
1 HELP - help, operational assistance
2 USER - call user menu
3 VIEW - view file
4 EDIT - edit file
5 COPY - copy files
6 RENAME - rename file, directory
7 crDIR - create subdirectory
8 DELETE - delete files
9 MENU - block device menu
0 MASK - set mask for displaying files on the panel

In the remaining space of the screen, there are two file panels - left and right. One of them, where the cursor is located, is called the current panel, while the other is the alternative panel.

In the top line of each panel, the logical device name (in this case, the disk drive), the disk name, or the currently displayed directory is indicated. The disk name is displayed if the panel shows the contents of the main - root directory of the disk.

The disk name consists of 8 characters and is separated from the logical device name by a colon. If the panel displays one of the subdirectories, its name is printed after the colon, with the number of dots before it indicating its nesting level.

Let's clarify with an example. Let the SHELL directory be a subdirectory of the root directory of device A with the name ISDOS, and the HELP directory be a subdirectory of the SHELL directory; then, when displaying the root directory on the panel, the top line will read:
A:ISDOS

If the panel displays the contents of the A:SHELL directory, the inscription will change to:
A:.\SHELL

If you enter the A:SHELL\HELP directory, it will appear as:
A:..\HELP

The number of dots in this case indicates that the HELP subdirectory is a "subdirectory of a subdirectory" of the root directory of the disk, i.e., it has a nesting level of 2. In total, IS-DOS allows for 6 levels of nesting.

In general, the system of subdirectories in IS-DOS can be conveniently represented as a tree; there are even special programs (tree, treecat, treefile) for this, but more on that later.

Now let's take a closer look at the information located within the panel windows. Each line of this window consists of three areas: the file name area, the file extension area, and the service area.

The file name, like in TR-DOS, consists of 8 characters; however, the requirements for the composition of characters are stricter, corresponding to the standard of professional computers. Thus, the following characters cannot be used in file names in IS-DOS:
! @ % ' ( ) \ { } ^
> [ ] ; " : ? / * . ,

as well as the character with a decimal code of 127.

Some of these characters have special designations and will be discussed later. In the IS-DOS system, it is allowed to use Cyrillic characters in file names, which is very convenient for Russian-speaking users.

The extension (extent) of the file name consists of three characters and contains information about the type of this file. In TR-DOS, it roughly corresponds to the file type character. The file name extension is a fairly arbitrary matter; however, there are some standard extensions (for example, com or res) used by the system, as well as some traditional extensions that should be adhered to when creating your own files (for example, txt).

In addition to the aforementioned, users can create files with their own extensions by describing them in the system configuration; however, to avoid confusion and misunderstandings, I recommend adhering to the generally accepted convention.

Thus, the main recommended file name extensions for IS-DOS are as follows:
com - executable file, program
bat - command text file
res - resident program
key - keyboard driver
typ - display driver
blk - disk device driver
lpr - printer driver
txt - text file
hlp - help text file
wet - working file of the text editor
as - assembly program text
obj - object file
sys - system file
scr - screen file
cod - other files in codes

Moreover, some application programs use their specific extensions, which allows easy differentiation of files created by them from others.

And finally, in the service area of the panel line, special information is placed, most often - the file length in blocks. I remind you that the length of a block - the minimum element of the logical structure of the disk - in the IS-DOS system is 256 bytes, while the size of a disk sector is 1024 bytes.

Now it is necessary to make a small digression and explain a very significant difference between the physical and logical structures of the disk. In the TR-DOS system, these two concepts are practically identical, and the size of the logical block is equal to the size of the physical sector. In professional operating systems, this is not always the case. In particular, one track of a disk formatted in the IS-DOS system consists of 5 sectors, each with a volume of 1024 bytes, therefore, each sector accommodates 4 blocks. Increasing the block size to the size of the sector leads to unjustified waste of disk space, as even the smallest file cannot occupy less than 1 sector, while reducing the sector size to 256 bytes while maintaining the total track size of 5 KB is generally impossible due to a sharp increase in service information - imagine 20 sectors on one track! Therefore, the optimal option was chosen, which turned out to be the most convenient in all respects.

Now that the content of your computer's screen has finally ceased to resemble "Chinese writing," we can proceed to practical exercises. Working with panels. First of all, pay attention to the fact that one of the lines on the panels differs in color from the others. This is the panel cursor, which can be freely moved across the panels using the control keys. The cursor is controlled by the following keys:
Q or CS+7 - move up
A or CS+6 - move down
O or CS+5 - switch to the left panel
P or CS+8 - switch to the right panel

The file panel consists of 19 lines. If the actual number of files in the directory exceeds 19, the contents of the panel shift when the cursor reaches the edge of the window, revealing the next file.

When switching to the alternative panel, the cursor position on the old panel is preserved, i.e., upon return, you will land exactly on the file you left.

To enter a subdirectory, you need to position the cursor on it and press ENTER. After that, the file panel will show the files of that subdirectory, and the top line, consisting of dots, the number of which corresponds to the nesting level of the subdirectory, serves to return to the previous directory. If you have been wandering in the thickets of subdirectories for a long time and are too lazy to find your way back, you can use special keys for a quick return to the root directory:
CS+O - exit to the root directory of the left panel
CS+P - exit to the root directory of the right panel
CS+ENTER - the same in the current panel

Additionally, you can use key combinations for quick navigation within the directory:
CS+Q, SS+Q - go to the beginning of the directory
CS+A - go to the end of the directory

And if you suddenly want the alternative panel to display the same as the current one - at your service is the key:
SS+CS - duplicating the contents of the current panel to the alternative with the cursor moving to it

If you need to refresh the disk directory, change the disk, or select another drive, use the keys:
CS+1 - select device on the left panel
CS+2 - select device on the right panel

Pressing any of these keys will display a special menu, in which you will be offered to choose one of the available devices at that moment.
╔════════════════════╗
║ ║
║ ▒A▒ B C D E F ║
║ ║
╚════════════════════╝

In the IS-DOS system, these devices can be not only disk drives but also other information storage devices - hard disks, virtual disks organized in the computer's RAM, etc. Moreover, all of them, thanks to the appropriate drivers, are serviced from the user's perspective in exactly the same way. Therefore, it is preferable to speak of logical devices rather than just disk drives.

You can select a device using the cursor keys (CS+5 or O - left, CS+8 or P - right); pressing ENTER confirms the selection and returns to the shell. If you have changed your mind about changing the device for some reason - press SS+A or SPACE, and you will return to the shell without any changes.

Launching programs is done with the ENTER key. At this point, the cursor must be positioned on the name of the required file. Do not forget that in the IS-DOS system, executable files have the com extension. However, this does not mean that nothing will happen if you press ENTER on other files. The shell allows programming the reaction to pressing the ENTER key for files with various extensions. For this, there is a special text file extent.txt, which contains a list of declared extensions and a description of the command that is automatically called when ENTER is pressed. The command is separated from the extension by a colon.

The approximate content of the standard extent.txt file is presented in Table 1:
Table 1. Content of the extent.txt file
Content of extent.txt Reaction to ENTER
com: launch com-file
bat:Q:SHELL\exebat interpreter for bat-files
scr:Q:SHELL\exescr /w view screen file
txt:Q:SHELL\tv view text file
hlp:Q:SHELL\tv view help text file
wet:Q:EDIT\edit edit file
lpr:Q:RES\set load printer driver
typ:Q:RES\set load display driver
res:Q:RES\set load resident program
blk:Q:RES\set load driver
bas:@bas BASIC interpreter
mnu:Q:SHELL\menu display USER menu
pac:Q:SHELL\exepac unpack code block

In addition to the above, you can set any reactions for other extensions, for example, for working in Assembly:
as :Q:ASSM\as /auto
obj:Q:ASSM\link

To launch the font editor:
fnt:Q:FONT\f_e_unit

To launch the advertising interpreter SHOW:
shw:Q:SHOW\exeshow

For the graphic editor PICASSO:
pic:Q:PICASSO\picasso.com

Of course, all called programs must be present on the disk in the specified directories; otherwise, an error message No will be displayed.

And finally, another operation available in the IS-DOS file shell is marking files. The thing is that some operations, such as copying or deleting files, are more convenient to perform at once with several files. For this, you can mark these files on the panel by pressing the SPACE key.

After pressing SPACE, the line with the name of the marked file will change its color, and the cursor will move one position in the same direction it was moving before. Thus, you can mark several files in a row, pressing only SPACE. Upon reaching the end or beginning of the directory, the cursor will change its direction of movement to the opposite. Pressing SPACE again on an already marked file will unmark it.

File marking is preserved when moving the panel cursor to the alternative panel, but when entering subdirectories and exiting from a subdirectory, all marks are reset.

Also, in the IS-DOS panels, it is impossible to mark an entire subdirectory or a group of subdirectories. If you need to perform some operation on all files in a subdirectory, enter it and mark all the files. A bit ahead, I can say that for such purposes, you can use the mark.com utility, which is located in the UTIL\ directory and allows marking a group of files by a specified mask.

And finally, I would like to summarize all the information presented above by once again listing the control keys for the file panels:

Main control keys.
Q or CS+7 - move up
A or CS+6 - move down
O or CS+5 - switch to the left panel
P or CS+8 - switch to the right panel
ENTER - enter subdirectory, launch programs according to extent.txt
CS+ENTER - exit to the root directory of the current panel
CS+O - exit to the root directory of the left panel
CS+P - exit to the root directory of the right panel
CS+Q, SS+Q - go to the beginning of the directory
CS+A - go to the end of the directory
CS+SS - switch to the alternative panel with duplication
CS+1 - select device on the left panel
CS+2 - select device on the right panel
SPACE - mark file

To be continued...

In the next issue of the magazine, we will talk about the system utilities of IS-DOS, the very ones whose names are written in the top line of the main screen of the file shell.

Contents of the publication: ZX Format #01

  • IS-DOS
    IskraSoft introduces IS-DOS Classic 4.0 with advanced text editing features, a disk utility, a hard drive controller for ZX Spectrum, and a program debugger.
  • IS-DOS - Владимир Елисеев
    Overview of IS-DOS for ZX Spectrum, highlighting its advantages over TR-DOS. Discussion on installation, usage, and file management features of IS-DOS. Introduction to system utilities and interface similar to Norton Commander.
  • IS-DOS - Владимир Елисеев
    The article provides a concise guide to the IS-DOS system disk, listing all essential files with explanations. Files are sorted alphabetically and grouped by directories for easy navigation. The guide focuses on a basic overview of files and commands without extensive descriptions.
  • IS-DOS - Владимир Елисеев
    Discussion on the UniColor standard for color settings in IS-DOS programs, its implementation, and advantages for user customization.
  • IS-DOS - Владимир Елисеев
    Discussion of IS-DOS window interface features. Implementation of window system in IS-DOS and its advantages. Example programs for creating windows and frames.
  • IS-DOS - Владимир Елисеев
    Description of the internal workings of the gmen.com program for IS-DOS, focusing on device management and menu handling with detailed source code and comments.
  • Hardware - Vladimir Larkov
    Discussion on modifying Scorpion ZS-256 hardware for compatibility with specific software. Describes blocking port #1FFD to run incompatible programs. Provides technical details for implementation.
  • Железо - Nemo
    Discussing hardware braking devices for ZX Spectrum. Focus on creation and impact of brakes on overclocked processors. Warning about potential side effects.
  • Железо
    Discussion of the impracticality of repairing old computers and the economic sense in replacing them with modern hardware. The article highlights challenges in DIY repairs and suggests alternative solutions. Emphasizes the benefits of upgrading to newer, more reliable components.
  • Железо
    Discussion of new peripheral developments for Scorpion ZS 256, including an innovative universal controller and MIDI interface. Highlights enhancements in keyboard and mouse controllers and expansion of built-in software capabilities. Offers details on professional ROM extension and turbo mode for improved performance.
  • Игрушки - Ruster
    A detailed walkthrough of the game Crystal Kingdom Dizzy, including solutions to puzzles and tips for progressing through the story.
  • Игрушки - Павел Рындин
    Description of the logic game 'Bulls and Cows', its mechanics and gameplay. Explains levels of difficulty and the goal to guess a number with minimal attempts.
  • Игрушки - Вячеслав Медноногов
    Discussion on the nuances of 'UFO: Enemy Unknown' game, focusing on alien species, their tactics, and gameplay strategies. Details on game mechanics and future sequel 'UFO-2: Devils of the Abyss'. Includes programming insights and development history.
  • Игрушки - SParker
    Overview of games and software on the Saint Petersburg market in 1995.
  • Интервью
    Vyacheslav Mednonogov shares his journey as a programmer, from assembling his first Spectrum-48 to developing notable games like 'UFO. Enemy Unknown'. He describes challenges and insights in game development and the rise of Russian game localization. His experiences highlight the evolution of programming and software distribution in the 1990s.
  • Информация
    Introduction to ZX-Format, a new electronic magazine for ZX Spectrum enthusiasts, focusing on games, programming, hardware, and community interaction.
  • Конкурс
    Discussion on organizing a new competition for the magazine. Readers are invited to submit their theme ideas. Selected themes will be featured in future issues.
  • Конкурс
    ZX Format announces a competition for the best mission created using the mission editor for the game Laser Squad. Submissions are accepted by mail or in person. Winner receives a box of 3M disks and the next issue for free.
  • Отдохнём - Килат Амор
    A programmer's day filled with dreams, gaming, and casual conversations. Vasetchkin balances ambition with relaxation, embodying the programmer's spirit. Reflects on the demands and enjoyment of a programmer's life.
  • Mailbox - Максим Романов
    Discussion on hardware and software offers in St. Petersburg by LOGROS and Create Soft, including detailed insights on Kempston Mouse interface.
  • Mailbox - SParker
    Compilation of cheat codes for ZX Spectrum games by Sergey Pavlov. Techniques for extra lives and immortality. Not recommended for fans of fair play.
  • Mailbox
    Description of submission guidelines for letters and articles to the magazine, including formatting and submission preferences.
  • Премьера - Алексей Щекин
    Gameplay of Lines game on ZX Spectrum, similar to Color Lines. Move balls to form lines of the same color. Scoring and controls are described.
  • Программистам - Дмитрий Рудовский
    Introduction to advanced BASIC programming techniques for ZX Spectrum 48, highlighting its advantages over 128 BASIC. Plans for future articles include service programs and language extensions. The article serves as a guide for experienced programmers.
  • Программистам - Михаил Спицын
    Introduction to assembly language on ZX Spectrum. Explanation of Z80 processor structure, registers, and basic commands. Includes example programs for learning.
  • Программистам - Андрей Седов
    Mission editor for Laser Squad by Andrey Sedov allows fans to create new missions. Includes user-friendly interface with minimal controls. Offers features like object editing, price adjustments, and sprite assignment.
  • Various
    History of Amiga computer development, its creators, and key features. Evolution from arcade games to a leading home computer. Amiga's market success and technological advancements.
  • Разное
    Review of upcoming ZX Spectrum software products with demos. Highlights include adventure games, RPG trials, and strategic tactics. Several well-known developers contribute to these releases.