Спасибо за ссылку – почему-то этот топик я ранее проигнорировал, и поэтому задавал вопросы уже обсужденные там. Как вариант решения подобных проблем предлагаю вводить краткую аннотацию темы. В противном случае, получается "начали за здравие, а кончили за упокой".
Теперь вопрос к SMT - а собственно, какой бит за что отвечает, и какой на запись, а какой на чтение. Я так предполагаю, в порте #FFBA за I2С отвечают следующие разряды:
D4 - /w - SDA OUT I2C; /r – нет.
D5 - /w - WR/RD I2C; /r – нет.
D6 - /w - SCL OUT I2C; /r - SDA IN I2C.
Или быть может, я ошибаюсь?
А насчет отвязки SMUC от TR-DOS я не согласен. На спеке нет такой фичи как "обращение к процедурам BIOS через прерывания" и соответственно нет гарантии, что чья-то процедура не запишет на "винт" недопустимые значения. По серьезному неплохо было бы использовать прерывания профПЗУ - надежность работы устройства в этом случае была бы максимально-возможной, но даже использование "TR-DOS триггера" дает некоторые гарантии безопасности, например, если в случае какого-то сбоя приложение начнет писать во все порты отфонарные значения. Вспомните, как у некоторых повреждалась инфа на IS-DOS дисках из-за простых сбоев в программах.
Хотя возможно во мне говорит "железячник" - например, я не представляю на Спектруме многозадачность без аппаратного супервизора (по моему так называется фича следящая за доступом приложений к своим областям памяти).




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
