Iron - how to avoid glitches with the second treatment interruption on machines with the division of the field memory.
_
IM 2
_
(C) Alex_Naz 2001
No matter how often write, how many do not say, but
Some people ignore global veschi.Rech will be about how to
avoid glitches with the second treatment interruption on
machines with the division of field pamyati.Mnogie contemporary
writers (I can not name programmers), they like to load the
register I values above 63, and then apply
to TR-DOS.Pochemu as this can not be done? concrete answer to
this question can be found in the 3-volume book on programming
"INFORKOMA." Quote:
"... In each cycle of machine instructions
Z-80 refers to the memory location addressable register "I",
displaying it to the senior eight bits address bus, a memory
request line "MREQ" activated. "ULA" generates an interrupt
whenever you must change the contents of ekrana.Eto makes Z-80
to run the program interrupt, provided that interrupts are
connected.
When the program interrupt
executed, the processor returns to the point where it was when
preryvanii.Esli a command read / write memory
between the # 4000 and # 7FFF, that "ULA" (now
uses a different version of this display controller) checks
browsing top two lines of the address bus and line
"MREQ", then "ULA" suspend the microprocessor until the screen
changes.
If the MSB register "I" reset
and bit 6 is enabled, then "ULA" may
confused because of the regeneration of the dynamic
pamyati.Aktiviziruetsya line "MREQ", and register for "I" is
placed in the senior eight bits address shiny.Dalee "ULA"
thinks that the CPU is writing or reading in this area of
RAM, and try to prevent it, "ULA" misses its own appeal to
change the display, which leads to the collapse
kartinki.Poetomu in case "I" should not contain any number from
64 to 127 inclusive, ie with two older bits set as described
above. "
So I hope that all who did not know about
This is now known and will not continue to ignore this
pravila.Na Today same day, there are many programs in
which this rule is not observed, and
just need something to restore the registry I.
Because of such errors, there are various "gadgets" for cars
with split field pamyati.No just think, if
everyone will write programs only for
your computer, and then indicate in the specifications:
"To operate properly cut off the leg of the circuit X Y".
Then there will be a mass "slaughter"
boards that nedopustimo.Luchshe fix
error in the program than "Kotsan" fee.
Of course, this "massacre" would be, but not
Mass, as I wrote above, this is due to the fact that the number
of computers divided the field of memory is not so high, but
still can not reckon with this.
In modern computers in which
there is no shared memory, you can register
"I" get up anything, than anything and do.
And lastly a little spisochek programs, in which case "I" is
loaded Numbers from the "forbidden" interval:
Spiders
Global Commander
Ultimatum 2
Zasm 3.10demo
Last Hero of Light Force
I hope this information will be useful for you and you, dear
Programmers 'll take it into account when writing their
products.
_
Other articles:
|
|
Iron - how to avoid glitches with the second treatment interruption on machines with the division of the field memory.
|
|
|
|
|
|
|
|
|
|
|
|
|