Цитата Сообщение от Jukov
Я тут вот с какой проблемой столкнулся. В литературе говорится, что на фирменном Спектруме48 вектор прерывания I должен находится в районе адресов ПЗУ, иначе произойдёт аппаратный сбой. Но у некоторых отечественных Спектрумов нестабильная шина данных, поэтому в ОЗУ создается таблица длиной 257 байт. Конечно, можно было бы использовать таблицу в свободном месте ПЗУ (где #FF), но на многих компах оно занято всякой фигнёй. Как же обеспечить нормальную работу IM2 на любом компьютере?
У меня фирменный Speccy 128+Beta, в котором нет проблем с плаванием вектора I. Вообще-то за всю жизнь я видел 3+5=7 фирменных моделей. Первые три, один из них мой, были произведены в Польше, остальные пять были в компьютерном клубе и где их собрали мне не известно. Все модели я тестировал на этот глюк и его небыло.
Однако, речь шла о нахождении регистра I в диапазоне от 0 до 63, но IM при этом не 2 а 1 ! Сколько я не капался в буржуйских работах, я не видел, что бы вектором I при IM2 пользовались ПЗУшкой, за исключением польской демы "Song In Lines". Рекомендуется в 48к модели держать вектор в любом диапазоне, кроме от 64 до 127. Иначе в момент выборки байт для генерации видео любая команда будет исполняться с торможением, и это ощутимо. А если ещё при этом всём и исполнять программу в диапазоне от 16384 до 32767, то торможения могут быть в 5-6 раз. А это строгое правило, затирать 257 байт одним числом, я встречал только у Durrel Software, но так же они при чтении регистра порта клавиатуры они их любили инвертировать, это то же считать стандартом ? Мне кажется, что эти недаработки с глюком вектора пошли от клонов Speccy !