╔══════════════════════════════════════════════════════════════╗
║ ZX in the world ║
╙──────────────────────────────────────────────────────────────╜
(C) EVP-SOFT
Целый ряд программ (например ALASM 4.1 (и 3.8), REAL COMMAN-
DER 1.4, виеверы PC-866 и BE_VIEW, новая терминалка EMS и многие
другие) не могут нормально работать с TR-DOS 5.03.
Глюк везде одинаковый - при смене текущего дисковода вроде
всё OK, нормально читается каталог, но вот файлы не читаются
(сразу сообщение об ошибке на диске) ну и естественно, не запус-
каются. А если TR-DOS 5.04S или 5.04T, то всё OK.
Начал исследовать этот глюк я с ALASMa. Загрузив его с дис-
ковода A я выбрал в нём B и вошёл в debugger. В системных пере-
менных TR-DOS было следующее: #SCC8 - #83, #SCC9 - #80. А эти
переменные определяют режим работы дисковода с конкретной диске-
той, и назначение их битов такое:
D7 - тип дисковода: 40(0)/80(1);
D1 - кол-во сторон диска или дисковода: одна(0)/две(1);
D0 - если (0) то использовать 80-дор. как 40-дор.,
и отсюда диагноз - при выборе дисковода B он был установлен как
80-дорожечный, но при этом односторонний и к тому же принуди-
тельно переведён в режим эмуляции 40-дороржечного.
И причина этого глюка всего лишь в том, что авторы вышепере-
численных программ не знают, что Интерпретатор Системных Функций
TR-DOS'а имеет команду, которая называется "Настройка на диске-
ту", код #18.
Ну а TR-DOS 5.04S (в 5.04T еще появился турбо-формат) отли-
чается от 5.03 только тем, что по умолчанию, т.е. до настройки
на дискету, эта TR-DOS записывает по адресам #SCC8...#SCCB не
#80 (как в 5.03), а сразу #83.
В случае с ALASMom всё очень просто:
... LET d=VAL"131":POKE VAL"23752",d:POKE VAL"23753",d:
POKE VAL"23754",d:POKE VAL"23755",d ...
и можно смело пользоваться командой driVe.
А в случае EMS (там тот-же глюк - при попытке запуска файла
после "удачного" Abort'а я обнаружил в переменной #SCC8 значение
#80) остаётся только надеяться, что её автор пришлёт в Москву
версию, где он наконец, будет использовать команду #18 или хотя
бы просто проставит по адресам #SCC8...#SCCB значение #83.
Или получится как с CDOS, где пользователи при загрузке мог-
ли лицезреть около десятка её "авторов" ...
Other articles: