M.M.A/SPEED CO.'97
The problem of launching files from disk is always in-
interested both ordinary users and
and programmers. It would seem that there are problems
there is none - I found the file and ran the command -
do RUN "GLUK". But no, even this Kaza-
It would have been a primitive process, but it was possible
automate!
Some insidious programmer in TECHNOLOGY
RESEARCHimplemented a function in TR-DOS, bla-
thanks to which the command LOAD or RUN (and so
POKE and PEEK ) without an operand run
BASIC file named "boot". Apparently
with this action he wanted to make amends for his
Well, according to the ultra-left coding of the dis-
kovy system. So they began to appear on
light programs that allow one way or another
make it easier to select and run files from the directory
ha.
Below I wantoutline a number of yours (and not
only my own thoughts about the development
BOOT construction and some modern ones
trends. Particularly recommended reading
advice to those novice programmers who
have already grown out of alterations of other people's loaders
and want to try to write something
peculiar - boot-shaped!
First, let's look at what
has already been done in this area for that
period of time that SPECTRUM exists on
the vastness of our vast ZX-USSR. But
to begin with, you should draw a clear line
tsu between boot-program and file-command-
rum We will assume that any program
allows you to run files for execution
from the disk will be called boot. If
there is a hint of copying in this program
information, then this is already commabder. Subject
ideal file commander is also very inter-
resna, but we’ll leave its discussion for next time.
current issue of the magazine. And now: "Back - to
future!" So, the history of boot construction in Russia is
began with the advent of the first BETA samples
DISK INTERFACE. Not a single Western boot
I, and most likely no one else, saw it. Yes
and the only proprietary program, dis-
read on TR-DOS was DISK DOCTOR.
As soon as domestic programmers are very
woke up from sleep, began to appear
first crafts on the theme of boots. The first
Similar programs were written as follows:
general principle: a collection of games was compiled,
program names were sewn into the DATA line
in BASIC and then entering the program number
or selecting it with a wildly twitching cursor
(also naturally from BASIC) it was possible
finally run your favorite file. This one
The method was also interesting because it often
The programs on such discs were
protected in the following way. All BASIC and
CODE files were renamed alphabetically
digital combination. Then the files on disk
stirred vigorously and simple use
It was difficult for the reader to understand which file was
about this or that game, and what code
She needs blocks to work. The conclusion of the cata-
log was banned byunprintable entries
numeric characters in the drive name.
As you can see, boot has become more than just a tool
automation, and the only way
achieving the goal in the struggle to launch the file.
In addition, the user could not use
similar boot for your own purposes by rewriting it
to another drive, since all startup names are
files were initially stored in boot.
But time passed and the first areas began to appear
Samples of real boot programs. They appeared
This was also restrained by the fact that the traditional
it was impossible using any BASIC means
read into memory the zero track containing
file information. Having mastered the basics
TR-DOS, the first programmers were born on
light the first real boots! Most
of which still consisted of 80-90 pro-
BASIC cents and several machine code
new procedures for working with the disk. This one
stage of development is characterized by the appearanceone
from the fundamental principles - choice of file
la is produced by the cursor, for control
which need only 5 keys or one
joystick
The next key step is
hom spelling
completely assembled
boot programs. One of
the most famous similar
the new boots were written
san in 1991.
Its author was rather
just someone M.RUSALOV,
and since this boot
ours really liked
hackers, only sa-
my lazy ones didn't create their own
its redesign. It is worth noting that when
There are more than 20 BASIC files in the directory,
this program did not work and gave
message "No more than 20 files". This is Kazakh
It would be a purely technical limitation
then poured into the theory of gaming boots
(i.e. special boot's for floppy disks with games
ramie).
Interesting idea was
offered in boot from
TOLLYSOFT'92, где выбор
файлов происходил в
окошке, очень похожем
(фактически копией) на
окно меню в машинах с
128кб памяти. К тому же
этот boot занимал всего
5 секторов! Так началась
еще одна эпопея в созда-
boots - minimization-
size of the program.
In the same 1992, Shi-Soft releases
not a convenient boot with the size oftwo sectors.
In fact, this program set a record,
which was impossible to surpass. And only
in 1995/96 our Samara hackers
POLTERGEIST and MAXSOFT were able to implement
at first somewhat primitive, and then
completely working option single-sector
boot!
The situation in the boot construction market is being tested
there was some stagnation until the
the truth epoch-making creation - ZYX BOOT.
This program actually marked the beginningmodern BOOT-DEMO concept. Here would-
everything that a simple person could dream of
user!
Like any other similar program,
ZYX-BOOT suffered an incredible amount
hacks, alterations and mutations. I remember
even a disc on which was recorded
a number of 60 different species and subspecies of this
boot with different music and sprites.
For a long time, programming people have been
shaft is inactive, since there is practically no
there were new ideas for even greater automation
tions and simplifying the launch of programs. And so
a new miracle has appeared, CODEBUSTERS BOOT by
RST#7.
For the first time (for boot construction) used in
this masterpiece of programming technology
changing discs just breathed new life into
the idea itself! Hundredshaving ripped out the programmers
procedure for polling the drive, rushed to
storming the heights of automation and design. A
when another brilliant person from
Kharkov - COBRA - guessed support
method of replacing music, proposed by RST#7,
a new interest has awakened among the common people.
Now they began to record the latest
high and fashionable boots, and music in them
the coolest and most prestigious began to play.
The final touch to this story was
the phenomenon of boot programs that require
128K memory! Who was the first to "come up with"
It’s hard to say for sure, but it’s pretentious
those two: ROM BOOT (BY ROM/S.B.U.H.G.) and
BOOT by SILICON BRAINS.Both of these programs
were released in 1996 and use
128KB mode only for implementing more
cool visual effects. So what should be the ideal boot with
from the point of view of a modern user ?
First, it’s worth understanding that boot can
be gaming and systemic. Fuck the first one
The principle of a scrolling window is very convenient,
and for the second it is simply necessary as much as possible
display more files on the screen at once
definitely. System disks may contain
range from 30 to 60 executable files and
climbing on them in a small window is very awkward
nice. That is why, on all its systems
on dark disks I record ZYX-BOOT! From other
goy parties, recently similar
system boot programs still appear
less and less. And this is quite understandable! This-
hour a new boot is written not so much for the sake of non-
necessity, how much for the sake of that visual
the effect that is going to hit you
newly minted RST#7. What if it’s all over the screen?
there will be a directory on the disk, then where will that one be?
the most hyper-cool effect? So they breed
our programmers have a huge number of game
boots, but no system ones in sight! Many
my friends have already reached the point where
system disks holdinstead of boot ka-
some commander. But this is counter-
naturally!
So, let's continue. Since the standard for the system
dark boots are difficult to come up with due to their inconsistency
Anyway, let's look at gaming ones.
Selecting a file in such a program is usually
made by the cursor from the window in which
scrolling occurs. Window dimensions should
be at least 6-8 characters in height, otherwise
why is it difficult to take in the contents?
disk.
Scrolling in the window should be controlled by the maximum
small number of possible key combinations
and joysticks. It is reasonable to support the following
options:
┌---------------------┬-----------------┐
│uppixel by pixel │ Q,S,9,up │
├---------------------┼-----------------┤
│down pixel by pixel │ A,X,8,down │
├---------------------┼-----------------┤
│up one file │ O,6,left │
├---------------------┼-----------------┤
│down one file │ P,7,right │
├---------------------┼-----------------┤
│select file │ ENTER,SPACE,0,M │
└---------------------┴-----------------┘
If you have such devices at hand
like KEMPSTON MOUSE or AY-MOUSE, no one
prohibits (and even recommends) them too
support.
I want to warn novice programmers
from one common mistake. If
you have a key"SPACEBAR" is polled as
selecting a file, the following may occur
situation: the user points to the desired
to him the file cursor, presses the BREAK key
(CAPS SHIFT + SPACE) and the launch occurs
programs. But in the next milliseconds everything
stops and you fall out into
BASIC. Why does this happen and how to deal with it
struggle is not difficult to understand. It is important not to
avoid such mistakes in your creations.
Changing disks is also an important element in
modern boot. On the one hand, next
can handle this process automatically
honestly, but on the other hand, not at all
disk drives, this method works without testing
lem. On some machines, due to incorrect
correctly assembled controller or non-
serviceability of the drive itself, automatic
any re-reading of the disc gives rise to wild tremors
a revolution that threatens a complete exit of the system from
building. Naturally, there are also such programs
which even on such drives are functional
nirate quite normally, although the disks are re-
are read automatically. The whole point is
how correctly implementedassembler
nal algorithm. Possibly in the next rooms
magazine we will provide the text correctly working
of the disk drive polling procedure. Well
for now, let's try to solve the problem in
root - how to detect disk change, auto-
automatically or manually?
We are radically approaching the solution of this issue.
Samara programmer MAXSOFT was walking. His ab-
I was completely dissatisfied with the automatic
tampering with disks in any form, since
on the SPECTRUM emulator on IBM this method
leads to the most terrible glitches. That's not-
large disassembler of the MAXBOOT 11 program:
LD A,(#5DбE) : Check
CP #31 : numbers
CALL Z,#CEDB : MODE
LD A,(#5DбE)
CP #32
CALL Z,#CEDЧ
......................
#CEC8 LD C,#13
CALL #3D13
LD A,(#SCDD) : Проверка на
CP #49 : эмулятор
RET NZ : UKV-DEBUGGER
#CEDЧ POP HL : Отключение
LD HL,#C9AF : автозачитки
LD (START_OF_AUTOCHECK),HL
RET
#CEDB LD HL,#801 : Проверка на
CALL #CEC8 : эмулятор
CP #1C : Z80
JR Z,#CEDЧ : (LUNTER)
LD HL,#ЗDAD
CALL #CEC8
LD HL,#ЗEB5
CALL #CEC8
LD HL,#1FFD
CALL #CEC8
RET
The idea is as follows. In BASIC we write
In the bag there is a line of text "MODE 1"
where unity is one of three operating modes
bots:
1 - test for the SPECTRUM emulator and if so,
this disables auto-reading.
2 - autoreading is always disabled.
3 - autoreading is always enabled.
So, if you are not happy with that
your drive is buzzing from auto-reading, then you
it is enough with the help of a disk doctor to
change one number in BASIC and the program
will work as it should.
Manual re-reading is most convenient
press the SPACE key (of course, if
it is not used as a CHOICE), but
duplicate with the R key.
When creating an auto-reading process
fools, you need to pay attention to the algorithm itself
rhythm of work. Often, you spell it incorrectly
The described algorithm leads to errors when
bot with write-protected disks. K
In addition, reading the disc itself needs to be
start only when the user
I already took out the old disk and started inserting it
new ( see MAXBOOT#11 ).
During the reading of a new disk,
is trying to completely stop everyone's work
visual effects and music playback.
Radically hacker solved this program
UNWINDER/CODERS ACADEMY.In its boot
changed quasi-multitasking reading driver
from disk (as in BATTLE COMMAND and INSULT).
Therefore, when changing the disk, the screen turns off, but
the music continues to play, which creates an un-
a repeatable feeling of the liveliness of what is happening.
In general, if this boot did not require 128K
memory, then you canit would be better to recognize him
today, both in terms of service,
and by design.
Literally after the first boot, it was written -
Most of the time, people realized the uselessness of you
water in the file selection window of the file itself
"boot". This was motivated by the fact that boot
is always written to disk first and will
only get in the way when selecting files. From-
sensible “hot heads” even called for
completely ignoring not only this file
la, but also any other starting with
small letter.
Indeed, this proposal was relevant
at a time when there were dis-
kovye versions according to the “Rodionov method”, then
there are containing not one, but two
BASIC block. Only the first one was launched
first, and when you try to start the second one,
In our case, the user got off lightly
fright.
Today there are practically no such disk versions
nothing left, but new ones appeared
formats of games and magazines - disk size. Such
game or electronic magazineoccupy a whole
disk and naturally have the name boot. If
similar insert the disk into the ignoring one
boot, then you will not be able to start the game or
log, since the file named "boot" is on
is not displayed on the screen. I hope I convinced
you need to display the file itself
"boot" ? Well, for those who are disgusted by
It’s painful to see the word boot in front of your eyes
first item in the catalog, I can offer
next method. After reading the disc
in the selection window is printed as the first file
boot, and only then the names of all the others
programs. In this case, the cursor was immediately positioned
is applied to the second program. Thus
even if you press the key immediately after loading
hang SELECT, then it will not start boot, but
really first on the disk (after
boot) program.
Naturally, a modern boot should be able to
move from one drive to another by
pressing keys 1 (drive A), 2 (disc-
drive B), 3 (drive C), and 4 (drive D).
Of course you can object - most of them
ordinary users, not even a second one
drive, well, the third or fourth
is generally overkill. But it’s not worth it
talk about the emerging trend of transition
to 3.5' disks and drives, and in this case
configuration with two 5.25' and one 3.5'
drives may become objective
reality. Yes, and returning to the notorious
emulators, it is worth noting that in recent
versions of UKV can be created on hard drive
disk images of floppy disks, and then work-
treat them the same way as drives “C” and “D”.
Naturally, the following situation may occur -
tion when the user tries to select
drive "D", although it only has a floppy drive
"A". In this case, the most effective
the way is to do
5-10 cycles of attempts to switch to another one
accumulator, and if they fail,
return to the original drive.
Music is an integral part of modern
variable boot and the programmer's task as
can make it easier for the user to
menuThe most common way is
way of recording music into a separate file
right after the boot itself. Music must
be compiled with the appropriate re-
dactor, without a player. Thus
the player itself must be standard
and be located inside the body of the program. Usually
one boot plays music created only in
one of the editors (ASM,ST,PT,STP). Under-
support for all known music formats at once
ki is also difficult because it is stored in memory
3-4 players is quite wasteful
and again the lack of memory for re-
implementation of super-hyper-video effects.
As a way out of this situation, I can
suggest the following. After loading into the pa-
memory boot containing all the players,
the melody itself is loaded and tested for
affiliation with one editor or another.
Then all other players are not needed
those used for work are destroyed and replaced
The boot itself is decompressed. So you can eco-
to preserve memory and maintain all existing
current music formats. Although in principle
it is enough to include two players in boot
calf - from PRO TRACKER and SOUND TRACKER
PRO. Nowadays they write little music in ASM, but
any melody from a regular SOUND TRACKER
can be easily converted to STP format. It is also worth remembering that the user
the writer may accidentally or specially record-
put something else after boot instead of music
goe. In this case, it is enough to carry out
test of a melody for belonging to the edit
ru and if there is an assumption that this is at all
If it's not music, then just don't play it!
By the way, the question of unambiguous definition on
belonging of the compiled melody to
this or that editor, very difficult!
Of course, you can break such a program
like VIRTUAL PLAYER(by DISMASTER) and rip
all checks, but we would like
the authors of the music editors themselves (in particular
KSA) gave official ways to unambiguously
determining the affiliation of the compiled
music for one or another editor. Our
the magazine will be happy to publish such
information.
That's all I wanted to tell you today -
talk about what kind of boots there were, there are also
blow. Naturally, my opinion may be
biased. Therefore, I ask everyone who is in-
this topic is interesting - write letters with co-threads, comments and suggestions. We
We will definitely publish everything.
-═════════════ -
* * * * *
Share your thoughts about the article