The piece of hardware - a detailed description of the Sprinter computer.

Spectrum Progress #03
One of the creators of the Sprinter computer was
says Ivan Makarchenko, a “zhelezyachnik” and prog-
rammist at the same time.


    
    
      
    



  Now that the PETERS company is selling new
new cars, Ivan continues to make improvements and
corrects discovered (alas!) deficiencies in
his "brainchild". In addition, he is active
correspondence on the electronic network. So man
he is busy and “promote” him with material
It's quite difficult for a magazine right now. But he
also have to participate in meetings with
programmers who want to understand what is there
"inside" the Sprinter and how it can be done effectively
use.  Below we present Ivan's answers
Makarchenko to some questions asked at
meeting with another programmer.

  Question: How is the address simple-
Wrongness in Sprinter?
  Ivan Makarchenko: Address space pro-
The Z84C15 processor, like the Z80, is divided into four
projection windows are 16 kBt in size. In each
This window can be enabled by any of 256
pages of computer RAM. Switching pages
quite simple: the number of the required one is displayed
pages to the port of the corresponding process window
sora. To ensure compatibility with Scorpi-
on and other machines with higher memory,
old ports for page manipulation are preserved
tsami RAM in the last window of the processor.

  Question: Almost every program uses -
cursor arrow. If shelarge (pixels
by eight), then, taking into account the need for tracking
If you follow the parameters, the program will not be successful
let's redraw it.  It will look like
like twitching an arrow.  What does it look like on
Sprinter?
  IM: On Sprinter it will look much better
up to better. The point is that here, in addition to the basic
Nogo RAM is shadow video RAM. Can be done
so that information would be recorded in it, and in
the main thing was not recorded.
  Question: How then to restore images?
Action under the cursor?
  IM: From the main RAM. It stores a copy
screen, but only without the cursor. That is, the cursor
It’s on the screen, but it’s as if it’s not in memory.

  Question: I once read in an Amiga magazine about
connecting the hard drive.  The problems were like this.
Some hard drives cannot report data
about the number of heads and so on. Required
calibration What can you do here?
  IM: Apparently it’s impossible to count the first one
sector of the first track.  We can take any
hard drive and read the first sector, and calib-
make a row, say, two sectors on the track
and one cylinder. Everything counts if the hard drive
worker

  Question: Maybe someday on Sprinter
the question of fighting viruses will arise. Maybe
it is advisable to “close” the hard drive for humans
ka, allowing access only through the BIOS?
  IM: On the one hand, this approach will slow down
operation of the computer as a whole, and on the other hand,
cheat featuresprogrammers. Limit dos-
stupid to devices - this is the first thing that comes
comes to mind when you want to protect your computer
from viruses, but at such a price? The fight against the virus
you need to entrust the operating system yourself, and not close
strike iron.

  Question: What new features have appeared in the ROM?
  IM: I can list:

 - initialization of RAM allocation or complete
   initializing the computer;
 - allocation of memory pages;
 - freeing RAM pages;
 - obtaining port addresses for projected windows
   vaniya.
 - obtaining page numbers connected to
   CPU windows.
 - displaying characters on the 80x32 screen;
 - screen scrolling;
 - image of points, lines on a graphic
   screen;
 - changing the palette;
 - read/write hard drive sectors;


  Question: If any
error, for example in one of the ROMs, what should I do?
  IM: If the error is caused by a hardware fault,
If not correct, the board will be replaced. A
if it was an error in one of the subroutines,
then the PLMok firmware changes and that’s it. By time
it takes 10-15 minutes.

  Question: Is it possible to use both
old and new output ports?
  IM: No, because there will be a confusion of numbers
a ditch of pages that is difficult to predict. Prog-
framework that included a new port allocation,
must forget about the old until it
will not be restored by calling the appropriate
ROM function.

  Question: Can Sprinterwork with monitor
Rami VGA and SVGA?
  IM: No, unfortunately. With this we have a big
problem.   This is the situation.  Frame-line
the frequency of a VGA monitor is formally doubled
above.  It turns out that if we display the points in
the same resolution at a horizontal frequency of
twice as high, we need the video RAM to be
it worked twice as fast. That is, not 42 MHz,
a 84 MHz.
  Formally, to get 640x256 is enough
14 MHz.  But we have 14 MHz sample points,
14 MHz palette sampling and 14 MHz to select
screen mode.
It turns out like this, you select the screen mode, then
point, then a palette for it. In fact on
fetching a point takes three RAM cycles, occupying
all 42 MHz. This is the limit for this board.
  Question: So, in the end, how
will the screen look like on the monitors: will it be
flicker is noticeable or can be avoided
and if so, on what monitors?
  IM: The bottom line is this: if the mode is 640x256 - flicker -
There is no light, but if 640x512 there is flickering. But
we must remember that there is a possibility of using
using several graphic modes at once
mov. You don't have to display the entire screen
in the highest resolution.

                    ─────

   Description of the SP-DOS 5.OCHEi disk system


             Disk drives.

  The system supports IDE hard drives of various types
capacity, 5.25" drives with a capacity of 720
KB and 3.5" drives with a capacity of 720 KB and1.44 MB, as well as virtual RAM disks, which
which are created in the computer memory.

              Command syntax.

  SP-DOS is a flexible system and you can get
access to it from BASIC and machine codes. When-
Yes, the SP-DOS command processor is waiting for you to
mand, you see a hint in the form of the name of the disco
water and arrows "A:>". If the command is executed
ended with an error, then follow the prompt
the old command will be output, which you can
You can edit and enter again. If you
you will need to run the same command with
different parameters, several times in a row, then
you can restore the last entered
command using the  key.

              Return from SP-DOS.

  To return from SP-DOS, use the command
RETURN.  The command does not require additional parameters
parameters and is entered by pressing the "Y" key
in "K" cursor mode

         Transition to SP-DOS from BASIC.

  To enter the SP-DOS command processor you need
call a subroutine in machine code from the address
15616.

RANDOMIZE USR 15616

     Executing SP-DOS commands from BASIC.

  In order to execute the SP-DOS command,
When playing BASIC, before the command you need to write down
prefix:

RANDOMIZE USR 15619:REM:

  In this case, after work, the command returns
there are no controls in BASIC, although there are some
exceptions.  In this case, the SP-DOS command must
be the last line in a BASIC program.USR function 15619 returns error code
SP-DOS (contents of variable 23823). Full
You will find a list of error codes at the end of the description.
sania.

        Select the default drive.

  The default drive is the drive to which
commands that do not indicate
drive name. After initialization by default
Drive A is selected.
  SP-DOS supports simultaneous operation of 4x
disks (A, B, C, D). Command format for changing
The default disk configuration is as follows:

with checking the presence of a disk in the drive
*"disk drive:"

without verification
/drive:

  The drive name is the character A, B, C or D.

            Temporary disk selection.

  Constantly changing the default drive is
long and inconvenient. Therefore, in most teams
you can specify the drive to which the command is sent
children have access. To do this, before the file name
you need to write down the drive name with a colon, for example -
measures:

LOAD "B:PROGRAM"

  If the command does not require a file name, then
The drive name is followed by a colon:

CAT "B:"

            Disk remapping.

  In addition to floppy drives SP-DOS supports
provides a hard drive (hard drive) and RAM disks. For
remapping disks to these devices is used
use commands:

/hdd - to assign to the current disk 
            hard drive
/rmd n - to assign to the current disk
            RAM disk n, where n
            one of 16 ramdisks (e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t)
/fdd - to assign to the current disk  
            floppy disk drive

            Formatting the disk.

  To use the disc, it must be formatted
tified  Formatting is road marking
drives, sectors and creating a directory on the disk.
Command Format:

FORMAT "disk name"[format number]

  After pressing ENTER, if , you will be prompted:

FORMAT: 1 Original
             2 Turbo
             3 Turbo/FAST
             4 Quick
             5 RAM disks

  Select the required format by pressing the key from 1
to 5, after which formatting will begin
ka. During the process, the number of the current format
the front side (HEAD) and track (CYLINDER) you
you will see at the bottom of the screen. Upon completion there
you will see a message like:

Disk: DISCNAME
2544/2544
A:>

  DISCNAME is the disk name followed by
number of formatted sectors and max.
the maximum possible number of sectors for
of this disc format. If these two numbers are not
are equal, this means that there are bad ones on the disk
sectors and is not recommended for use in
SP-DOS system.
  You can format a disk not only with
default drive. To assign disco
water before the disk name put the name of the disk-
yes with a colon after it.
  On a track, SP-DOS creates 16 sectors of 256
bytes Track 0 is reserved for the directory.Disk directory.

  There are 3 directory output commands: CAT, LIST
for TR-DOS disks and /dir - for MSDOS disks.
  The CAT command displays file names and extensions.
catches, their length in sectors, disk name, number
quality of erased and unerased files on it and
amount of free space.

Title:DISKNAME
5 File(s)
0 Del.file

A:boot  1:boot  44
A:Start_Up 9:SHELL 140
A:readme  60

2290 Free

A:>

  The LIST command also displays the disk type, address
file uploads, their length in bytes and lines
autostart programs in BASIC.

Title:DISKNAME Disk Drive: A
5 File(s) 80 Track D. Side
0 Del.file(s) Free Sectors 2290

  File Name Start Lenght Line
boot  1 00252 00252 10
boot  44 40000 11200
Start_Up 9 02280 02280 10
SHELL140 00239 00239 1
readme  60 40000 15280

2290 Free

A:>

  The /dir command displays file names and extensions.
catches and their length in bytes.

DISKO1.TRD 655360
ABOUT .TXT 2348

A:>

                 NOTE:
On the hard drive, data is stored in MSDOS format,
so the CAT and LIST commands do not work with it,
use the /dir command.

          Using RAM disks.

  To create a RAM disk, enter the command:

/rmdn

where "n" is the name of the RAM disk (e,f,g,h...t). After
creation, the disk must be formatted or loaded
Download its image from the MSDOS file. By team:

/load n diskname.trd

where "n" is the namethe RAM disk you created, and
diskname.trd name of the file containing the disk image
TRDOS.

  From the program's point of view, RAM disks look like
like regular floppy disks in TR-DOS format. With them
all standard read/write commands work
si.  The only difference is that when
turning off the computer's power, all of the
information is lost on them in order to save it
thread, you need to write the RAM disk back to the file
disk image, on a hard drive or floppy disk from
formatted in the MSDOS standard. Using
command:

/save n diskname.trd

where "n" is the name of the ramdisk, and diskname.trd is the name
file containing the TR-DOS disk image.

  To free up memory that has been used
for a RAM disk, you can use the command
doi:

/clear n

where "n" is the RAM disk to be freed

or you can clear all RAM disks of the command at once
doi:

/init

NOTE: When resetting, the information on the RAM disk
kah is saved.


             Copying files.

  There are 3 commands for copying files:

COPY - copying files with two drives

COPY S - copy one file at a time
disk drive

COPY B - copies the entire disk with one
disk drive

  1. COPY command.

 Command syntax:

COPY,

  Here  and  are old and
new names of the copied file. They represent
These are ordinary string expressions. Expansion
The file name is indicated by keyin words:

 CODE - C extension
 DATA - D extension
    # - extension #
otherwise - extension B

  Extension B can be denoted by an empty line
coy.  There are also exceptions, which will be discussed
some comments.
  If instead of both file names you put
asterisks, then all files will be copied.
  If during copying on the destination disc
there will be a file with the same name and extension -
eat, like the one that is copied, then the system
will display a message, for example:

FILENAME FILE EXISTS
OVERWRITE?(Y/N)

  If you answer Y, the file will be overwritten,
otherwise copying will continue from the next
file.

  2. COPY S command.

  Syntax:

COPY S 

  Since one disco will be used
water, then the team will ask you to change the dis-
ki.  SOURCE DISC is the source disc, DESTINA-
TION DISC - receiver disk.

  3. COPY B command.

  Command syntax:

COPY B

  The command is exactly the same as COPY S will be
ask you to change disks. Attention!!! The whole hundred
information on the receiving disk will be erased
that, since the command produces absolute co-
copying the entire usable part of the road disk
off to the track. The command only works on dis-
default code.

            Renaming files.

  One of the advantages of a disk system is the ability
ability to change file names. For this we use
the command used:

NEW,Deleting files.

  If the file on the disk is out of date and you no longer need
required, it can be removed. For this
The command used is:

ERASE

  The command deletes all files with such data.
The procedure for deleting a file is to replace
the first character of his name for CHR$ 1. After
this file does not appear in the directory, but it
can be reduced with some CO-
MANDERa.  To physically delete files, use
lives the MOVE command.

         Packing disk space.

  When a file is deleted it still takes up space
on disk. To make this space for others
other files, the MOVE command is required. Syntax
commands:

MOVE

  After using this command you will no longer
you can recover deleted files, so
be careful.  The command only works on
default drive.

            Renaming the disk.

  Sometimes it becomes necessary to change the name
disk, output by the CAT and LIST commands. For
This is why SP-DOS uses the MOVE command:

MOVE "NewName"

  SP-DOS, executing this command, will simply replace
the name of the current drive to NewName.

                Recording files.

  To write files, use the SAVE command. Her
The syntax is the same as in BASIC. For reference
The meanings of the B file extension can be used
just an empty line or the word LINE. Examples
write commands:

SAVE"PROGRAM"LINE 10
SAVE"A:TEST"
SAVE"ARRAY"DATA A$()SAVE"PROC"CODE 32000.2166

               Uploading files.

  The LOAD command is exactly the same as in
BASIC.  To denote the extension B, you can
use any character except CODE and DATA.
When the BASIC program is successfully loaded, it
either it will start, or you will end up in BASIC with
message OK. You can also simply enter LOAD-
. Then an attempt will be made to auto-
download and if it fails you will exit to the command line
processor SP-DOS, and you can return to BASIC
by RETURN command. Examples of download commands:

LOAD"PROGRAM"
LOAD"FONT"CODE 40000.768
LOAD"ARRAY"DATA A$()
LOAD"PROC"CODE

                Launching files.

  SP-DOS allows you to run programs on the bay-
sike and in codes with one command. For this we use
The RUN command is used. Its syntax is the same
like LOAD.  There is also a RUN command -
equivalent to LOAD.

     Checking files and merging programs.

  The MERGE and VERIFY commands are used for this.
The syntax is the same as LOAD. Naturally
MERGE only works with BASIC programs.
ke. There is also a MERGE command.

                    ─────

Share your thoughts about the article