Undocumented features of KR1818VG93
ZXNet echo conference «code.zx»
From Dmitry Limonov → To All 12 December 2006
Hello, All
After a sector read/write operation, it becomes necessary to read port #1F,
to check whether an error occurred in a previous operation. In TR-DOS to me
I came across the following piece (at address #3EF3):
┌─- CODE ───
IN H,(C)
.wait;
IN; A,(#FF)
AND #C0
JR Z,.wait
EI
RET M
D.I.
IN A,(#7F)
JR.wait
└── CODE ───
It is clear that this part for reading an arbitrary port will not work directly,
because once the sector read/write command is completed this will result in
looping. But this can be avoided. After completing any operation, we
send code #E0 (raw track read command) to register #1F. This team
does not change the contents of the status register until it is completed, which means
The read value of the controller state remains from the previous operation.
Sending a “raw” track read command to the controller only allowed
avoid looping.
Well, I seem to have described the whole idea, but now I’m interested in someone
checked this on real machines because it doesn't seem to work in emulators
taken into account. Is it possible to use this trick when programming a controller?
VG93? Will it work on all machines?
From Evgeny Muchkin → To All 13 December 2006
Hello, EARL
If I'm not mistaken, then this is precisely the moment in the ROM that everyone uses for
the above-described need to read any TR-DOS port (for example, if you look
Issue 35 of ZXNews - article about CMOS clocks). :)
From Mark Antonov → To All 13 December 2006
Hello, Evgeny Muchkin
Evg> If I'm not mistaken, then this is precisely the moment in the ROM that everyone uses for
Evg> the above-described need to read any TR-DOS port (for example if
Evg> see issue 35 of ZXNews - article about CMOS clocks).
no, in firmware trdos profpzu (all versions) to the same addresses
#3ffx stitched
out(c),a
ret
and
in a,(c)
ret
but you can’t rely on that on its own
From Dmitry Limonov → To All 13 December 2006
Hello, Evgeny Muchkin
Evg> If I'm not mistaken, then this is precisely the moment in the ROM that everyone uses for
Evg> the above-described need to read any TR-DOS port (for example if
Evg> see issue 35 of ZXNews - article about CMOS clocks). :)
As it turns out! I didn’t even know. Looks like I'm too behind life and progress
in the world of Spectrum :v2_blink: