Coders - TR-DOS VS BASIC VS IS-DOS.

ZX Time #10
And finally, let’s step away from the “practice”
theoretical" to "theoretical" matters.  This
I will not publish the article in issue 10
was going to, but somehow re-read it again
time, I decided that this is the place and time for her
in the tenth issue.                      
                                        
    Probably everyone remembers the noisy, accompanying
eager even for scandal, discussion about
multitasking OS, launched in the second
at least and ending somewhere in the sixth
ZXTime. Then I single-handedly decided to stop
tit this one that appeared at that moment
"senseless" dispute, allocating more months
that for other topics and new sections. C
what was the reason for this decision? B pain-
to the highest degree, with the opinion of readers who
many have already spoken about the coming “deadlock”
in the discussion and recommended better pre-
shorten the argument rather than continue it
scandals.  To a lesser extent it was
associated with a small number of opinions
about the absolute uselessness of the new Spectrum
operating system.                   
                                        
    But now, having weighed all the pros and cons
tive", I also single-handedly decided again
launch "propaganda activities"
planning" writing a new OS for Spectrum
ma, as well as general discussion as to
ours and yours, dear readers,
opinions.  ExceptMoreover, I would like to offer
live for authors who are already busy writing
introduction of new OS, outline the concepts of their OS,
put them up for discussion. For example,
authors of Doors and Window.               
                                        
    Also, I'd like to hear
the opinions of the authors of the “failed” and “determined”
born" OS.  For example: MythOS, Domain,
X-DOS, IS-DOS, ZX-Windows, and others. What
they think about the OS problem on
Spectrum?  Why didn't they finish theirs?
projects or why they don’t continue to support them
what they see as their shortcomings and
heycnex?..                              
                                        
    I remember my opponents in disputes
cited IS-DOS as an example of a complete
OS. They showed how unsightly she was,
slow and inconvenient to use. I
agreed with this. Although in IS-DOS pa-
worked for a long time and for a short time (around 1995-96)
yes). But you couldn't call it "work"
lo - rather it was an acquaintance, after
which IS-DOS package (in my opinion, text-
editor and assembler) went into heaven-
tue.                                    
                                        
    But I still don't understand why they
Did you use IS-DOS as an example? After all, the concept
tions embedded in it are not unified
unique in their own way and do not have the status
standard and "heocnapumoctu". Even vice versa
mouth, IS-DOS has, if notI'm wrong, before
a loosely outdated kernel that was
targeted at 48kb. But nevertheless,
this OS, despite its significant
disadvantages, second most common
in the CIS after TR-DOS. It's not
in vain Iskra-soft is active in good times
supported it programmatically.             
                                        
    Think about it, at that time IS-DOS was
the best in the CIS (although, of course, we have not seen
whether "Western" DOS). Look at the same pe-
klamy in the books of the publishing house PETER, pos-
related ZX-Spectrum - there you are successfully
you can find advertising from ISKRA-SOFT, post-
sacred to IS-DOS. And you think advertising
in a publication with a circulation of 20 thousand
is it cheap?  Can a sane person
the owner of the company can afford expensive
advertising a brand that is not successful
and doesn't pay off? I think not. So,
IS-DOS sold, and probably quite well. 
                                        
    But despite the fact that IS-DOS was
commercial, it is rather lazily modified
I didn't care. Although here one might think that ca-
the concept was quite closed and
did not have the prerequisites for development and
improving their “external” (I
I mean “interface”) qualities.
(note: this paragraph is not ha-
character of the statement, since I can only
assume, referring to such sources
ki, like ZX-Format and my very old one andlimited experience in IS-DOS).        
                                        
    So, as an example of IS-DOS, you can use
as a commercially successful project.
But not as a standard for OS implementation on
Spectrum, as they tried to do it non-
which of the opponents.  Everyone already knows
What can the Spectrum do?
something better.                           
                                        
    In addition, one of the opponents
gorichski refuted my statement o
that today's technical characteristics
Spectrum's performance is no longer comparable to
OS capabilities. I partly agreed with him.
force, because at the time of the discussion before
took a very superficial approach to this
belief, accepting it as “failed
argument."                              
                                        
    Now I looked at it under the burden of
from a different perspective. Let's see
on a standard Pentagon-128+TR-DOS.
Do you think on this computer
OS capabilities are comparable to its hardware
military capabilities?  I don't know what
you will answer, but I will say - no, not conoc-
tavims.   Let's think about what for
Spectrum is the OS (let's conditionally combine
OS and DOS under one name - OS)?
BasicХ8(128)+TRDOS. Right? Yes. A those-
please tell me what this couple gives
Pentagon?  Well, for example, TRDOS:downloaded
move the program to the area specified
user or upload BASIC-
program;  run the program from disk;
format, compact, delete -
buggy, sometimes fatal, but possible. What
gives BASIC48: load/write program
frame from tape; run the program; you-
complete the basic program (with what it
Actually, he always does).        
                                        
    Nothing to say, Team Sinclair
did a good job - they synthesized
Vali high-level language BASIC with electronic
mental functions of the OS. A in 1986
TR-DOS appeared, which, using
"base" BASIC48, implemented elementary
DOS tasks without having any pre-
link to expand your capabilities,
but had a “gateway” in BASIC48, thanks to
mu adaptation of a great variety of programs
under Spectrum on tape it was possible
almost anyone.                     
                                        
    But I'm getting off topic. So that's why
usually used OS on our machine
dapte"?                                 
                                        
    Well, let's say I wanted to run
program.  We load the first one we come across B-
file.   Oh!  What's there?  B so-called  basic-
the bootloader usually contains two or three
cunts.  This is REM, RANDOMIZE USR, sometimes
CLEAR.  In boot commands there are several pains -
she. FunctionThe BASIC bootloader is
is to run the subroutine -
bootloader in machine codes, which
will load the rest of the program and ee
will launch.  Everything is done by our own
nightly the author of programs written in
assembler, which are usually not bound
to the OS (unless loading-writing from disk-
to disk).                               
                                        
    Programs written exclusively in
BASIC is not enough, almost all of them will accept
tive (of course, there are exceptions), so
I don’t think we should focus on them
worth it.                                  
                                        
    I pay attention to other functions of the OS and DOS.
I don’t accept it because I’m formatting it
feast, delete, rename, etc.
mainly in specialized
"excluding" as much as possible
flaws in DOS, commander programs and
copiers.                           
                                        
    So what's the conclusion? What is the OS
BASIC48+TRDOS for Spectrum? Primitive
launcher with basic functions
DOS without the possibility of expanding them and
completion (except perhaps “flashing”). And I
I emphasize that these programs are primitive
we are not because they are poorly executed, but
because they are OUTDATED for today
requirements. For the eighties and early years
There were enough sluggish OS launchers.  Yes and
the synthesized BASIC was good
base for learning programming. To
there is TR-DOS at that time the most simple
your decision both in terms of treatment and
and functionality. But that was the time...
but...                                   
                                        
    And imagine if this OS is outdated
for Pentagon-128 without any bells and whistles,
what can we say about today and
especially about tomorrow? 512kb, and that
more than 102Chkb are already demanding so to speak
"host", that is, the OS designed for their
provided support. And what has already happened?
boputb about other "bells and whistles"? DMA cards,
covox's, General Sound, modems, expandable
portable screens, etc. - this is already today-
sweet reality, which, by the way, gives rise to
incompatibility, which, given due
approach, in the new OS it will be possible to
unravel...                             
                                        
    I remember during my first pub-
lications o MOS (Multi-tasking OS), I
recalled that the system will also
a language of high (sub_high -
what difference does it make) the level at which you can
will write relatable programs.
Now I am grateful to the opponents who
talked about the uselessness of such language and how
They strongly discouraged him from doing so. Now
I roughly estimated what was needed for,
so to speak,realtime compilations of such
programs (BASIC48 type) - from time
executions up to the size of all kinds of stacks,
buffers for variables, etc. Better
include support for relocations in MOS(OS)
tables that DJ Blast spoke about. They
should fit seamlessly into the concept
tion of the MOS, which I will outline below.    
                                        
    Well, moving on to the next part of my
article, I want to thank all those who
participated in discussions about the new
OS.  Even if these disputes were not always kind,
desirable, justified and fair,
but they served as a good indicator that
go, these ideas are still interesting
many spektrumists.                   
                                        
    Now directly about the concept
OS.  More precisely, about that part that
would be responsible for multitasking. First
I'll give you a "general idea".                   
                                        
    The idea is that on interruption
niyah "hangs" the program, coordinating
operation of the main OS components. Let's call
this program by the Koop-uniting Center
(KoopTs). She coordinates the work of others
programs: Center for Coordination of the Main Problems
dacha (TsKOZ), Center for External Devices
(CBU), New Task Upload Center
(CZNZ).  Let's consider the meaning of each work
from these programs: 1. Center for Coordination of Main Tasks  
 (CKOZ)                 
                                        
    This program is called KoopTs in
if KoopTs command was given
carry out a global operation on the passive
noi or active task (for example - ac-
tubupobatb Task, delete from the Registry
Tasks (close)).                       
                                        
    Activating a Task means re-
transfer the program of the selected task to non-
the memory she needs (if she locates
ema - configure RT (relocations tables)
to these addresses), clear General Changes -
nye, run the task. Old task at
this moves to passive memory c
the current state of the variables.          
                                        
    Delete from the Task Registry (close) -
this means removing from the Task Registry (o
below) program data.             
                                        
 2. External Device Center      
 (CCU)                  
                                        
    The central control center is designed to monitor the status and
process incoming information from everyoneactivated and documented for
systems of external ports. CBU deals with
input/output programs (drivers).
Drivers in MOS are divided into two groups -
background (constant) (keyboard polling,
mice, etc.), popular (educational
disk drive operation, etc.) and mixed
new                                    
                                        
    Background drivers - programs -
processors of incoming data from external
devices that are constantly called,
regardless of the current state
Tasks. Background drivers "hang" on the pre-
jerks and are called 50 times in 1 cekyh-
du.                                     
                                        
    The most popular drivers are these
driver programs are called as Task
cha, but are not placed in the Task Register and
are activated only when they are called or
from KoopTs, or from the Task. Their work is koo-
is coordinated by the CBU.                        
                                        
    Mixed drivers - this group
drivers that are called as
Demanding, but performed as
Background until their action is over
(or from) an external device is not legal
reads.  Their work is also being coordinated
CBU.                                    
                                        
 3.New Task Upload Center     
                                        
    CZNZ is called upon to download and npouhu-
transfer a new one into passive memory
task and, with the appropriate command
KoopTs, transfer control to the Central Committee for Health Protection. Except
Therefore, the TsZNZ function includes recording data
new tasks in the Task Registry.              
                                        
    The Task Registry is a list of all found
Tasks remaining in memory. Both Background and
and Basic. It indicates the main parameters
meters of each of the Tasks, thanks to the fast
which can be accessed
basic manipulations with them.          
                                        
    In addition, the MOS distinguishes between two
type of Tasks:                             
                                        
    Background Tasks are a type of Tasks that
which are called by the interrupt handler
constantly (every 1/50 second) outside the
depending on the state of the flow in
at the moment Tasks. The main difference and
the requirement of this type is high
execution speed (no more than 50,000 tak-
Comrade).  The group of Background Tasks includes:
for example, AU music players.      
                                        
    Main Tasks are Tasks that
ry are carried out directly, outside
interrupt block. That is, ordinary programs
frames.  Main Tasks are also divided intotwo groups: Active and Passive:       
                                        
    An Active Task is a task that is being completed
nurturing at a given moment in time.       
                                        
    A passive task is a task that
paradise is located in the computer memory and in
is passive at the moment.         
                                        
    In addition, y Problems have such a pair-
meter as Running Time. This couple-
meter decreases by every 1/50th of a second
1. After this parameter becomes
equals zero, KoopTs automatically
removes the Task from execution and moves on
to the next one by Peectpy. This option
can be set either by the task itself
whose, or user.                
                                        
    The task can also be terminated
by herself (she will give a command about this
KoopTs) if its execution is completed
and/or does not require user intervention
body                                   
                                        
                 - - -                  
                                        
    Now o KoopTs. Its functions include
coordinate these three centers,
as well as tracking the current status
Background and Main Tasks.  Although this
tracking is reduced to a minimum (e.g.
a bot of elementary errors,tracking
BB parameter status, command processing
Tasks, etc.).                         
                                        
                 - - -                  
                                        
    Here's the idea. Of course, con-
the concept does not claim to be exclusive
correct, I could have been wrong about something,
leave something unsaid. Also terms that
which I used may not be the same
with generally accepted ones.                        
                                        
    I kindly ask readers to tell me about
what do you think about the OS and in particular
MOS.  Perhaps suggest your amendments
to the concept or maybe you have your own
ideas about this.                   
                                        
    And that’s probably all for today. Write! 
                                        
                 * * *                  
                                        
    P.S. At the last moment I remembered o
quite interesting material obtained -
contacted by us by correspondence.  These are articles
o conceptual development dedicated to
new DOS (and OS), or rather deeper
development of TRDOS. However, there is no time anymore
a still need to obtain permission from
author for publication. If everything is in
okay, then in the next issue there is an article
there will be.                                  

Share your thoughts about the article