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: