знакомая ситуация, код работы с контроллером внутри версий 01 и более старших отличается (по адресам расположения процедур) проги которые используют относительно стандартную точку входа (#3D13) будут работать, а вот при вызове процедур напрямую может произойти что угодно (вплоть до порчи данных на дискете).
`на заре` адаптации программ про эти отличия знали и корректировали адреса вызовов, но потом практически все перешли на 5.03
и на это (проверка версии прошивки и адреса вызовов процедур) забили.
вот хороший пример `стабильной` программы для работы с дискетами https://vtrd.in/release.php?r=efb149...52f09ec8e67784
там корректировка адресов есть.
..........
на эти грабли знатно наступили авторы журнала Spectrofon.
в ранних версиях при работе защиты (чтение дорожки и проверки маркёра в межсекторном промежутке) адрес вызова процедуры корректировался, а потом при смене защиты адрес вызова сделали только для 5.03.
естественно на 5.01 это уже не работало, а сотни дискет были растиражированы/куплены по всей стране.
ИнфорКом тогда завалили возвратами.
..........
сейчас эту ситуацию легко повторить в эмуле который допускает смену trdos прошивки.
поставьте (если найдёте) 5.01 и запустите например демку Insult





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