Programming is the procedure for determining the presence of a disk in the drive.

Deja Vu #0A
__________________________________________

(C) SKL-KEEPER
__________________________________________

   Starting with Jemmini commander(how
it was a long time ago!), in many boots and
          commanders began to be used
          availability determination procedure
          disk in the drive. Why, how
          convenient! In the old days, I
          There have been cases when, in our own
          due to inattention or
          the park ruined disks and programs,
          and all because I didn’t bother
          when changing the disc, re-read the catalog
log:-( I remember with what delight I perceived
I appear in my collection Perfect Com-
mander V.1.53 and what a pleasure it was
tired of such routine work as copying
use on one drive: know yourself, change
disks, the program does the rest for you
will do!
   Everything was fine until I got
"Scorpion ZS-256 TURBO" with ProfPZU and not
I installed a three-inch floppy drive on it,
which soon became the main one for me.
Yes, it’s understandable: these five-inch floppy disks
you won't find an hour anymore, lifeforced the transition
shoot for three inches.
   And that's where the trouble started. Okazy-
It turns out that what works great on the flop
5.25" rein does not work well or does not work at all
by 3.5". As you know, in Scorpios with Prof.
ROM when the computer is connected to the network by
The default mode is turbo. And in
this mode on three-inch drives in
the vast majority of boots and commands
derov the presence of the disk is not detected!!! :-(
   There is one more nuance here: is it protected?
disc from recording. If protected, most
programs or, in general, do not respond to changes
well, the disk, or, even worse, “pulled”, i.e.
That is, the image appears for a split second
screensaver or panel, then disappears, dis-
the captain reads again, and everything repeats itself dream-
va.
   It's a shame that in many wonderful bo-
ot'akh and commanders determination procedure
presence of a disk in the drive does not work properly
correct! Even in my favorite "commander"
REAL COMMANDER v1.8, the most bug-free and
convenient, in my opinion! Although I'm not really
rights in this case: the presence of a disk in this
program is determined, but from the second
for, i.e. inserted the disk, took it out, got back up again
fork, then only it works...
   I was developing a convenient system
dark boot, and I really wanted to do
It also includes auto-detection of availability
disk. Because I'm still a beginner coder, enough
I have the exact experienceno, I decided to try
"pull" this procedure out of some
programs where it works well. Ideal-
but, in my opinion, the presence of a disk determines
available in Best ViewerI. Roshchina.Several
spent hours “digging” in the program,
but I couldn’t get it out of there :-( Vni-
I carefully read the article by I. Roshchin in "ZX-Re-
vu" N:5-6 for 1997 with the name "TR-DOS.
How to avoid mistakes", I tried to reproduce
use the procedure published there
and again a bummer: on a three-inch drive
in turbo mode the presence of a disk is not detected -
Yes. But in his Best Viewerhe
applied the same program, in any case
tea, I found pieces of it there when I “re-
dug "original. Hid something, or what? :)
And he doesn’t have a postal address to write about
and consult him...
   In general, I put this idea aside, but took up
for boot, developed by RED LIMITED. And although
he also did not define it quite correctly
availability of 3-inch diskdisk drive in
turbo mode, I modified it a little, and it
started working fine. Ask how to
did you work? And read my article in DEJA VU
#09 in the "coding" section. The principle is the same. And
What's interesting is that it works!..
   So I wrote a small program for
demonstration of this procedure. When it starts
where she writes"DISK PRESENT",is it worth your while
pull the disk out of the floppy drive, it starts
rotate, and the inscription "INSERT" appears
DISK FOR READING". Pressing ENTER will cause
det to exit the program, so you can
run it directly from assembler. But not-
this procedure still has benefits, but
exactly the same nuance that I wrote about
sal is higher :-( But, nevertheless, the program
is workable, and I will risk suggesting it
for use in your boots and
commander'ah. I think if you do
such things, it will not be difficult for you from the pre-
the attached demo program is pulled out
protect what you need?
   I hope the guys from RED LIMITED will not
against what I decided to make public and
universalattention to their procedure... In any
case, I will be glad to receive a letter from them, on which
I will certainly answer. My address is possible
found in the section "Advertising" of this magazine.
   Comments in the text of the mini-program
small, because I'm not very good at them
got together to comment, what for?
th... So:

;Procedure for determining the presence of a disk
;in the drive from boot RED LIMITED,
;pulled by SKL-KEEPER aka Kolesnikov
;Sergey in December 1999.

 ORG 30000
 LD HL,#4000 ;Screen cleaning
LD DE,#4001
 LD BC,#1800
 LD (HL),L
 LDIR
LD A,#05 ;BORDER 5
 OUT (#FE),A
 LD (HL),#28
        LD BC,#02FF
        LDIR
        LD A,2
        CALL #1601
        LD DE,TXT_1     ;Печать надписи
        LD BC,26        ;DISK PRESENT
        CALL #203C
        LD DE,#A500
        LD HL,#4000
        LD BC,#1B00
        LDIR
LAB_1   CALL LAB11
LAB_2   EI
LAB_3   RES 5,(IY+#01)
LAB_4   CALL LAB16
        CP #00
        JP NZ,LAB_1
        LD A,(#C900)
        AND A
        JR Z,LAB_2
        HALT
        BIT 5,(IY+#01)
        JR Z,LAB_4
        LD A,(IY+#CE)
        CP #0D          ;Это ENTER?
        RET Z           ;если да,выход.
        JR LAB_3

LAB_5   LD DE,#1E75
        LD A,#3F
        LD I,A
        IM 1
LAB_6   PUSH DE
LAB_7   NOP
        NOP
        NOP
        JP #3D2F

LAB_8   LD IX,#2FC1
LAB_9   PUSH IX
        JR LAB_7

LAB10   LD A,#08
        LD C,#1F
        LD DE,#2A53
        JR LAB_6

LAB11   LD HL,#0000
        LD (#C900),HL
        LD (#C901),HL
        LD (#5CF4),HL
        LD HL,#C9F1
        LD (#5CC2),HL
        CALL LAB15
LAB12   LD A,#00
        AND A
        JR NZ,LAB13
        LD A,2
        CALL #1601      ;Печать надписи
        LD DE,TXT_2     ;INSERT DISK FOR
        LD BC,32        ;REREADING.
        CALL #203C
LAB13   LD HL,#C000
        LD B,#09
        CALL LAB_5
        CALL LAB15
        CALL LAB16
LAB14   LD A,C
        LD (#C900),A
        RET

LAB15   LD HL,#BFFF
        LD DE,#5AFF
        LD BC,#1B00
 LDDR
        RET

LAB16   LD A,#C3
        LD (#5CC2),A
        LD HL,LAB17
        LD (#5CC3),HL
        CALL LAB_8
        CALL LAB10
        LD (LAB17+1),SP
        LD DE,#0000
        LD IX,#2740
        CALL LAB_9
LAB17   LD SP,#0000
        LD DE,#1FF3
        CALL LAB_6
        LD DE,#1FEB
        CALL LAB_6
        CALL LAB_8
        LD A,#C9
        LD (#5CC2),A
        LD A,(#5CCD)
        AND #40
        RET

TXT_1   DEFB 16,0,17,5,22,0,4
        DEFB "       DISK PRESENT"
TXT_2   DEFB 22,0,4,16,0,17,5
        DEFB "INSERT DISK FOR"
        DEFB " REREADING"
------------------------------------------

И в заключении:
---------------

   Информация для тех, у кого есть принтер
и кто  пользуется  IS-DOS'овским  LOTUS'ом
для печати текстов художественными шрифта-
ми. ЕслиYou are not satisfied with the style of the ka-
some individual letters of the font, upload it
to TR-DOS's disk and, with the help of some
some sprite editor, fix the need -
letters given to you. Corrected font rewrite-
again on the IS-DOS disk and print
to your health! Personally, I use FILES DUMP
EDITOR V1.3, which once distributed
Inforcom. Basically, no one bothers you
create your own fonts. Field
for activities extensive! Try it and don't
you'll regret it!
------------------------------------------

Share your thoughts about the article