Как было написано в книге Ларченко-Родионова (стр. 196). Работа tr-dos с прерываниями реализована плохо (точнее, никак не реализована). В частности, это относится к работе во втором режиме прерывания (насколько я понял, речь шла о im2).
Проблема в "аппаратном переключении" ПЗУ tr-dos в стандартное ПЗУ sos (стандартное spectrum ПЗУ) в момент прихода прерывания. И его "невозврат" в tr-dos по завершении обработки прерывания (т.е. вместо выполнения кода tr-dos будет выполняться, что-то из sos). В книге, для корректной работы в режиме IM2, используют "разницу" в этих ПЗУ для значения вектора прерывания (а значит и определения, с каком из ПЗУ, в данный момент работает компьютер). Там же приводится пример программы, работающей во втором режиме прерывания, независимо от того, "находитесь" вы в sos или tr-dos.




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