C & C T E M A
The proposed lower material lifts,
In our opinion, a very interesting topic. Pass the word to our
correspondents from Kharkov.
Jemmini: In a nutshell the problem. Us
quite amazed at the number of programs from
Russia, which focuses only on
"Pentagon" and not for anything else. These products are in
most cases looks very bad on branded machines and machines with
separate field memories. One gets the impression that this is
not for SPECCY write, but for some unknown reason and
What! Maybe the standard was already not
SPECCY, and its home-grown equivalent? One
In short, I beg you, pick up this
painful question in his journal, for
Once your log can here something to help!
(C) Jemmini 'Metallica
"Slow" MEMORY SPECCY
... Many of them are permanently left in
past, some transformirova
were, some were born from "mon
Stry "...
(From the preface to the book Rodionova)
ATTENTION!
Through the magazine "SPECTROFON" We want to appeal to all
programmers and hackers that may not her own fault, forgot or
did not know one very important Property SPECCY, which we try
tell.
Jemmini:
Before I begin to expound the essence of the problem, I want
to note one difference in the sea sovdepovskih schemes. There
are two implementation: a common field of memory and a split.
The first is "The Pentagon" LENINGRAD-1, 2 "," Baltika ", etc.
Representatives of the second implementation is "Krasnodar",
"Kharkiv", "MOSKVA-48" and ... Corporate SPECCY!
In corporate SPECCY, video controller for reading data,
there is a "lock" clock, going to the CPU. Thus stopping the
processor is implemented on time- information from RAM to the
screen. As is known, SPECCY video memory is measured in pages
RAM with the numbers 5 and 7. Therefore, the video controller
makes the choice of data is from this memory location. But
SPECCY arranged so that these pages are from
pages 4 and 6, one block. Only
the sake of convenience I'll call him a block of video memory
(hereinafter referred to OHR). Jobs VWP because of references
to it slowed down the video controller, namely by 25% (The fact
that the treatment "cover" two clock cycles out of every
eight). This slowdown in certain cases may affect the operation
of the computer in general, and on the last speed affects the
frequency dependence requests the CPU to the OHR.
I note that most of its value
This frequency is reached for sample codes
teams from the said memory. Therefore, for
to minimize accesses to the VWP, a rational place in the data.
It for data and apply this memory.
One of the severe cases is the one
when placed in the VWP program. With this
placement, performance on this segment of the program falls on
the fourth.
But not even that made me write
the real message, but something less obvious but no less
serious and unpleasant! AND these troubles are related to the
habit of many homegrown ...- soft'ov set to register interrupt
vectors I a number, indicating that this unfortunate OHR. This
lining leads to an even more tragic results.
As I've written a program fragment
caught in the VWP, loses 25% of the speed, but
If there comes a table of interrupts that
The whole machine becomes slower by 25%! Not
delving into the reasons why I say what this
leads. No, the car did not explode and did not hang, and
all-but everything stopped "Stowed in the interruption," as
adopted to speak with programmers. But this is not
all and not even the worst when it would seem, and
well enough. The trouble begins with the
boot from a disk - DOS can not read
drive!
Indeed, its rate of rotation remains
the former, and the speed DOS fallen almost 25% in
resulting in all the time delay
were wrong! Error reading
and I was there to tell you how many prog
respond to this ...
It is worth noting that the above
"Property" does not depend on the mode interrupt!
As a solution to this problem, we recommend that all
programmers be installed in I register values in the range
from # 00 to # 3F, and from # 80 to # BF. In this setup,
overlap occurs. You can also install a range of up to # C0 #
FF, provided that the current in the vast majority of pages are
not owned by the VWP. In the case of the values from # 40 to
# 7F, the interrupt vector will always point to the OHR, which
will inevitably lead to a loss of speed.
Dear colleagues from Russia! Did you
has only "Pentagon"? Can not you see how to do all firms, as
Poles have done (they have been branded machines!), and
finally, as is done in all known SATISFACTION and INSULT? Maybe
you're just not paying attention, and yet there all with this
in mind: the block of video memory - the data, the rest of
memory - a program. And you have companies will not find, so I
register it with the values from # 40 to # 7F.
What about the situation in Ukraine
I can assure you that the machines with a separate field of
memory is plenty. And judging by the publications in the journal
"SPECTROFON" in Russia similar machines
also available.
Jemmini 'Metallica:
All who read these lines! Take into
account the above and do not be lazy on
When you work with DOS in case I bring
# 3F, and RAM to install interrupt table so that it does not
hit the block of memory! And we can only hope that those who
admit such mistakes, the more they will not do that our story
will be useful to all of you, dear sinkleristy. Bye!
Matviychuk MV (Jemminisoft)
310066, Kharkov, trans. Progressive,
d.28, kv.1 tel.: (0572) 98-81-35
Grebennik VA (Metallica)
310091, Kharkov, ul.Tankopiya, 5, kv.44
tel.: (0572) 90-45-24
*
"S": It should be noted that this problem in detail all the
three volumes of "Programming in machine code and assembly
language" published "Inforkomom" in 1993. But since this
edition is now turned into discharge a rarity, information
Kharkov programmers certainly cause of interest. Once again I
draw your attention to the fact that I hit the register in the
range from # 40 to # 7F slowing your computer is NOT DEPEND ON
Interrupt mode! In each machine cycle
Command Z-80 refers to the memory cell
addressable register I, displaying it in the senior eight bits
address bus and activating the line of inquiry memory MREQ.
This is interpreted as the ULA address to the OHR, leading to
conflict with the controller display regardless of the mode
interrupt. However, we also do not recommend the use of
register values I from # 00 to # 3F for the second treatment
interruption, as
with the table of cut falls in the ROM that on computers with
an unstable system bus data leads to unpredictable results.
Apparently, the optimum will use the I register of
range from # 80 to # BF.