(C) StALKER. 1994
(R) KVANtSOFt. 1995
StS Monitor v2.6 (128)
────────────────────────────
(C) 1994. Stalker
StALKER представляет:
Stalker Stealth monitor v.2.6-
системный монитор-отладчик. по
своим возможностям намного пре-
восходящий программы такого ти-
па. Этот монитор специально раз-
рaбaтывaлся для компьютера ZX-
SPECtRUM 128K.a версия 48K - для
компьютеров с теневым ОЗУ. При
разработке монитора учитывался
опыт работы на таких известных
мониторах и отладчиках. как
MONS4. MON2. FOXMON128. ADM7.08.
поэтому назначение большинства
клавиш такое же. как и в пере-
численных мониторах.
Возможности монитора:
- удобный оконный интерфейс;
- полноэкранный режим работы;
- два режима рабочей панели мо-
hutopa - Disassembler и List
позволяют просмотреть любой
участок памяти в виде кодов.
текста и команд ассемблера. в
том числе и ВСЕ нeдокумeнтир-
ванные команды;
- возможность редактирования
кодов. текста и регистров
Z-80;
- пошаговая отладка и tpaccu-
ровка с отслеживанием ре-
гистра R;
- организация работы Монитора
через резидент. занимающий в
48к памяти лишь 19 байт.дела-
ет StS2.6 незаменимым для
хаккера.так например можно
свободно загрузить и отладить
любой MAGIC-файл
- Монитор использует только ПЗУ
tR-DOS используя @-функции.не
портящие ОЗУ;
- позволяет использовать совер-
шенно нестандартные прошивки
ПЗУ BASIC;
- интерфейс для 128к aсeмблeров
типа tASM. ZXASM позволяет
оперативно отлаживать и ре-
дaктировaть набранные прог-
раммы;
- в мониторе используется
быстрая процедура печати сим-
волов размером 6*8 пикселей.
что позволяет печатать 42
символа в строке.
Подробное описание.
Управление панелями :
[CS+1] - User Screen
(переключение экранов)
[CS+3] или [CS+U] - Page Up
[CS+4] или [CS+Y] - Page Down
[SS+1] - Zoom/UnZoom panel
(управление размером панели)
[SS+2] - Up/Down panel
(перемещение панели)
[SS+3] - Dec/Нех Base
(десятичные/шестнадцатиричные
числа)
[SS+4] - Disassmebler/List Panel
(вид панели - дизассемблер или
дамп)
[CS+SPACE] - Escape - если Вы
неправильно что-либо ввели -
нажмите Escape
[M] - set Memory addres - уста-
новка адреса. с которого бу-
дет выводиться текст.
[В] - set Bank (Slot/RAM-pages и
т.п.) - значение для порта
#7FFD - 5. 6. 7-й биты = 0.
(маскируются). 3-й = 1 (ус-
тaнaвливaeтся 1-й экран).
См. также системный раздел.
Функции монитора :
[E] - sEtup - установка адреса
резидента.
См. также системный раздел;
Установка звука клавиш.цвета
панелей и курсора рeдaктировa-
ния(байт атрибутов). выход из
окна - [SPACE] или [CS+SPACE].
[I] - fIll block - заполнение
участка памяти блоком кодов
длиной 1..8 байт. символ "▒"
используется для определения
конца блока. передвигается с
помощью ввода новых символов и
DELEtE ([CS+0]).
[О] - cOpy block - копирование
блока памяти.
Резидент не восстанавливается !
[F] - Find bytes/text - поиск
блока байтов или текста по
'AND'-маске: байты из памяти
маскируются. т.e. биты с маской
1 остаются. с маской 0 выключа-
ются и сравниваются со значени-
ем в "bytes". Если последова-
тельность не найдена во всех
бЧкб памяти с текущим Bank. то
BORDER будет красным.
[N] - find Next - продолжение
поиска с позиции курсора.
Если панель в режиме "List". то
поиск будет производиться точно
в позицию курсора. В режиме
"Disassembler" поиск только в
самом верху панели из-за раз-
личной длины команд Z-80.
[Q] - Quit - выход:
- в tASM128
восстанавливается стек.
устанавливается Bank = #14.
и делается JP #C000
- в Бейсик (или ZXASM)
восстанавливается стек.
HL'.IY
устанавливается Bank = #10
и делается REt;
- Restart tR-DOS
устанавливается Bank = #10.
и JP 0 в ПЗУ tR-DOS.
Работа с диском.
[L] - Load file.[S] - Save file.
После ввода имени файла Монитор
читает каталог диска tR-DOS.
определяет наличие файла и вы-
дает в строках Start и Len ин-
формацию из каталога.
[SS+L]-Load sectors.
[SS+S]-Save sectors.
StSMon читает (пишет) 1..255
секторов tR-DOS в любую область
памяти. в любую страницу ОЗУ
(кроме 7).
При этом не изменяются никакие
системные переменные tR-DOS и
вообще никакие ячейки памяти
кроме Резидента и 7-й странички
ОЗУ. Поэтому пти отладке прог-
рамм. использующих системные
переменные (например #5CFЧ в
монолоадерах) их необходимо из-
менять вручную. Узнать текущий
track/Sector можно нажав [SS+L]
[ENtER] (аналог переменных
#5CFЧ-#SCFS).
StSMon может также прочитать
(записать) 1 сектор MS-DOS.
iS-DOS. и других систем. у ко-
торых длина сектора не равна
256 байтам в область памяти до
#C000.
Ограничение только одним секто-
ром связано с тем. что Монитор
использует @-функции ПЗУ tR-DOS
для доступа к диску.
По этой-же причине. если Вы ис-
пользуете диски со сбойными
секторами. во время чтения (за-
писи) Монитор может зависнуть.
Резидент восстанавливается.
его можно затирать. например
грузить @-файлы во все 48к.
Отладочные команды.
[SS+Z] - Step command - пошaго-
вое выполнение команд Z-80;
[SS+т] - Skip command - "перес-
кок" команды (только в ОЗУ).
использует команду [W];
[W] - BreakPoint - установка
точки останова. По ней отлaжи-
ваемая программа возвращается в
через Резидент в Монитор. три
байта точки останова после
возврата восстанавливаются. Не
использует Stack. Одновременно
можно использовать только одну
точку!
[SS+K] - Jump то РС - запуск
программы на выполнение с адре-
са в регистре РС. строку с этим
адресом подсвечивает белый
РС-курсор. При запуске остается
экран Монитора.
[X] - Alt.register - переключе-
ние нeборa регистров Z-80.
Окна:
[т] - trace - трассировка в по-
шаговом режиме с индикацией и
без индикации (для ускорения).
эмулируется команда [SS+Z].
[J] - Jump то address - запуск
программы на выполнение с про-
извольного адреса. При запуске
устанавливается User screen.
Возврат в монитор - по точке
останова.
При отладке необходимо сле-
дить. чтобы отлаживаемая прог-
рамма не испортила Резидент.
Индикация ошибок.
Из-за ограниченного объема
памяти. в StS Мониторе ошибочные
ситуации индицируются изменением
цвета BORDERa:
красный - последовательность не
найдена в 64к памяти
(команда Find)
голубой - нет места на диске.
желтый - номер сектора больше
15 (предупреждение).
Системная информация.
StSMon располагается с адре-
са 56064 (#DB00) в 7-й странице
ОЗУ. занимает примерно 9к и ис-
пользует все 16к этой страницы.
в том числе и второй экран. В
остальной памяти используется
только 19(!) байт для резидента.
Резидент - 19 байт. рaзмeщa-
емых в области #4000..#BFEE. ис-
пользуется монитором для чтени-
я/записи любой страницы памяти
(Bank). Резидент динамически из-
меняется (не всегда. см.примeчa-
ния к командам).
Для переключения порта конфигу-
рации со стандартным адресом
#7FFD=32765 используется команда
OUt (#FD).A причем регистр
A<#20. т.e. в битовом представ-
лении адрес порта выглядит:
бит : FEDCBA9876543210
значение : 000rspag11111101
где pag - номер страницы ОЗУ.
s - номер экрана.
r - номер ПЗУ.
При этом работа монитора возмож-
на на компьютерах. где определе-
ние этого порта происходит по 0
в битах F и 1. как на фирменном
SPECtRUM 128к (варианты сборки:
Pentagon128.PROFI.правильно рас-
ширeнныe Ленинград 1/2. Харьков.
Краснодар....) Если в дeшифрaто-
ре порта происходит определение
1 в битах E..8. то Вам придется
изменить схему. либо не исполь-
зовать StSMon 1-й и 2-й версий.
Возможно в 3-й версии это усло-
вие будет устранено.
3anyck из Бейсика:
OUt 253.23:RANDOMIZE USR 56064
Сведения об авторе:
StSMon2.6 написан
Дмитрием Пaрцыриным
(StALKER)
Харьков 1994г.
телефон: (0572) 45-25-69.
Other articles: