|
Форум - о ПЗУ турбо-90.
|
Мозжелов Владимир, г.Кореловск
Хочу поделиться некоторыми знаниями относительно ПЗУ турбо-90 и
аналогичной прошивкой 1991 года. Это сведения относительно встроенного
монитора. Вот что мне удалось обнаружить:
Команды, доступные из Basic-48 (их даже можно вставлять в Basic
программу, естественно, после разделителя ":") :
"*" - переход в Basic монитор;
"+" - включение номинальных операций записи/считывания на ленту;
"-" - включение ускоренных операций записи/считывания на ленту;
"," - выводит в шестнадцатеричном или десятичном виде объем
свободной памяти (система счисления зависит от того, в какой системе
счисления вы работали до выхода из монитора);
"#" - позволяет выводить на редактирование строку с номером,
указанным после данной команды.
Команды монитора:
1 - переключает систему счисления 16/10;
2 - переключает цифровое/символьное представление;
3 - запрашивает число и заносит его в текущий регистр;
4 - запрос числа с заносом его в текущую сетку памяти;
CS+5 - на 64 адреса назад;
CS+6 - на 1 адрес назад;
CS+7 - на 1 адрес вперед;
CS+8 - на 64 адреса вперед;
CS+9 - перейти к предыдущему регистру;
CS+0 - перейти к следующему регистру;
SS+7 - запрос числа и вызов подпрограммы по введенному адресу;
SS+0 - если командная строка пуста, то выход из монитора в Basic;
ПРОБЕЛ - устанавливает ячейку согласно введенному числу.
Монитор можно вызвать не только командой "*", но и командой RANDOMIZE
USR 100 или подобными. Это очень помогает при взломе программ.
В ПЗУ 1991 года (и, наверное, в ПЗУ турбо 90) неправильно
обрабатывается команда RANDOMIZE USR 0. При ее выполнении визуально
кажется, что произошел сброс, но память не очищается (очищается только экран)
просто некоторые переменные восстанавливаются в стандартное состояние
(например, цвета, режим прерываний, указатель на шрифт).
Впрочем, эти же переменные устанавливаются в стандартное состояние и при
входе в монитор. Чтобы программно сделать сброс с очисткой для данного
ПЗУ, нужно выполнить команду RANDOMIZE USR 0. Тогда происходит сброс,
аналогичный сбросу в прошивке 82 года при вводе RANDOMIZE USR 0.