ЧИТАТЕЛЬ - ЧИТАТЕЛЮ
Несколько слов о ПЗУ "Турбо-90"
Пожалуй, с точки зрения информированности наших пользователей, ПЗУ Турбо-90 представляет самую противоречивую вещь. Тысячи писем мы уже получили от тех читателей, которые готовы поделиться его секретами и давно для себя решили, что никаких секретов ни для кого оно не представляет.
С другой стороны, в последнее время резко возрос поток писем, посвященных этому ПЗУ, основной мотив которых заключается в словах: "Дорогой ИНФ0РК0М! Работая с ПЗУ ТУРБ0-90 мне удалось обнаружить. (я открыл.., я наткнулся на. и т.п.)". Как видно, не все здесь так просто, если и сегодня, в 1994-ом году многие наши коллеги еще не обладают всей необходимой информацией, а вынуждены открывать это ПЗУ для себя сами. Для них мы и публикуем обзор возможностей этого ПЗУ, который подготовил наш корреспондент из Воркуты Судаков Михаил Станиславович.
ТУРБ0-90
© Судаков М.С.,Воркута, 1994.
Версия ПЗУ ZX-Spectrum 1990 г. ТУРБО сохраняет все функциональные возможности стандартной версии ПЗУ ZX-Spectrum 1982 г., добавляя ряд уникальных функций, описанных ниже.
1. В "Турбо-90" нажатие клавиши RESET не означает полную инициализацию системы. Даже если Вы подадите команду RANDOMIZE USR 0, то система не сбросится, а как бы остановится, при этом произойдет установка стандартных атрибутов (BORDER 0; FLASH 0; BRIGHT 0; PAPER 7; INK 0) для всего экрана. Произойдет также инициализация некоторых системных переменных, экран очистится, а в служебной строке появится исходное сообщение "© 1990 Sinclair Research Ltd". Правда, таким образом удается остановить не все программы - некоторые зависают или сбрасываются.
Полный сброс системы можно выполнить четырьмя способами. Первый - нажать RESET, затем подать команду NEW. Второй - нажать и не отпускать кнопку RESET примерно в течение двух секунд, а затем - отпустить. Будет выполнен полный сброс. Третий - нажать CAPS SHIFT и, не отпуская его, RESET. Причем последней должна быть отпущена клавиша CAPS SHIFT. Четвертый - при помощи встроенного монитора, но об этом - позже.
2. Ускоренная в два раза загрузка-выгрузка выполняется теми же командами, что и нормальная (LOAD, SAVE). Чтобы переключить систему в TURBO-режим, нужно ввести символ "-" (SS+J). Обратное переключение - "+" (SS+K). Вы можете даже переписать на удвоенной скорости программы, использующие машиннокодовую процедуру по адресу 1366 или другие и это Вам сойдет с рук. Однако, со многими нестандартными загрузчиками в турбо-режиме программы загружаться не будут. Команды управления "-" и "+" можно включать и в Бейсик-строки, они будут нормально выполняться (это относится и к другим командам "Турбо-90".
Есть еще две команды, связанные с магнитофоном. Команда "(" (SS+8) включает анализатор хэдера. При этом под именем файла указывается его длина, стартовый адрес и параметр автостарта (для Program). Числа выводятся в той системе счисления, которая была последний раз установлена в мониторе. Выключение этого режима ")" (SS+9).
3. Наконец-то появилась возможность вызова строки на редактирование без утомительной комбинации: LIST - BREAK - EDIT. Для редактирования любой строки достаточно набрать "#" (SS+3), затем номер строки и ENTER. Если Вы введете просто "#" без номера или "#0", то вызовется на редактирование первая строка программы (не нулевая). Команда "#" не может вставляться в программу.
4. Если Вы находитесь в режиме редактирования Бейсик-строки, то клавиши "вниз" (CS+6) и "вверх" (CS+7) позволяют перемещать курсор внутри редактируемой строки. Это особенно удобно при редактировании длинных строк.
5. При вводе символа "," (SS+N) в нижней части экрана, то есть в командной строке появляется число, показывающее количество свободной памяти от конца Бейсик-программы до RAMTOP (система счисления такая же, как установлена в мониторе). 0собенно удобна эта функция при адаптации программ под диск - если осталось менее 300 байт, то как правило, программа при обращении к диску выдаст сообщение о нехватке памяти, так как нет места для выделения 256-байтного сектора для операции чтения-записи.
6. Теперь о встроенном мониторе "Турбо-90". Это наиболее важная особенность этой версии ПЗУ. Вход в монитор выполняется по команде "*" (SS+B). Это, конечно, не MONS и не MON2, но тоже неплохое средство для просмотра и изменения содержимого памяти. При входе в монитор, экран имеет вид:
AF IX
00000 |
24-3 |
|
175 |
|
050 |
|
059 |
|
_ |
00004- |
|
092 |
|
024- |
|
0 12 |
|
255 |
|
00008 |
|
04-2 |
|
093 |
|
092 |
|
034- |
|
00012 |
|
095 |
|
092 |
|
024- |
|
067 |
|
_«c |
00016 |
|
195 |
|
24-2 |
|
02 1 |
|
058 |
|
СгИ: |
00020 |
|
016 |
|
092 |
|
024- |
|
0 13 |
|
■ ь |
00024- |
|
04-2 |
|
093 |
|
092 |
|
126 |
|
|
00028 |
|
205 |
|
125 |
|
000 |
|
208 |
|
Н:-ИР |
00032 |
|
205 |
|
116 |
|
000 |
|
024- |
|
м tH |
00036 |
|
24-7 |
|
06 1 |
|
024- |
|
003 |
|
.и =■ |
0004-0 |
|
195 |
|
09 1 |
|
05 1 |
|
032 |
|
с :з |
0004-4- |
|
054- |
|
195 |
|
170 |
|
004- |
|
6С #■ |
0004-8 |
|
197 |
|
04-2 |
|
097 |
|
092 |
|
Е #а |
00052 |
|
229 |
|
195 |
|
158 |
|
022 |
|
<:■ |
00056 |
|
24-5 |
|
229 |
|
04-2 |
|
120 |
|
не #х |
00060 |
|
092 |
|
035 |
|
034- |
|
120 |
|
Н"х |
00064- |
|
092 |
|
124- |
|
18 1 |
|
032 |
|
1 5 |
00068 |
|
003 |
|
253 |
|
052 |
|
064- |
|
00072 |
|
197 |
|
2 13 |
|
205 |
|
19 1 |
EUM? |
00076 |
|
002 |
|
209 |
|
193 |
|
225 |
■OA a |
|
EC |
0004-2 |
DE |
00000 |
0006£ |
|
0592 1 |
|
13979 |
00980 |
IY |
236 10 |
8P32762 |
14-ESS 04-367 15S72 CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 1Э CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD а):ИВМ
При вводе "*" информация выводится на экран в три окна. Первое находится в верхней и правой части экрана - в нем отображается содержимое регистров и машинного стека. Второе - чуть пониже и занимает всего лишь неполную строку - она предназначена для ввода данных (после появления приглашения ">"). Третье окно занимает остальную, большую часть экрана в нем отображено содержимое памяти компьютера в виде адресов, чисел и символов.
Команды монитора.
Некоторые команды выполняются нажатием на клавишу, а некоторые требуют числового ввода.
"1" - смена системы счисления (с DEC на HEX и обратно).
"2" - переключение на вывод одних символов (без их числового эквивалента) и обратно. В этом режиме на экране одновременно отображается содержимое 400 ячеек памяти вместо 80 в обычном режиме. Расширенный режим удобен при прикидочном взгляде на распределение памяти или при поиске текстовых сообщений.
"3" - ввести число и записать его в текущий регистр (отмеченный мигающим курсором) или на стек.
"4" - ввести число и записать по текущему адресу.
"5" - передвинуть указатель адреса на 64 байта назад.
"6" - передвинуть указатель адреса на 1 байт назад.
"7" - передвинуть указатель адреса на 1 байт вперед.
"8" - передвинуть указатель адреса на 64 байта вперед.
"9" - переместить регистро-стековый указатель назад.
"0" - переместить регистро-стековый указатель вперед.
"SPACE" - ввести адрес просмотра памяти.
"!" (SS+1) - выполнить полный сброс системы.
"_" (SS+0) - выход из монитора с сообщением "0 0К" с очисткой экрана.
"(" (SS+8) - выход из монитора с сообщением "0 0К" без очистки экрана.
")" (SS+9) - выход из монитора без очистки экрана с сообщением "5 М".
"'" (SS+7) - ввести адрес и запустить машинный код на выполнение с этого адреса (GO SUB).
* * *