ACNews
#06
01 ноября 2001 |
|
Софт - AC Edit'у - 3 года! Положительные стороны редактора, система плагинов, список плагинов.
==================== AC Edit'у - 3 года! ======================= ▄████▄ ┌·················┐ ████████ · A n a r c h i a · ██████████ └··············┬··┴············┐ ▐████▀ ▀███▌ · r e l e a s e · ████▌ ▓███ └···············┘ ▐████ ▐███▌ ▐████ ▐███▌ ▐████▌ ▓██ ▐▓███▌ ▀█▌ ▓████ ▌ ▐▓██▀▀ ' ▄███▌ ▄███▄ ▓▀▄███▄ ▄███▄ ▐▌ ▄██▄ ▄███▄ ██▀▀▌ ▄██▄ ▐█▀ ██▐█▀ ▀▀ ▐▐██▄▄█ ██▌▐█▌ ██ ██ ██ ██ ███▄ ▐█ ▐█ ██████▐█▄ ▄▄ ▐█▀▀▀ ▌██▌▐█▌ ██ ██ ██ ██ ▐█▌ ▀▀▀█ ▐█ █▌ ▀███▀ ▌▀███▀▄▀███▀ ▐▌ ▐▌ V ▀███▀▐▌▀██▀ ▀██▀ ██▄▄▄██▄▄▄▄▄█▄ ▄█▄▄▄▌ ▄████V█V███████V█▄ ▄▄ ███████ ██▓███████V██████V██▓▓███▀███ ▐▓▀ ▓██V████V████████▒▓█ ▄██ ▓▌nikf▓███V████V█V███▀ █▌ ▀ ▐█ ▄███████V███████▌ ▀█ ▓ ██▓▀ ▓██████V██V██▄▌ ▐▄ ▐▓▀ ██ ▓██▓██▓███ ▓▌ ▄█▓ █▌▐█▌ ▀▀ ▐▌ ▐▓▀ ▄█▓ ██▄ ▐▌ ▓ ▓▀ ▐▓▀ ▓███▌██ ▐▄ ▐▌ ▓▌ ▐██████ ▓ ▐█ ▓████▌ ▐▄ ▓ ▓▓▓█ ▐▄ ▀▀ ┌···································┐ · ZS-Scorpion compatible.(almost ;) · └···································┘ Положительные стороны: (начинаем гнуть пальцы) (то есть тьфу...загинать!) (ну я загнул ;) - Overwrite при Save; - После загрузки "L" - Load; - А вообще, для Load/Save нужно нажать всего 2 кнопки; - В Load видно трёхсимвольные расширения и длины файлов; - В Load/Save видно free sectors on disk (тоже полезно); - Режим 80 символов в строке; - Цвета, с возможностью отключения; - Смена фонового цвета; - Смена звука; - И музыки тоже смена :). Музыка с возможностью отключения; - Можно сменить шрифт 6x8 (а вот 4x8 - нельзя ;( в смысле - трудно ;)) - Работа с текстами в режимах CR и CR+LF; - Собственно, можно читать даже LF или LF+CR! - Курсор появляется наглядно; - Режим псевдографики; - Find ищет псевдографику и даже цветовые коды; - Возможность смены дисковода; - Функция центрирования строки; - 64k текста; - Фреймовый курсор (только скроллинг не фреймовый ;)) - Свободный (от текста) курсор; - Сохранение позиции курсора в тексте; - Специальный знак "" указывает на то, что строка шире экрана, а другой спецзнак ">"- что при этом следующий символ - пробел; - "Бегущее окно" отключается; - Спрайты в тексте; - Индикатор "текст изменён"; - Пометка стрелками; - 4 раскладки клавиатуры; - Автоскобки в режиме ЙЦУКЕН; - #3D13 (это плюс :)) - Автосохранение; - Поддержка 48k; - Command-Line Friendly; - Не надо далеко лазить, чтобы ввести символ по коду (CAPS) - Load packed; - Load помнит последний загруженный файл; - Reread Cat в Load; - Стирание слова и стирание строки - оба можно удерживать :) - Кнопка раздвижения символов в Overwrite; - Возврат в Real Commander v1.x; - Поддержка текстов с CHR$9 (tab) - Поддержка текстов в любой кодировке; - Автоперенос с автовыравниванием и расстановкой дефисов; - Красивое растягивание(поочерёдная обработка знаков препинания) - Буферизованная строка - залог скорости; - Печать на принтер (а вы знаете, что драйвер можно сменить по кнопке "M" в Load? Я сам только недавно догадался ;)) - Open sources, open author (редко кому не отвечаю ;)) - Разные курсоры для разных режимов; - Move Block <> Copy + Delete; - Шаг табуляции регулируется; - Горячая клавиша разламывания текста - SS/Enter; - Небольшой размер редактора (меньше - только ZX-IBM Editor) - Можно отключить движение курсора после ввода символа; - Перекодирование русской "Н" в латинскую, отключабельное; - Undo текущей строки; - 2 Enter'а: с табуляцией и без (CS/Enter); - Можно сменить раскладку клавиш с Extend; - PlugIn system ;) ----------------------- PlugIn System -------------------------- Кнопка "M" в меню Load грузит и запускает что угодно ;) Как известно,с недавних пор в AC Edit можно загрузить музыку. А что будет, если вместо компилированного музыкального модуля загрузить совершенно не имеющий отношения к делу кодовый блок? В первом приближении можно ответить так: он выполнится... А точнее - выполнится,если первой его командой будет DI или LD HL. Причём во втором случае он будет дополнительно вызываться каждое преры- вание с адреса старта плюс 5 (или плюс 6). Отсюда следует, что редактор способен вызывать внешние прог- раммы, которые после выполнения возвращаются в редактор. Более того, программа может быть резидентной, то есть постоянно сидеть в памяти и ожидать, скажем, нажатия клавиши. Так сказать, открытая архитектура ;) Когда я решил написать какой-нибудь модуль под это дело, то обнаружил пару недостатков этой системы: во-первых, выключается музыка, во-вторых, модуль не знает состояний переменных редакто- ра (например, размера текста). Исправить недостатки я постарался попроще, так что возможно, что все ещё изменится... В общем, сделано так: - Если модуль грузится ниже #8000, то музыка не выключается. Если выше, то это,должно быть,резидент,который с музыкой дружить не должен. - В системных переменных TR-DOS, а именно в "дескрипторе те- кущего файла" (#5cdd - #5cec) хранятся переменные редактора: имя файла (#5cdd-e5), адрес начала текущей строки (#5ce6-e7) и длина файла (#5ce8-e9). Их значения можно не только считывать,но и из- менять. - В системной переменной бейсика #5c82 (ECHO_E) расположены координаты курсора X и Y. Мне показалось, что тут самое логичное для этого место. Постарайтесь возвращать Y<23 ;) Скорее всего, адрес начала текущей строки будет перенесён в #5c59 (E_LINE), но я ещё не решил. Модуль, перемещающий куски текста, должен переставлять указа- тель текущей строки на начало какой-нибудь строки (проще всего - на ноль :)) Вызывать процедуры редактора нельзя и долго будет нельзя, по- скольку их адреса меняются от версии к версии, а под керналь вызовов мне жалко память.Всё равно модули писать способна только горстка особо одухотворённых людей,которые могут написать/скопи- ровать из сорсов редактора такие процедурки самостоятельно ;) Вот что не изменится в ближайшее время: #8100 - там лежит шрифт 6x8 в экранном формате,сдвинутый вправо. #6000-#7fff - эта память свободна на момент выполнения модуля. #5b00-#5bff - драйвер принтера (было предложение сделать его по- дгружаемым...подумаем ;)) #c000, pages 0,3,6,1 (в таком порядке!) - текст. Окончания строк соответствуют текущему режиму,заданному в SetUp. Перед началом блока спрайтов стоит код #00. #c000-#ffff, page 4 - страничка для музыки или резидента. #c000-#ffff, page 7 - Real Commander 1.x, которого может и не быть. Можно затирать ;) В обработчике прерываний сначала вызывается опрос клавиш (RST 56), а потом резидент. Это сделано для того, чтобы резидент мог успеть изменить соответствующие системные переменные. Вопросы к потенциальным авторам модулей: - Нужна ли проверка на DI или LD HL при запуске модуля? Эта проверка - всего лишь "защита от дурака" и не несёт смысловой нагрузки, зато,к примеру,из-за этого в редактор нельзя загрузить STS ;( - Какая подпрограмма редактора настолько необходима большинс- тву модулей,что её стоит сделать доступной для вызовов? - Где лучше всего разместить переменные редактора: начало по- метки, конец пометки? Какие ещё? ---------------------------------------------------------------- --- Plugins list: 1) "aceNoCol" - убивает цвета в текущем тексте. При этом текст немного уменьшается за счёт удаления цветовых кодов в конце строки. Спрайты не портятся. 2) "ace00<>3" - в текущем тексте символ с кодом #00 заменяется на символ с кодом #03 и наоборот, что позволяет редактировать глючные тексты с нулями посредине. Спрайты портятся. 3) "ace64qua" - установка "квадратного" шрифта 4x8. Для фанатов Born Dead ;) 4) "aceUNkoi" - перекодирование текущего текста из кодировки KOI в более стандартную альтернативную. 5) "aceUNwin" - перекодирование из кодировки WIN - ANSI. 6) "aceRADUG" - скринсавер ;) Не резидентный,сам не запускается. Можно было бы и резидентом, но музыку слушать охота ;) Написан нечестно, т.к. перехватывает вызов обработчика прерывания ;( ──────────────────────── Save SetUp ──────────────────────────── Warning! Используйте эту опцию как можно реже,так как не про- изводится проверка на то, вставлен ли диск,есть ли на нём редак- тор,а если да,то та ли копия,что была запущена и т.п. Просто перезаписывается первый сектор бейсик-загрузчика.Отку- да он загружен,становится известно из #5ceb (track-sector в "де- скрипторе файла").Осторожно! Есть вероятность,что существуют за- грузчики бейсик-файлов,которые не изменяют "дескриптор файла"!!! Если они всё-таки есть,просьба сообщить мне о них! Во время работы редактора информация из #5ceb сохраняется в #5e7c. Просьба не затирать бейсик-файл модулями! ────────────────────────────────────────────────────────────────
Другие статьи номера:
Новости - В эмуляторе Z80Stealth прерывания приходят 55 раз в секунду! |
Сенсация - Контроллер IBM-совместимой клавиатуры и мыши для любого ZX Spectrum компьютера (Инструкция по работе и подключению). Как написать собственный драйвер для ZX-Word |
Софт - AC Edit'у - 3 года! Положительные стороны редактора, система плагинов, список плагинов. |
Софт - Настройка горячих клавиш и Смена курсоров в ACEdit. |
Почётные и Вечные - Список Заслуженных Пользователей AC Edit. |
Похожие статьи:
В этот день... 21 ноября