ACNews #06
01 ноября 2001
  Софт  

Софт - AC Edit'у - 3 года! Положительные стороны редактора, система плагинов, список плагинов.

<b>Софт</b> - 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.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Обзор - обзор игр: НIЕRARCY и Stаr Cоntrоl.
Новости - Цитата дня. Новость дня. Новости.
От автора - Начинается новый учебный год...
Открытые письма Nemo №2.6
Обьявления - и реклама.

В этот день...   20 апреля