(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.