Мне лично ничего во время гашения экрана делать не требуется, без разницы когда относительно кадра они приходят. Потому для меня, что прерывания 50 ГЦ, что без прерываний программный контроль МГ-входа, куда подан меандр 5 ГЦ - дают одну и ту же пользу, - позволяют оценивать время. Только с прерываниями переделка обходится дороже на 8 резисторов. В БК-010 тоже есть простейший аппаратный таймер - низкочастотный меандр поданный на какой-то вход и этого оказалось вполне достаточно для программ реального времени.
Да и прерывания годятся лишь для СПЕЦИАЛИСТА, но не годятся ни для РК86, ни для ОРИОНА, т.к там выход INTE занят для других, более странных целей. Там для счёта времени выход - только простейший аппаратный таймер в виде такта 5 ГЦ на входе МГ.
Прерывания при КР580 считаю полезными не для этого, а только если нет тика 5 ГЦ на входе МГ. Тогда прерывания позволяют бесплатно считать время (как это сделано в MSDOS, по системному тику 1/18 секунды). Это бы сделало программные часы точными и без введения тика 5 ГЦ на МГ-входе, а также существенно упростило бы вывод музыки, как программный, так и через ВИ53.
Наличие прерывания могло бы упростить драйвер консоли CP/M, позволив эмулировать аппаратную клавиатуру, которую требует CP/M. Но это было надо до 1991, а после эта проблема с успехом была решена программно. Так что и для этого прерывания уже не нужны.
Понятно, что из-за отсутствия MODE 2, прерывания в машинах на КР580 нельзя использовать для незаметного опроса клавиатуры, как это в ZX-Spectrum. Так как в области 0038H - ОЗУ и сюда грузятся программы. Поэтому и в этом плане от прерываний нет толка. И получается, что простейший аппаратный таймер лучше, чем прерывания, по крайней мере, это более надёжно, т.к могут попасться адаптированные от РК86 игры, где остался звук по DI/EI.




Ответить с цитированием