ZX Format #04
14 июня 1996
  IS-DOS  

IS-DOS - Category "IS-DOS - for beginners" No 4.

<b>IS-DOS</b> - Category
   Category "IS-DOS - for beginners" No 4


              Eliseev VA

      "IS-DOS - the first acquaintance"

          (Journal version)

(C) PENCRAFT 1995
(C) ISKRASOFT 1995

Continued from - to No 1, 2, 3
_________________________________________


     Shell


    In the previous section you learned
One of the most important ways you can get the most commonly 
used tools and commands IS-DOS - call for special keys.

However, do not always make sense to define the key for a 
particular team, because some teams are rarely needed, but 
under all the utilities of all possible combinations of key 
parameters is simply not enough. Therefore, to ensure timely 
treatment to the system It provides so-called. shell, whose 
responsibilities includes reading and transfer system commands 
entered by the user in a special area of ​​memory called a 
"buffer command line." Entering commands in the this buffer is 
implemented through a special program - monitor command line, 
which is called mon.com and runs normally key CS + m (in the 
IS-DOS 2.0 and below - m). There is also the resident version 
of the monitor - mon.res, hotkey m and has a number of 
additional features, which will be discussed later. 


    Monitor the command line opens
special area of ​​the screen - a window display, occupying the 
top three rows. In the upper left corner of this area is 
blinking cursor is the same as in the text editor. Generally, 
the monitor command line is a text editor in a nutshell, only 
created the text is not saved as a file and transferred to 
buffer the command line, where processed by the interpreter.



      Monitor control keys:

CS +5 - cursor left

CS +6 - cursor down

CS +7 - cursor up

CS +8 - cursor right

CS +0 - delete character left

SS + W - delete character under the cursor

SS + E - insert a space

CS +1 - mode Eng / Lat

CS +2 - regimes Upper / Lower

CS +3 - mode Insert / Replacement

ENTER - the completion of entry and execution
line

CS +9, SS + ENTER, SS + CS, SS + A, SS + SPACE -
Output from the monitor without having to line
buffer content is not saved


    As you already understood, Keystroke
ENTER leads to the completion of the command is entered, and 
starts the shell line. At the end of the command, as

Typically, you return back to the monitor. Moreover, if the 
command is successful, the editing window is cleared and the 
cursor is placed in the upper left angle. If the command line 
allowed syntax error, eg incorrect parameters are specified, 
the command line remains on the screen, the cursor is placed at 
the end of the line, then you get the opportunity to correct 
the error and again try to execute a command by pressing ENTER, 
if you do and then it will not work - Click one of the keys out 
and read help-file to you want.



    If in the performance of your team
place a system error - Larry will report this in a window on
the lower half of the screen (transcript numbers of system 
errors, see the file S: HELP \ error.txt), then by pressing any 
key, you can go into the shell IS-DOS and speculate about the 
reasons for such the sad result. If

system can not find the disk you want
You file, the window error appears
"No filename". If you suddenly get this message - remember that 
it does not necessarily mean that this file is not on drive at 
all, simply specify the full path to it, ie, in which 
subdirectory it should be sought.



    When you work in a monitor command line, as opposed to a 
text editor basic modes (Rus / Lat, upper / lower case, insert 
/ replacement) are not displayed on the screen, which creates 
some difficulties however, this problem is easily solved by

a special resident program
indi.res. Install and run the commands Q: RES \ set Q: RES \ 
indi.res and @ indi, and you will see in the lower right corner 
of the window editing standard display modes: lat - Latin 
characters, in Russian - Russian, ins - insert mode, ovr - 
replace mode, the display modes in capital letters indicates a 
switch on capital letters.



    Resident monitor command line
mon.res, which has already been mentioned,
performs the same function as the mon.com,
but has some additional features that make your command-line. 
Inside the resident monitor has a special buffer size of 256 
bytes, which stored the commands entered by pressing ENTER. 
This frees you from having to re-type text commands to be

call several times. In addition, you can edit the command text, 
even in If a system error or an error "No

filename ". In the event that the keys
failure, the command is not stored and the buffer contents 
remain unchanged. Commands in the buffer resident monitor 
arranged in the order they are entered, forming a ring-like 
stack. To move for him to find the right command, you can use 
the following keys: 

SS + SPACE - go to the previous command

SS + CS, CS +9 - go to the next team


    Thus, to call the last
command entered, press
SS + SPACE, and for the withdrawal of the earliest
preserved in the buffer - SS + CS. As
buffer is filled, older teams
erased, the contents of the stack is shifted to
one line and a new command is written
at its peak. The maximum number of
memorized commands depending on their length and
usually around 20.


    Resident monitor has one
a useful feature - when you press the SS + ENTER at the current 
cursor position carries the name of the file or directory in 
which to challenge the monitor is cursor file panel. Output 
from the monitor with the refusal of execution line, because 
employment of other keys are only using SS + A. Program display 
modes indi.res works with a resident monitor as well as with 
com'ovskim. 


    Let me remind you that when working with a resident monitor 
strictly Do not remove residents and drivers,

set before himself mon.res,
is bound to cause movement in memory of the monitor, and will 
lead to guaranteed failure. In such cases, use the program 
mon.com. 


    Now let's talk more about the teams in the IS-DOS. Teams are
internal and external. Are called internal commands that are 
located in the body system. There are only five teams: 

L_S / n - n to designate the unit system,

L_Q / n - n to designate the device faster,

L_T / n - n to designate the device current,

CAT s - to make the current directory, as described in the 
string s, 

@ M - to run a memory resident program m

where n - Symbols devices (both explicit - A, B, C, D, E, F, and
Contingent - S, Q, T),

s - the full path to the desired subdirectory (for example: Q: 
RES \ TRANS \ HELP \), 

m - the name under which set-resident program.

Examples of internal commands IS-DOS:

L_S / A - A device to designate the system

L_Q / S - to appoint a quick same device that is assigned as a 
system 

CAT S: UTIL \ HELP - open (make current) directory S: UTIL \ 
HELP 

@ Indi - run a memory resident program
established under the name indi


    Of course, before you call the @
need to TSR
was established utility set.com.


    External teams in the IS-DOS commands are called, loadable 
from disk at the time of their execution. In fact any file can 
be com'ovsky external command. 


    To call any external command to the command prompt, type 
the name of this team with all necessary parameters, do not 
forget to specify the full path to it. If the command is 
invoked from the current directory path is optional. 


     Examples of external commands:

Q: UTIL \ diskname [invoking changes
disk name]

Q: SHELL \ exebat T: SERVICE \ BLK \ ram128.bat
[Call interpreter bat-files and executable is ram128.bat]

Q: RES \ set Q: RES \ mon.res / e [Remove TSR mon.res]

set mon.res [However, if the current panel to open the 
directory RES \] 

Q: UTIL \ date [Call Setup
current date]

date [However, if the current panel to open the directory UTIL 
\] 


           Team bat-files


    Work in the monitor command line
as mentioned above, well, if the team needs to call one - 
twice. If You also need to frequently use any sequence of 
commands, especially if it is large enough, then it is better 
to create a so-called. batch file that These commands allow you 
to run an unlimited number of times. 


    Batch files in the IS-DOS
represent a special text
files with the bat. These files
contains the text of commands to be executed. The format of the 
job commands in the files is the same as in the monitor command 
line - in fact, each row bat-file - this is a common command 
line. 


    Interpretation of the bat-files in the system
IS-DOS is engaged in a special program
called exebat.com and is located in the directory SHELL. It 
reads from file the next row and puts it in

designated storage area, where
she is already engaged in a shell of the system.


    Command files can be nested, ie, one batch file can call 
another command file. Maximum nesting depth of 120 files.

At the end of each working off of the embedded control files 
transferred to the caller of his file. 


    Work of nested command bat-files the easiest way to provide 
a concrete example, graphically the sequence of execution of 
commands. 


    For example, if we have a directory SHELL
Here are four such bat-file:

[Main.bat]

Q: UTIL \ eliminat / r

Q: SHELL \ exebat Q: SHELL \ checksum.bat

Q: SHELL \ exebat Q: SHELL \ restres.bat

[Checksum.bat]

Q: RES \ set Q: RES \ univ.res

Q: RES \ set Q: RES \ calc.res

@ Univ calc *.*

Q: RES \ set Q: RES \ univ.res / e

Q: RES \ set Q: RES \ calc.res / e

[Restres.bat]

CAT Q: RES

set gmen.res

set mkdir.res

set date +3. res

@ Date +3

Q: SHELL \ exebat Q: SHELL \ setmon.bat

[Setmon.bat]

set mon.res

set indi.res

@ Indi

a sequence of commands that are executed will be as follows:

[Top of main.bat]

Q: UTIL \ eliminat / r

[Top of checksum.bat]

Q: RES \ set Q: RES \ univ.res

Q: RES \ set Q: RES \ calc.res

@ Univ calc *.*

Q: RES \ set Q: RES \ univ.res / e

Q: RES \ set Q: RES \ calc.res / e

[End of checksum.bat]

[Top of restres.bat]

CAT Q: RES

set gmen.res

set mkdir.res

set date +3. res

@ Date +3

[Top of setmon.bat]

set mon.res

set indi.res

@ Indi

[End of setmon.bat]

[End of restres.bat]

[End of main.bat]


    The system IS-DOS, there is one
program to work with the bat-files -
bat.res. This is a memory resident program that is convenient 
to use when working with a large number of bat-files, so as not 
to cause every time exebat.com. Program bat-res installed into 
the system by typing Q: RES \ set Q: RES \ bat.res, then to 
call the bat-file just enter the command @ bat, or even just @, 
Indicating name of a file. @ HEAD_EXAMPL = For example:


@ Main.bat

thus necessarily the file name must be separated from the @ 
symbol or command "@ Bat" a space, otherwise the system will 
treat his name as resident program. Also

necessarily indicate increased bat.


    Bat.res program has three additional commands that begin 
with an "*":


* L + - running command lines are displayed at the top of the 
screen. 

* L-- running lines do not appear on the
display.

* E - A special team, which is
to exit from the chain attached bat-files. She posed at the 
beginning of the command line after the execution of which the 
output of the shell with the restoration of software stack.



    Commands can be typed as uppercase and lowercase letters.


    By using bat-res, do not forget that while it is running 
dangerously move TSRs, remove resident programs and drivers as 
this may cause a system reset due to movement of the program

bat.res. If a team or set eliminat
remove the resident program installed before bat.res, the 
consequences could be unpredictable. In such cases it is better 
to fly exebat.com. 


         Drawing USER-menu.


    System USER-IS-DOS menu allows
pre-programmed call any parts you use utilities or
programs that will handle this special
window with a list of these programs, the cursor
to select and brief comments. In
This chapter will discuss how to properly write the most 
USER-menu and use it for their own purposes. 


    USER-menu is a special user-defined window
consisting of an arbitrary number of rows.


    Rows in USER-menu there are two kinds of
- Text string containing the headers
menu separator lines and other useful information and operating 
lines of which moves the cursor to the menu - the horizontal 
line marking selected in Currently the line.



    The cursor menu is driven by
cursor keys up and down, pressing
ENTER on a working line calls
execution of the command line, fixed in the working menu bar. 
Exit USER-out menu can be made at any time by pressing the 
standard keyboard shortcuts SS + A. 


    Configuration, appearance, and a list of
command is invoked for the USER-menu contains a text file in a 
special format, which will be described later. Interpretation 
of the file involved program menu.com, usually located in

directory SHELL (up to 06.95 - UTIL).


    Program menu.com when calling from
bat-file or command line without parameters, searches the 
current directory for a file name menu.mnu (up to 06.95 - 
menu.txt), containing a description of the menu, but not 
finding him in the current directory for a file with the same

name in the SHELL. This allows
create almost any directory
their local USER-menu, and the general, universal menu, called 
the absence of local, keep in directory SHELL.



    In addition, when calling from the bat-file
or a command line program menu.com
can be set to a specific file name
containing a description of the desired menu.
This allows, in particular, to fix a particular challenge 
USER-menu for any button in the file extkey.txt, or organization

C - command lines that contain the commands
executed when you press ENTER on the appropriate working on the 
menu bar 

c - command line, intended for
Call of large programs with load address below 25,000

Z - line for internal commands DOS, caused when you press ENTER 
before running the appropriate command line 

H - a line of text, hints that can be displayed on the screen 
during installation cursor to the appropriate operating line



    If the command line after the control character C, c and T 
is the symbol "*", The file name, which was

panel cursor at the time of the call USER-menu passed as a 
parameter causes the command. 

Let us explain with an example:


    Suppose that at the time of the menu
panel cursor is placed on the file name
prise.txt, then the command line type

C * Q: SHELL \ delete

cause the execution team

Q: SHELL \ delete prise.txt


    Row K, P and T determine the parameters
and teams for the entire menu as a whole, so each menu can not 
be more than one row K, the line P and line T. Row K, P, T, H 
and Z are not binding in the absence of K-line parameters are 
set by default (see below).



    Position of the rows K, P and T in the text
does not matter, in some place where you file them or put - the 
system will still find them. Rows A and a lie in the order in 
which they should be displayed in the window menu. Related

line Z, H, C and c must be placed
after the corresponding row of A.


    This feature allows you to use a single line commands or 
prompts for few lines of the menu, but requires more

careful attention to the text.

Let us explain with an example:


    Suppose we have a file menu.mnu read:

a Working with MS-DOS

a

EXIT TO A SHELL

APISAT on MS-DOS DISKS

NZapis tagged files

CQ: MSDOS \ to_msdos.com

ACHITAT FROM MS-DOS CD

NChtenie drive MS-DOS

CQ: MSDOS \ from_msd.com

This file contains two serious errors:

1. When cursor is on the line "EXIT
IN SHELL "the system will prompt related to the next line, 
since the corresponding line of the tip is missing. 

2. When you press ENTER on the same line will be executed the 
command line, referring to the next menu bar, as corresponding 
to the command line is missing. 


    This problem can be solved at least two ways:

Option 1 - set the first row of A
blank lines C and H, then the menu text will look like:

a Working with MS-DOS

a

EXIT TO A SHELL

H

C

APISAT on MS-DOS DISKS

NZapis tagged files

CQ: MSDOS \ to_msdos.com

ACHITAT FROM MS-DOS CD

NChtenie drive MS-DOS

CQ: MSDOS \ from_msd.com


    Blank lines H, Z, C and c can be omitted, if your menu, 
there is no such line. 

Option 2 - move the line "is released in
SHELL "at end of file and append the string
tips for her:

a Working with MS-DOS

a

APISAT on MS-DOS DISKS

NZapis tagged files

CQ: MSDOS \ to_msdos.com

ACHITAT FROM MS-DOS CD

NChtenie drive MS-DOS

CQ: MSDOS \ from_msd.com

EXIT TO A SHELL

H Output in the shell


    Because the string "EXIT TO SHELL" was at the end of the 
text when it is selected, nothing happens and working out the 
menu ends with an exit to the shell. 

Format string key K:

K Line in the description USER-menu is as follows:

K /  <number> / <> symbol <number> ...


    Numbers can be written in decimal
format (default), for example, 255 in
16-hex prefixed with #, for example, # 1F; in
octal prefix o, for example, o12; and
also in binary prefixed with%, eg
% 01100011.


    Shared key blanks are not required as the keys, and so 
separated from each friend "/" character. Line K is interpreted 
as long as there is no received by a newline, so split it into 
multiple lines can not. Also, in one text menu should not be 
more than one row K, otherwise interpreted only the first one.


USER-menu keys:

A - B configuration menu.

bit 1 - view the menu window "0" - no shadows
"1" - with the shadow.

bit 2 - reaction to the ENTER, "0" - interpreted the line c, C 
and Z, after working carried out in a shell, "1" - run only 
line of internal commands Z, then there is a return to menu.


Bit 3 - window frame, "0" - single, "1"
- Double.

Bit 4 - Working off-line P at the entrance to
menu, "0" - to perform, "1"
- Ignore.

Bits 5 - 8 - not used and may contain any values.


    All of these modes is convenient to specify the decimal 
numbers 1, 2, 4 and 8, respectively, with totals include 
several modes simultaneously, such as: 

/ A5 - window shade and a double frame.

B - second byte of configuration.

Bits 1 and 2 - not used.

Bit 3 - cursor, "0" - the cursor is displayed on the entire 
width of the window, "1" - the cursor displayed on the inside 
of the window, not affecting the area of ​​the frame.


Bit 4 - not used.

Bit 5 - kind of window prompts, "0" - with the frame, "1" - 
without a frame. 

Bits 6 and 7 - not used.


    These values ​​are also convenient to define
decimal numbers (4 and 16, respectively), it is also possible 
summation values, for example: 

/ B20 - box prompts without frame, the cursor
inside window frame.

E - X-coordinate of the window menu in familiarity
8 * 8 pixels.

D - Y-coordinate of the window menu in rows.


    Window size, the system sets
automatically according to the number of rows in the menu and 
the maximum length line.


H - X-coordinate of the window hints at familiarity 8 * 8 
pixels. 

G - Y-coordinate of the window hints in rows.

N - the height hint of strings.

C - width of the window hints at familiarity
6 * 8 pixels.

F - line number on which the cursor is when you open the menu.

K - color menu windows

T - shadow color menu windows

J - color cursor menu

O - color desktop cursor menu

I - color box tips

Colors are defined in a standard format:

Bits 0 - 2 - color ink

Bits 3 - 5 - paper color

Bit 6 - brightness

Bit 7 - shimmer

For byte shadow color bits 6 and 7 are ignored.


    As mentioned above, in the absence of K-line parameters are 
set by default. Values ​​for parameters

default are shown in Table. 5.

Table 5. Menu settings by default.

Parameter Default

A 0

B 16

Centering on E X

D centering on Y

H 0

G 0

N 1

C 32

K% 00001111

T 0

J% 00111001

O% 00100000

I% 00001111

Example USER-menu:

TCAT Q: SHELL \

PCAT Q:

K/N3/B0/A5/G1/E0/D4/T% 00000001 / K% 00101000 / J% 00001110 / 
O% 01001110/C38 

a USER MENU

a

A work with a disk

H Disk Utility, work with files

CQ: SHELL \ menu Q: SHELL \ MNU \ disk.mnu

ZCAT Q: UTIL \

A RESIDENTS

CQ: SHELL \ menu Q: SHELL \ MNU \ res.mnu

H Installing the drivers and residents

A JOB WITH TR-DOS

CQ: SHELL \ menu Q: SHELL \ MNU \ tr_dos.mnu

H file sharing system TR-DOS

A WORK WITH MS-DOS

CQ: SHELL \ menu Q: SHELL \ MNU \ ms_dos.mnu

H file sharing system MS-DOS

ADEREVO CATALOGS

CQ: UTIL \ tree

H Displays a directory tree of the current drive

A hidden files

H Set the attributes of "hidden files"

CQ: SHELL \ exebat Q: RES \ attrh.bat

A see the file

H Removing the attribute "hidden files"

CQ: SHELL \ exebat Q: RES \ attr.bat

EXIT TO A SHELL

H Output in the shell IS-DOS


    So, this concludes our first
Articles "IS-DOS novice" and hope that you, dear readers read 
it if not happy, then by At least with interest. Once again I 
want to recalled that this Article shall in no way

does not claim comprehensiveness and contains mostly original 
information, necessary for the successful and rapid development 
of the system and the acquisition of practical skills in 
working with programs in the environment IS-DOS.



    In the next issue we plan to release details of a text 
editor, IS-EDIT, as the most powerful and easy-to date text 
editor for the ZX-compatible computers on the queue as a 
detailed description of the utilities IS-DOS, practical guide 
to configuration and system setup, program description printing 
and viewing files, and more.



    Once again I remind you that all your wishes and comments 
on this article and other materials relating to the IS-DOS, we

always glad to listen to on the phone
245-00-91 (from 10.00 to 16.00 on business
days, ask Programs Division), on
the same phone you can obtain prompt advice on all matters
relating to the system IS-DOS and applications
programs running in its environment.

Firm "IskraSoft"
_________________________________________
, Program - a detailed study of their interaction algorithm 
works with "Outside world" to look at the program was not only 
her author.


Subfunction to the hard disk drive
come into force in version 4.0 of the Shadow Service Monitor.

hddid equ 34; identification of the hard disk
Rin.: C = 34;

       buffer, mounted subfunction
SETWRK (9);
curves.: CY = 1 if there was error, error code
returns to the battery:

       Akk = 86 hard disk is not found;
Action: search your hard drive and setting its parameters.
You must first specify the buffer
of not less than 512 bytes, subfunction
SETWRK (9). hddid runs automatically every time the "cold" reset
computer.

hddmount equ 35; connection section
TR-DOS to the HDE
Rin.: C = 35;

       Akk - the disk number (1 "B", 2 "C"
or 3 "D") or a partition type;

       de ■ text string specification
section (dr: [\] part \ dos);
curves.: CY = 1 if there were any mistakes ■ section does not
found
Action: The connection section
To start emulating sub-type
TR-DOS for devices "C" and "D" prior to "connect" the 
appropriate device to sub-section. If the specification section 
is given device (dr), then the value of the battery

ignored. In the designation of part ■ name
sub-TR-DOS, dos ■ drive name in the section.

Subfunction hddmount can be applied and
to install other types of subsections
specific modes are indicated by individual
bits of the battery.
This subfunction is in beta stage, and some parameters can be 
changed. 

$ Hddrd equ 36; reading sectors from the partition
Hard Disk
Rin.: C = 36;
 hl ■ address of a buffer in memory;

       de ■ starting sector number (in
section);

       b ■ number of sectors (the sector size
512 bytes!)
curves.: CY = 1 if there was an error.
Action: Read the specified number of sectors within the current 
connection section of the buffer.


$ Hddwr equ 37; recording sectors of the partition
Hard Disk
curves.: C = 37;
 hl ■ address of a buffer in memory;
 de ■ initial sector number;

       b ■ number of sectors (the sector size
512 bytes!)
curves.: CY = 1 if there was an error.
Action: Record the specified number of
sectors of the buffer in the current connected
section.

                ________


              RST 8 code 82h

      Installing the monitor variables

Rin.: DE ■ subfunction code (type variable);

       BC ■ relative address of the variables in the 
sub-functions; 

       CY ■ type of operation: fixed ■
record, thrown ■ Reading;

       Akk ■ written to or read
value.

When you change the individual bits must be
first consider the value of a variable, then change the desired 
bit, and finally write a new value.


Size designations of variables:
db ■ one byte;
dw ■ two bytes, but you must be a byte;
ds ■ few bytes of similar variables.


DE = 00 System Variables Monitor

BC = +12 (db)
The individual bits of this byte can control the output values 
​​of the registers on the screen (recording 1 prohibits 
output): 7 ■ PC

6 ■ SP
5 ■ IX
4 ■ IY
3 ■ HL (HL ')
2 ■ DE (DE ')
1 ■ BC (BC ')
0 ■ AF (AF ')
BC = +21 (db)
Byte control output to the printer:
7 ■ (0) data are displayed in the direct form
(1) data are displayed in reverse;
3 ■ (0), two stop bits (1) one stop bit;
2 ■ (0) 8 bits in a byte of data (1) 7 bits
byte data;
, 1 ■ (0) 9600 bps, (1)
speed 1200 baud;
0 ■ (0) Interface Centronics, (1) interface RS232.


DE = 2002 Variable mode

BC = +0 (db)
constant antidrebezgovoy delay monitor.
BC = +1 (db)
constant delay before auto.
BC = +2 (db)
constant delay between the auto-repeat.
BC = +5 (db)
Border color, place the monitor,
when the alarm went off errors.
BC = +6 (db)
code character "carriage return" to the printer.
BC = +7 (db)
code symbol "newline" for your printer.
BC = +8 (db)
character code "of the transfer format for your printer.
BC = +9 (dw)
code that determines the rate of 9600
baud for the serial interface (on
default 0bh).
BC = +0 bh (dw)
code that identifies the baud rate 1200
baud for the serial interface (on
default 6ah).
BC = +0 dh (ds 11)
the first byte (+0 dh) specifies the number of control 
characters, which serve to transfer printer in graphics mode 
(directly behind them will receive 768 bytes graphic 
information for screen printing from the monitor). Codes 
themselves are located respectively at offset +0 eh, and more. 
BC = +15 h (ds 4) codes that serve to take the printer

text mode, the final screen print. Byte +015 h stores the 
number of control codes, codes themselves are stored at offset 
+16 h and beyond. BC = +1 dh (db)

the number of lines per page when printing
printer.
BC = +1 eh (db)
the number of characters per line when printing
printer.


DE = 04 Variables disk BIOS

BC = +4 (ds 4)
byte stores the maximum number of sectors
P4 BDBT zshR on track when the sector size 128, 256,
512 and 1024 bytes respectively.
BC = +0 ah (db)
number of the current drive: 0 ■ drive
"A", 1 ■ "B", 2 ■ "C" and 3 ■ "D".
BC = +0 bh (db)
number of attempts to read the error, the initial value of 3.
BC = +0 ch (ds 4)
codes indicate the type of disk drives (BOM) "A", "B", "C" and 
"D" respectively. BC = +10 h (ds 4)

codes indicate the type of floppy disk into drive "A", "B", "C" 
and "D" respectively. BC = +18 h (ds 2)

codes, time-out for a drive "A" and "B"
respectively.
BC = +1 dh (db)
error code disk interpreter installed RST 8, Code 81h:

1 is not ready (drive is not spinning or
it's not);

2 attempt to write to a secure floppy disk
(Functions 6, 11 and 13);

3 during the execution of the function has been pressed
Key BREAK;

4 error when reading or writing sector
functions of 5 or 6, you can use
functions of 3 or 4;

5 positioning error (does not meet the track number);

6 positioning error (not considered
address marker lanes);

8 positioning error, the mismatch
types (an attempt to use 80 TRACK
40 TRACK CD drive or
double-sided disc on a single drive);

9 unformatted disk (functions 7,
8);

16 floppy does not fit
TR-DOS on the physical parameters: size
sector, data density, or no code
identifier <197> 10h (function 8);

17 mismatch type code TR-DOS floppies
real format;

18 does not open the work buffer (function 8);

20 were in error when reading / writing track
(Functions 12, 13).

                  ____


              RST 8 code 83h

        Cleaning windows user

Subfunctions not.
Rin.: IX ■ descriptor used by the window.
Action: The initialization and cleaning windows,
specified by "handle" ■ unit, consisting of 13 bytes. 
Appointment bytes handle to the window below.


0, +1
Coordinates of the cursor in the window (Y, X) <197>
initially set to zero
cleaning program window can then be modified by the user.

+2, +3
The coordinates of the beginning of the window (Y, X). These 
coordinates are measured in standard familiarity size 8 * 8 
pixels. 

4, 5 window size in standard characters
(8 * 8 pixels), the first number of vertical dimension, the 
second <197> horizontally. 

6 Byte stores color attributes window.

+7
System Attributes window, given by individual bits:
5 ■ O ban, all displayed characters
ignored;
, 4 ■ arbitrary format to achieve
right edge of the box will be automatically executed commands 
carriage return and line carriage (see RST 8, code 84h);

3 ■ perform an automatic carriage return at the parish newline;
2 ■ perform automatic transition
line in the parish of a carriage return;
1 ■ change the attributes in the derivation of each
character (otherwise, the attributes are set only during 
cleaning windows); 0 ■ Do not remove the symbol of the cursor.


8, 9
Utilities bytes.

+10
Character size in pixels. Monitor supports two character sizes 
at 6 and 8 points.


+11
Window size in characters. For the symbols in the 8
points of this size coincides with the width of the window. If 
the symbol size 6 points, before initialization (clearing) 
should be calculate the size of the window and put this

bytes.

+12
Ticker symbol cursor. Code with this symbol
will be displayed at the site noting the position
cursor, if cleared by a 0 bit in the system
Attributes window.

Usage: first window should be described by specifying a 
descriptor initial window coordinates and size. All coordinates 
are measured from the top left corner of the window or screen. 
The window need to clear the function 83h, which

initializes some variables in
descriptor.

                  ____


              RST 8 code 85h

    Conclusion character in the user box

Subfunctions not.
Rin.: Akk code displayed on the printer character;

       IX ■ descriptor used by the window.
Action: The output of the symbol in the window that you specify 
a handle. Symbols from the set ASSCI (Codes in the range 32 ... 
127) directly printed in a box screen (see modes in the 
descriptor, described in the RST 8, code 84h). Along with the 
usual "Printable" characters, you can use control codes. Symbol 
* marked control codes that have appeared and

acting in versions older than 3.0b (code 64
on 11/05/1994).

1 Setting the attributes for subsequent
Character
Directly for Managed Code
should be withdrawn two bytes: the first
B ■ mask sets the attributes,
■ second mask disposed of attributes.
Significant bits must be set
byte mask.

2 Recovering stored attributes

4 * Conclusion aligned Subsequently, the
managed code to be transferred
a string of printable characters, which will be
center-aligned or right
window. The string length should not exceed
width of the window, the control characters in a string
not allowed, except for the following two, trailing a string of 
codes. 

5 * The output line in the center of the window

6 * The output string is right-aligned
edge of the window

7 Conclusion sound
The program fulfills a short sound
signal. Border gets in this color
mounted in a special cell monitor (see the variable modes, 
color). 

10 Newline
If the cursor is in the last row,
then there is a "roll".

12 * Clear the window, the cursor is placed
in the upper left corner

13 carriage return
Move the cursor to the leftmost line position in the window. If 
the corresponding bit in the handle to the window, then 
together with a carriage return calls and maintenance program 
character translation line.


27 Position the cursor inside the box
Directly for Managed Code
should be withdrawn two bytes. The first
determines the position of the cursor in a row, the second line 
number. The countdown is on the upper left corner starting from 
scratch. 

30 * Reverse roll
Cursor position is not changed, the entire
text in the box is shifted by one row
up, the first line of text disappears,
last row is filled with blanks.

                  ____


              RST 8 code 86h

  copy of the graphic screen on the printer

Subfunctions not.
curves.: CY = 1 if at the time of withdrawal was pressed BREAK.
This feature is available starting with version 2.4a
(Code 3).
Action: The printer output copies of a graphic display, similar 
to that obtained from the Service Monitor. Used for printing 
the current display settings. 

                  ____


              RST 8 code 87h

       installation of double speed

Subfunctions not.
curves.: CY = 1 if the computer's motherboard is not capable of 
switching speed. This feature is available since version 2.4d

(Code 3 from 11/12/1993)

                  ____


              RST 8 code 88h

       setting the normal speed

Subfunctions not.
curves.: CY = 1 if the computer's motherboard is not capable of 
switching speed. This feature is available since version 2.4d

(Code 3 from 11/12/1993)

                  ____


              RST 8 code 89h

        Work with a chip CMOS

Subfunctions not.
Rin.: D ■ opcode:

         7 ■ record (1) / Read (0)
time value and / or date;

         6 ■ consider the buffer (only if bit 7 = 0, see also 
bit 5); 

         5 ■ format reader ■ (1) direct reading; (0) reading in 
a format ASCIZ;


         0 ■ working with date (1), or with
time (0);
, HL ■ buffer address (if bit 6 =
1);

       C ■ seconds / number;
 B - minutes / month;

       E - hours / year | format read into the
buffer.

curves.: CY = 1 if the CMOS chip is not present or
given incorrectly formatted request;

       (HL) ■ line of text ASCIZ (if
Bit 6 = 1);

       C ■ seconds / number;
 B - minutes / month;
 E - hours / year;
 L - day of the week.

This feature is available since version 3.1f
(Code 70 by 21/05/1995)
Action: Install or reading the testimony
the current time from the chip nonvolatile memory and clock 
(CMOS). Usage: one function call provides access to either the 
current date (bit 0 Register D is installed), or to the current

Time (bit 0 of register D is cleared). 7-m
bit D register indicates the type of operation to function: 
recording ■ 1, ■ Reading 0. 

Reading values ​​from a chip is possible in two variants ■ 
transfer to the buffer whose address is specified in the 
registers HL (Register bit 6 set D), or transfer into the 
registers C, B, E and L (D register bit 6 is cleared). 

Interpretation of the read through the buffer
values ​​determined by the 5 th bit of register
D. If it is set, then the buffer is placed 6 bytes of data on 
the current time and date (one byte per ■ second, minute, hour, 
day, month, year). If the 5-th bit D register is cleared, then 
by transfer time or date in a string of characters ASCII, null 
terminated. In this case, the contents of register E is used as 
the output format: lower 5 bits ■ ■ separator character to them 
will be added to 20h; bits 7, 6 and 5, respectively, allow the 
withdrawal of the hours, minutes and seconds for withdrawal 
date: 7 show day of the week

6 represent the character "0" before the number,
5 displays a word and a month before the year to add "19."

If you change the current date set new
values ​​is possible only through registers
C, B and E; change the day of the week is impossible, he
calculated program for the current date.

The remaining cells CMOS-memory used
monitor for their needs, so
routines to work with them until you provide.

              ____________

Comments and suggestions on the work of the embedded software 
can express by writing a letter to the electronic

mail at 2:5030 / 25.1 (FidoNet) or
moa@ddeeds.spb.su (InterNet).





Other articles:

Toys - 48 irons (3 levels).

Toys - the passage of La abadia del crimen.

Toys - short story of the game "Adventures of Winnie the Pooh" (Level 1)

Programmers - learn BASIC (Part 4).

Programmers - Adapting programs for TR-DOS # 2.

Programmers - IMMORTAL # 2 (immortality in the games).

Programmers - music editors, which we choose.

Programmers - Guide to shadow service monitor Scorpion ZS 256.

Programmers - "IN SEARCH OF ETERNAL LIFE."

IS-DOS - Category "IS-DOS - for beginners" No 4.

IS-DOS - users "No4:" Working with electronic drive among the IS-DOS ".

IS-DOS - information about the company ISKRASOFT.

Iron - Nemo responds to users' questions.

Iron - Message from the firm Nemo (about microprocessors Z84C0010PEC).

Premiere - Assembler, which we choose (a description of XAS).

Premiere - Program Description 'CONVER-Commander V 4.50 pro'.

Premiere - UFO-2. Devils pit.

Presentation - Novgorod Group Digital Reality about yourself.

Interview - Interview with Captain Nemo with comments Iskrasoft firm.

Interview - Nikolay Rodionov and ZX-Sectrum.

Interview - an interview with the developer of computer HOBBIT Dmitry Mikhailov.

a rest - HAL 9000

a rest - Nemo tells the story of VirtualETnoy reality in Russia.

Mailbox - letters from readers.

Mailbox - Translator.

Mailbox - "Empire Spectrum".

Miscellaneous - The introductory story to the game Paradise Lost (Lost Paradise).

Miscellaneous - Perspectives P / O: WARCRAFT

Miscellaneous - Amiga Club: Questions and Answers # 2.

Miscellaneous - Amiga Rulez or propoganda healthy lifestyle.

From Writers - a new issue and plans for the future.

Authors Journal - ZX-Format No.4

Lottery - the first results of the first lottery.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Advertising - Advertisements and announcements ...
From the Editor - On the new sections in the newspaper.
TOP TEN - Desyatochka best games.

В этот день...   4 May