What should be a "boot" - a few thoughts about the development of BOOT building and some of its modern trends.

Oberon #03
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