|
Micro
#17
24 апреля 1999 |
|
Описание - 'CONVER-Commander V 4.23 pro' (часть вторая).

'CONVER-Commander V 4.23 pro'
часть вторая
Описание работы программы в режиме дис-
кового 'Доктора'.
Этот режим работы 'Commander'а практи-
чески не уступает по своим возможностям
самостоятельным программам этого класса,а
кое в чем даже превосходит их.
Внешний вид передней панели
.........................................
'██'-обозначает положение курсора в теле
сектора.
Aдрес начала строки внутри сектора в HEX
/в Dec виде
Значения байта в HEX,в символьном виде
#00____0__62 6F 6F 74 20 20 20 20 boot
представление байт
#08___8__42 5F 67 03 53 06 00 01 B███████
в символьном виде:
#10___16__01 6F 6D 61 6E 64 65 72 █omander
0- 31
#18__24__42 33 41 00 AA 5E 06 01 B████
красный квадрат
#20__32__52 6F 62 6F 6B 6F 70 31 Robocop1
32-127
#28___40__42 12 35 6A 3E BA 0A 05 B██████
симв. на зел. фоне
#30___48__00 00 00 00 00 00 00 00 ███████
128-159
#38___56__00 00 00 00 00 00 00 00 ███████
красный квадрат
#40___64__00 00 00 00 00 00 00 00 ███████
160-255
#48___72__00 00 00 00 00 00 00 00 ███████
симв.на красн.фоне
#50___80__00 00 00 00 00 00 00 00 ███████
#58___88__00 00 00 00 00 00 00 00 ███████
#60___96__00 00 00 00 00 00 00 00 ███████
#68__104__00 00 00 00 00 00 00 00 ███████
#70__112__00 00 00 00 00 00 00 00 ███████
#78__120__00 00 00 00 00 00 00 00 ███████
──────────────────бт.в предст. BASICа
Курсор 27 (254) RETURN
С─регистр ввода симв.
│ 0│ 1│ 2│ 3│ 4│ 5│ 6│ 7│ 8│ 9│...│ E│ F
данные о чтении
A Дорожка:0 сектор:0
└──────────┴─────────┴тек.-диск/дор./сект
окно для служебн. информации
.........................................
В полях редактирования синхронно переме-
щаются ДВА курсора,один по НЕХ-полю, дру-
гой по символьному. При этом один являет-
ся ГЛАВНЫМ (мигающий, черного цвета),
другой (серого цвета) как-бы его тень на
другом поле. Редактирование информации
возможно только под главным курсором.Пос-
ле слова "Курсор" находится адрес курсора
в секторе в десятичном (Dec) или шестнад-
цатиричном (HEX) виде,в зависимости от
того какой режим Вы выбрали клавишей
[Graphics].Затем значение этого байта в
десятичном виде, в скобках, и далее
представление этого байта в формате BASI-
Cа. При этом значения 0-31 интерпретиру-
ются как 'упр.символ', а 128-164 как 'UDG
символ'. Правее выводится состояние ре-
гистра ввода символов - заглавные/строч-
ные (С/L). Ниже находиться строка досто-
верности считанной информации с номерами
секторов (0-F), где цветом показано сос-
тояние информации на диске в текущей до-
рожке. В этой строке номер текущего сек-
тора (в котором находиться курсор) выде-
лен мерцанием.В следующей строке показаны
текущие; -номер дисковода (A-D), дорож-
ка/сектор.Сектор при выводе на экран де-
лится на две страницы: 0-127 и 128-255
байты.Непосредственно выполняемые коман-
ды:
* клавиши курсора-перемещение курсора
внутри дорожки (при этом курсор перемеща-
ется только внутри ТЕКУЩЕЙ дорожки и для
перемещения на следующую пользуйтесь ко-
мандами "страница вперед" и "страница на-
зад".);
* [Inv.video]-страница вперед (+128 байт);
* [True video]-страница назад (-128 байт);
* [Delete]-восстановление первоначального
значения байта СЛЕВА от курсора;
* [Graphics]-переключение режима вывода
цифр. информ.- Dec/HEX
* [Caps lock]-переключение регистра ввода
символов- ЗАГЛ./стр;
* [SS]/[W]-установка/сброс 7-го бита в
байте под курсором;
* [SS]/[Q]-установка главного курсора в
НЕХ поле;
* [SS]/[E]-установка главного курсора в
символьное поле;
* [Enter]-информация о диске и положении
в нем курсора;(нажатие в режиме просмотра
информации на [Graphics] приводит к смене
режима вывода информации на экран);
В Н И М А Н И Е: изменения, которые Вы
совершите в 8 секторе системной дорожки
не будут показаны в 'информации' до тех
пор, пока Вы не запишите их на диск!
* [Edit]-смена диска / дисковода. Отмена
команды клавишами [Break] или [Edit];
* [SS]/[A]-возврат в 'Commander';
Если главный курсор находится в 'HEX'
части дампа, то байты редактируются в
'HEX' виде (действуют клавиши 0-9 и A-F),
неправильный ввод первого нибла редакти-
руемого байта (т.е., если Вы хотели наб-
рать '8A' и случайно набрали первый сим-
вол [9],то нажав [Delete] можно его отме-
нить. При редактировании в символьном по-
ле производится непосредственное редакти-
рование символьными клавишами (символами
с кодами 32-122). Ввод байт с кодами от 0
до 31 и от 123 до 255 возможен только в
'HEX' виде.
Программа не даст Вам покинуть текущую
дорожку, если Вы редактировали ее и не
записали полученный результат на диск ко-
мандами:'Записать сектор' или 'Записать
дорожку'. При этом следует запрос:
"Записать изменения Y/N ?"
При отрицательном ответе все изменения
теряются, при положительном, на диск за-
писываются те СЕКТОРА, в которых были
сделаны изменения.
=========================================
* выход в режим дополнительных командкла-
виша [Extend mode]
ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ:
─────────────────────────────────────────
[R]:'Считать дорожку'-перезагрузка теку-
щей дорожки с диска.При чтении дорожки
программа пользуется непосредственным
доступом к диску, минуя процедуру 15635.
Это дает возможность прочитать информацию
с дорожки даже при ее частичном разруше-
нии, но времени на эту процедуру уходит
от 1.5 сек. и более, в зависимости от ка-
чества информации на диске.Результаты от-
ражаются в виде строки:
│ 0│ 1│ 2│ 3│ 4│ 5│ 5│ 7│ 8│ 9│ A│...│ F
цифры отражают порядковый номер сектора,
цвет сектора показывает достоверность ин-
формации при чтении:
* черная цифра на синем фоне______дорожка
не форматирована
* красная цифра на черном фоне____сектор
с таким номером не найден
* черная цифра на фиолетовом фоне_сектор
восстановлен после прямого чтения дорожки
* черная цифра на белом фоне______длина
сектора не равна 256 байт
* черная цифра на красном фоне____сектор
считан с ошибкой в CRC
* черная цифра на желтом фоне_____сектор
считан не с первого раза
* черная цифра на голубом фоне____нестан-
дартная метка IAM
* черная цифра на зеленом фоне____сектор
считан с первого раза (ОК)
Совсем не обязательно стараться запом-
нить все это. При нажатии на [Enter]
Программа информирует Вас о данных диска,
положении курсора на диске и,Вы увидите
расшифровку данных о качестве прочтения
сектора под курсором.
─────────────────────────────────────────
[S]:'Записать дорожку'-записать текущую
дорожку на диск. После стандартного зап-
роса на подтверждение выполнения команды,
если ДОКТОР считает, что обычная запись
на дорожку не приведет к положительным
результатам (т.е. при чтении дорожки
часть секторов была прочитана с фатальны-
ми ошибками, следует запрос:
┌─────────────────┐
│Переформатировать│
│ дорожку Y/N ? │
└─────────────────┘
при положительном ответе на который, до-
рожка перед записью будет отформатирова-
на. При этом для форматирования будет
выбрано расположение секторов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
если Вы не выберите форматирование, прог-
рамма запишет только те сектора, которые
были прочитаны без фатальных ошибок!
─────────────────────────────────────────
[P]:'Записать сектор'-записать текущий
сектор на диск
┌────────────────────────────────────────┐
│Если записывается 0 дорожка или сектора │
│0-8, этой-же дорожки и если на диске на │
│160 дорожке есть копия каталога и в 8-м │
│секторе 0 дорожки стоит метка 'COMMAN- │
│DER'а, копия каталога будет обновлена! │
└────────────────────────────────────────┘
─────────────────────────────────────────
[T]:'Смена дорожки/сектора'-ввод новых
значений дорожки/сектора и перемещение
туда курсора. По умолчанию остаются пре-
дыдущие дорожка/сектор. Если Вы хотите
использовать текущую дорожку или сектор,
то вместо ввода числа нажмите [Edit].Ввод
данных в 'HEX' или 'Dec' виде,в зависи-
мости от Вашего желания.Дорожка с номером
более 175 и номер сектора более 15 не
принимаются!
─────────────────────────────────────────
[О]:'Поиск файла'-на диске ищется файл с
заданным именем и типом. Курсор устанав-
ливается в первом секторе искомого файла.
─────────────────────────────────────────
[G]:'Перейти на файл под курсором'-если
курсор находится на 0 дорожке в секторах
0-7 и располагается над дескриптором ре-
ально существующего файла (обычный файл
или DEL-файл), то происходит перемещение
в начало первого сектора этого файла.Пос-
ледующие выполнения этой команды из ЛЮБО-
ГО места диска будут снова перемещать
курсор в начало этого файла. Если произ-
вести перезагрузку диска или выйти из
Доктора и вновь вернуться, команда 'G'
будет обнулена и начнет игнорироваться
при попытке выполнить ее находясь вне ре-
ального каталога диска.
─────────────────────────────────────────
[0]:(ноль)'Перейти на 0 дорожку 0 сектор'
-здесь, я думаю, все и так понятно.
─────────────────────────────────────────
[C]:'Калькулятор'-обыкновенный калькуля-
тор для вычислений, с некоторыми необык-
новенными возможностями. Может работать с
числами с плавающей запятой. Выполняет 5
арифметических действий:
+ сложить
- вычесть
* умножить
/ делить
^ возвести в степень
Вычисления производятся строго слева
направо без соблюдения приоритета опера-
ций. Данные могут быть заданы в:
234 236.56 5.89562Е+8 -56.55
-десятичном
# (это 0) #A #55 #c002
-шестнадцатиричном
%11101 %1000010001000001
-двоичном
"a" "F" -символьном видах
Естественно, что шестнадцатиричные и дво-
ичные данные могут быть только в диапазо-
не 0-65535. Запись: 25*-3 означает-умно-
жить 25 на (-3). Есть, так называемый,
'подкалькулятор'.
Если в начале строки поставить '?', то
результат, если он укладывается в диапа-
зон 0-65535, будет выдан в трех видах;
десятичном, шестнадцатиричном и двоичном:
?25+#c0-86 = 131 #83 %10000011 или
?"F" = 70 #46 %01000110
если в результате вычислений подкалькуля-
тора будет получен отрицательный резуль-
тат в диапазоне 1-127, то его ШЕСТНАДЦА-
ТИРИЧНОЕ значение будет выдано в дополни-
тельном виде (как отрицательное смещение
(-1 -127):
?32-64 = -32 #E0 %00100000
-а это двоичное 32 !
└──!!! шестнадцатиричное -32
Теперь самая специфическая команда:
56'10 означает: дорожка 56,сектор 10
(можно 56'#A) если Вы наберете это, то
результат будет: = 906 56'10 #38'#0А ,где
906,это расстояние в секторах данного
места на диске от его начала (дор.0
сект.0). Например, если начало файла до-
рожка 10 сектор 1 и его длина 129 секто-
ров, то Вы можете узнать, где начинается
следующий файл:
10'1+129 = 290 18'2 #12'#02 или зная на-
чало некого файла и начало следующего за
ним файла можно вычислить его длину в
секторах:
15'1-10'0 = 81 5'1 #05'#01
здесь длина файла 81 сектор,а дорож-
ка/сектор не имеют практического значе-
ния, хотя с другой стороны они показывают
длину файла в дорожках/секторах.
Для выхода из Калькулятора нужно нажать
клавишу 'Break', при этом, если строка
пуста, Вы сразу попадаете в основной ре-
жим Доктора. Если-же в строке что-нибудь
есть, Вас спросят, не хотите-ли Вы запом-
нить результат вычислений в одной из де-
вяти ячеек памяти М1-М9.При нажатии
'1'-'9' число запоминается и Вы возвраща-
етесь в Калькулятор, нажатие любой другой
клавиши возвращает Вас в основной режим
Доктора. Следует отметить, что у Кальку-
лятора есть еще одна ячейка памяти М0.
Она заполняется автоматически, после каж-
дого вычисления. Использовать содержимое
этих ячеек можмо следующим образом:
25+15+м0-59-м1 = результат зависит от пе-
ременных М0 и М1.
ВНИМАНИЕ ! В ячейке памяти можно запом-
нить ТОЛЬКО число (простое или с плаваю-
щей запятой). Невозможно запомнить в па-
мяти значение "дорожка/сектор".
─────────────────────────────────────────
[F]:'Поиск'-поиск на диске,в заданных
пределах, последовательности байт. Вы мо-
жете задавать данные для поиска в деся-
тичном,шестнадцатиричном и символьном ви-
дах. Знак '.' (точка) означает возмож-
ность присутствия на этом месте любого
байта. В символьном виде можно задать,
как одиночный байт:
"F" так и стринг:
"Game is over"
┌────────────────────────────────────────┐
│Символьная информация ДОЛЖНА быть огра- │
│ничена кавычками! │
└────────────────────────────────────────┘
В шестнадцатиричном виде может быть за-
дан, как одиночный байт:
#77 #C3 #c3 #A
так и адрес:
#C000 #c000 #A76 #0056
(#c3 #0056 = JP #56)
т.е. если Вы набираете #C3 #C033,это зна-
чит, что на диске будет искаться последо-
вательность байт #C3 #33 #C0.В десятичном
виде также можно задать одиночный байт
(0-255) или адрес (0-65535),причем адрес,
если он меньше 255, должен начинаться с
нуля:
#c3 49152 = JP 49152
#c3 056 = JP 56
НО! #c3 56 -может дать самый неожиданный
результат, если Вы имели ввиду адрес 56!
Вы также имеете возможность использовать
'свободную маску', поставив вместо зада-
ваемого байта точку:
#22 . . 40
здесь программа будет искать байты 34 и
40 между которыми могут находиться любые
2 байта!
Теперь о корректности ввода данных. Же-
лательно, но не обязательно, отделять ис-
комые данные друг от друга пробелами:
#c3 49150 16 7 17 0 19 1 "Disk Error"
или #20 #20 #20 . . . . . "over"
более компактный вариант (но не более же-
лательный во избежание ошибок ):
#c3 49152 16 7 17 0 19 1"Disk Error"
или #20#20#20....."over"
После ввода последовательности и возмож-
ного редактирования нажмите [Enter] и
введите сначала начальную дорожку для по-
иска (включительно) (если Вы вместо ввода
числа нажмете [Edit], то будет использо-
ван текущий номер дорожки). После этого
введите конечную дорожку (тоже включи-
тельно), ну а затем начнется собственно
поиск. Если ничего не будет обнаружено,то
выдается соответствующее сообщение.
Заданную Вами последовательность прог-
рамма запоминает и при следующем входе в
эту команду, если прошлые данные для по-
иска Вам не нужны придется сначала очис-
тить строку командой [Graphics].
─────────────────────────────────────────
[N]:'Продолжить поиск'-программа ищет за-
данную Вами последовательность байт от
текущего положения курсора до заданной
Вами конечной строки.Перед началом поиска
последовательность выводится на экран,
что-бы Вы знали, чего собственно ищете.
─────────────────────────────────────────
[I]:'индексные данные текущей дорожки'-в
правом верхнем углу показывается физичес-
кие N цилиндра и N стороны диска далее в
столбик данные заголовков секторов этой
дорожки, начиная от индексной метки: лог.
N цилиндра лог. N стороны N сектора его
длина
При нажатии на клавишу [Graphics], можно
сменить режим вывода информации на экран
- HEX/Dec.
─────────────────────────────────────────
[D]:'Дизассемблировать код'-начиная от
положения курсора на экран выводиться
листинг дизассемблирования.При выполне-
нии, в заголовке указывается имя файла и,
программа запрашивает, какое реальное по-
ложение занимает в ОЗУ дизассемблируемый
код. В качестве своего варианта программа
предлагает: для BASIC-файлов:'23867'+'
расстояние от курсора до начала файла,
для других типов файла:'адрес загрузки'+
'расстояние...' и если курсор располага-
ется на ТR00 или за пределами занятой об-
ласти диска: '0'+'расстояние...'. Ввод
информации возможен в HEX или десятичном
видах.Листинг выдается построчно при на-
жатии на любую клавищу, кроме [BREAK] или
[M].
Дизассемблируются ВСЕ команды процессора
Z80 фирмы Zilog.
Справа от команд выдается их значение в
HEX-виде желтого цвета,если все нормально
и красного цвета, если нахождение данного
байта в данном месте бессмысленно.
Цифровая информация выводиться в HEX или
Dec-виде, в зависимости от соответствую-
щего состояния 'Доктора' (установленного
клавишей [Graphics]).
ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ функции 'D':
[BREAK]-прерывает вывод листинга.
[М]-устанавливает курсор в 'Докторе' на
байт начала последней команды на экране.
─────────────────────────────────────────
[B]:'просмотр BASIC файла'-функция пред-
назначена для облегчения работы с BASIC
программами. Действует только в файлах
типа 'В' (BASIC файлах)!
При выполнении, в заголовке указывается
имя файла и, справаот него, номер строки
автостарта программы, если он конечно
есть. При выдаче на экран листинга прог-
раммы, управляющие символы, встреченные в
строке, игнорируются. При обнаружении в
строке недопустимых в BASIC программах
символов вывод листинга прерывается с вы-
дачей сообщения "Конец программы". При
обнаружении таких символов в строках пос-
ле оператора REM, на экран выводиться не-
которое число байт в символьном виде фио-
летового цвета (в виде символа в диапазо-
не 32-127 и как '.',если значение не по-
падает в этот диапазон) и листинг продол-
жается со следующей строки программы.
Каждое число в листинге сопровождается
его дубликатом во внутреннем представле-
нии BASICа (число красного цвета в скоб-
ках),что предоставляет дополнительные
возможности.
Листинг программы происходит построчно.
Выдача следующей строки происходит лишь
после того, как будет нажата любая клави-
ша кроме: [[BREAK], [M] или [S]. По окон-
чании программы выдается сообщение "Конец
программы", возврат в основной режим
'Доктора' происходит только после нажатия
клавиши [Y].
ДОПОЛНИТЕЛЬНЫЕ КОМАНДЫ функции 'В':
[BREAK]-прерывает вывод листинга.
[S]-устанавливает курсор в 'Докторе' на
младший байт автостарта программы в слу-
жебной области файла, что дает Вам вомож-
ность изменить его при желании. Номер
строки автостарта программы представляет-
ся в двухбайтовом виде мл./ст., при ра-
венстве его нулю,автостарт с программы
снимается.
[М]-устанавливает курсор в 'Докторе' на
первый оператор в последней, выданной на
экран, строке листинга (чтобы увидеть
это,надо разумеется,вернуться в основной
режим).КАЖДОЕ нажатие на 'М' переориенти-
рует курсор по новому!
В Н И М А Н И Е имейте ввиду, что [М] и
[S] взаимоисключают друг друга (т. к. Вы
сами понимаете, курсор не может оказаться
одновременно в двух разных местах файла).
Также эти операторы действуют и тогда,
когда на экране присутствует сообщение
"Конец программы".
-----------------------------------------
┌────────────────────────────────────────┐
│ Юрий Ковалевский 'CONVER-Utility' │
│ г.Санкт-Петербург │
└────────────────────────────────────────┘
Текст набран в ZXWord'e 2.5+(mouse)
Mihail (MIHEICH)
Другие статьи номера:
Похожие статьи:
В этот день... 18 ноября