ZX Review #7-8-9-10
08 ноября 1997

Программы, которые мы выбираем - Предложения по доработке ZX Word v2.5.

(c)  Давыдов В.М., Нижегородская
обл., с.Запрудное

    Есть предложение ввести руб-
рику переписки с авторами  прог-
рамм, как с потенциальными авто-
рами принципиально  новых  прог-
рамм, так и  с  авторами  сущес-
твующих. Большинство программис-
тов в выходных  данных  программ
указывают только номер телефона,
да и то не  всегда.  А, учитывая
некоторые  особенности  телефон-
ной  связи, позвонить  в  другой
город для  обсуждения  техничес-
ких особенностей программы весь-
ма проблематично.  Дмитрий  Пар-
цырный в описании STS  дал  свой
домашний адрес. Но ему  вряд  ли
доставляет  удовольствие  терять
время на чтение писем с вопроса-
ми типа: "А как мне сделать...".
    Польза будет обоюдная. Прог-
раммисты смогут  узнать, что  не
удовлетворяет  пользователей,  и
учесть  пожелания  в   следующих
версиях. А  пользователи  смогут
сообщить  программистам  о  том,
какого  характера  программы  их
более всего интересуют в ближай-
шее время и  в  отдаленной  пер-
спективе.  Если  будет  обратная
связь между потребителями и про-
изводителями программного  обес-
печения, то,  по  крайней  мере,
программист  не  будет  мучиться
сомнениями о том, к чему бы при-
ложить свои способности.

    Кажется,  уже  давно  пришло
время для разработки  текстового
редактора, использующего  память
128К и выше. Идеал для  подража-
ния  -  LEXICON  от IBM-PC, хотя
повторить на Спектруме  все  его
возможности вряд ли кому  удаст-
ся.
    Поскольку  ZX-WORD   получил
достаточно широкое распростране-
ние, выскажу свои мысли  о  том,
что можно добавить к имеющимся в
версии 2.5 функциям.
    - Ввести переключаемый  зна-
когенератор с матрицами 4х8, 6х8
и,  может,  даже  8х8  пикселов.
Постоянно пользоваться  матрицей
4х8 не очень  удобно.  Некоторые
знаки сливаются и плохо различи-
мы, из-за чего возрастает  коли-
чество опечаток.
    - Ввести отключаемые  режимы
автопереноса и  автоформатирова-
ния. То есть, если  не  нажимать
"ENTER", то при выходе  вводимо-
го слова за правую границу  сло-
во переносится на начало следую-
щей строки, а предыдущая  форма-
тируется в соответствии с  уста-
новленными границами. При  нажа-
тии "ENTER" курсор переносится в
позицию красной строки.  Кстати,
в  первых  версиях  ZX-WORD  при
форматировании текста слова  до-
вольно точно делились на  слоги.
В последних версиях  этого  нет.
Не мешало бы возобновить.
    - Модифицировать   процедуру
экранной печати  таким  образом,
чтобы вместо отображения  после-
довательностей  управляющих  ко-
дов включения и выключения двой-
ной ширины знаков  EPSON-совмес-
тимого принтера  изменялась  ши-
рина символов, печатаемых на эк-
ране. Наглядность текста  значи-
тельно увеличится. Пользователи,
имеющие принтеры, не совместимые
с  EPSON, могут  преобразовывать
эти управляющие последовательно-
сти в своих драйверах.
    Естественно, процедура  фор-
матирования также должна  учиты-
вать ширину символов.
    Для того, чтобы меньше засо-
рять текст управляющими  кодами,
можно не печатать на экране ESC-
последовательности   жирного   и
курсивного шрифтов, а для их ин-
дикации  использовать  изменение
цвета фона. При  матрице  6х8  и
8х8 эти шрифты вполне можно сге-
нерировать.
    - Ввести команду  выравнива-
ния  строки  без  форматирования
последующего текста.
    - В  редакторе  "ZX/IBM EDI-
TOR" (Олег  Хохлов)  в  информа-
ционной  строке  выводится   код
символа, на котором  стоит  кур-
сор.  Довольно  удобно, особенно
для анализа  последовательностей
управляющих кодов.
    - Снять ограничения на  раз-
мер текста. Для этого ввод и ре-
дактирование текста осуществлять
в буфере объемом 16К для компью-
тера с объемом памяти  48К  и  5
страниц по 16К при памяти  128К.
Хотя реально его размер при заг-
рузке текста  будет  меньше, так
как  нужно  предусмотреть  место
для вставки текста при  редакти-
ровании.  При  этом  на  кодовый
блок редактора  остается  память
от #6000 до #BFFF. При  заполне-
нии буфера редактирования  выда-
вать  предупредительное  сообще-
ние, после которого пользователь
должен установить курсор в стро-
ку, начиная с которой текст дол-
жен остаться  в  памяти.  Текст,
от начала буфера  до  предыдущей
строки включительно, записывает-
ся во временный файл  на  диске,
оставшаяся часть текста  перено-
сится в начало буфера, и на  ос-
вободившееся место  подгружается
следующая порция  текста.  Таким
образом, на диске создается  се-
мейство файлов размером 255 сек-
торов (кроме последнего). Для их
идентификации  можно   использо-
вать два байта заголовка  файла,
в которых хранится адрес загруз-
ки, не имеющий смысла  в  данном
случае. Один байт  выделить  для
расширенной  спецификации   типа
файла:  временный  файл, исполь-
зуемый  для  записи;  постоянный
файл, созданный в предыдущем се-
ансе работы, с которого произво-
дится  чтение;  резервная  копия
текста (.BAK файлы  на  IBM-PC).
Второй байт использовать для но-
мера файла. При выполнении  опе-
рации  записи  файла   резервные
файлы удаляются, постоянные фай-
лы  переименовываются  в  резер-
вные, временные - в постоянные.
    - Ввести режим  автоматичес-
кой нумерации страниц при  печа-
ти на принтере  заданного  коли-
чества строк или после кода  пе-
ревода  формата,  который  имеет
смысл передавать принтеру.
    - Ввести режим  качественной
печати  в   графическом   режиме
принтера с использованием загру-
жаемого набора символов.
    - Для  увеличения   скорости
форматирования   можно  изменить
способ расположения текста в па-
мяти. Ввести фиксированную  дли-
ну строки, задавамую пользовате-
лем. В первым байте  записывает-
ся рассчитанная фактическая дли-
на, затем текст  строки.  Завер-
шающие строку  коды  #0D, #0A  в
памяти  не  хранятся.   Выделить
служебный  блок  длиной  в  один
сектор, в котором записывать за-
данную пользователем  максималь-
ную длину строки и все  изменяе-
мые параметры редактора  на  мо-
мент записи.
    Процедура форматирования  по
фактической длине строк выделен-
ного блока и параметрам формати-
рования должна  определять  ожи-
даемое уменьшение  или  увеличе-
ние количества строк. При умень-
шении  количества  строк  особых
проблем  не  возникнет.  В  про-
цессе  форматирования  возникнет
группа пустых строк нулевой дли-
ны, которые нужно будет удалить,
переместив  оставшийся  текст  к
концу отформатированного  блока.
При увеличении количества  строк
нужно будет предварительно  соз-
дать группу пустых  строк  перед
началом  форматируемого   блока,
переместив участок текста от на-
чала выделенного блока  до конца
загруженной части в конец буфера
радактирования.



Другие статьи номера:

TR-DOS для начинающих - Окончание.

Компьютерная новелла - Prince of Persia.

Компьютерная новелла - Лазерная бригада (по игре Laser Squad).

Перекресток драконов - Игра Rapscallion.

Перекресток драконов - Игра The Runes of Zendos.

Перекресток драконов - Игра The Saga.

Перекресток драконов - Игра Witch's Cauldron.

Перекресток драконов - Создаём Адвентюру. Обзор редакторов.

Перекресток драконов - Создаём словарь к Адвентюрной игре.

Программы, которые мы выбираем - Возможные последствия использования недокументированных команд.

Программы, которые мы выбираем - О замеченных шероховатостях в работе некоторых программ и пожелания к следующим версиям.

Программы, которые мы выбираем - Предложение ко всем авторам программ, печатающих дамп памяти. Программистам, использующим защиту дисков от копирования.

Программы, которые мы выбираем - Несколько предложений по усовершенствованию ассемблера.

Программы, которые мы выбираем - Предложения по доработке ZX Word v2.5.

Программы, которые мы выбираем - Программа "Эмулятор Спектрума" v1.2.

Программы, которые мы выбираем - Что хотелось бы иметь в идеальном ассемблере.

Ретро - 40 лучших процедур: Копирование данных в памяти.

Ретро - 40 лучших процедур: Обмен токена.

Ретро - 40 лучших процедур: Определение адреса БЕЙСИК-строки.

Ретро - 40 лучших процедур: Определение длины БЕЙСИК-программы.

Ретро - 40 лучших процедур: Определение размера свободной памяти.

Ретро - 40 лучших процедур: Поиск и замещение строки.

Ретро - 40 лучших процедур: Поиск подстроки.

Ретро - 40 лучших процедур: Поиск строки.

Ретро - 40 лучших процедур: Составление списка переменных.

Ретро - 40 лучших процедур: увеличение и копирование экрана.

Ретро - 40 лучших процедур: Удаление REM-строк.

Ретро - 40 лучших процедур: Удаление блока программы.

Советы экспертов - Игра Fredloader.

Советы экспертов - Игра Robin of Sherwood: The Touchstones of Rhianon.

Советы экспертов - Игра Scorpions: Die Machines.

Советы экспертов - Игра Terropods.

Страничка iS-DOS - Описание рестартов системы IS DOS.

Форум - Алгоритм распознавания символов.

Форум - Время выполнения недокументированных команд процессора Z80.

Форум - Концепция экрана высокого цветового разрешения.

Форум - Несколько Pokes к играм. Программа Hacman96.

Форум - По поводу новых DOS и BIOS для Спектрума.

Форум - Программа Multicolor на любой модели компьютера. Использование 2-го экрана для Multicolor'а. Демонстрация текста. Электронные журналы.

Форум - Проект ZX Config.

Форум - Усовершенствование Art Studio. Идеи относительно компрессии файлов.

Форум - Эмулятор ZX Spectrum на IBM. По поводу шестнадцатеричной системы счисления. Программа ZX-Stars. Странности в Elita

Форум - Эффекты на бордюре и Multicolor.

Читатель-читателю - ZX Spectrum 128 - новые возможности, новые проблемы.

Читатель-читателю - Группа 'Light'. Спектрум и экспертная система.

Читатель-читателю - Драйвер принтера для Scorpion'а.

Читатель-читателю - Печать чисел в различных системах счисления.

Читатель-читателю - Программирование аркадной игры со скроллингом экрана.

Читатель-читателю - Процедура печати меток ассемблера XAS для монитора-отладчика STS 4.3.

Этюды - Атрибутная бегущая строка. "Гасилка" экрана. Упрощенный вариант процедуры "Занавес". Процедура гащения картинки. Процедура проявления картинки по точкам.

Этюды - Графический эффект "цветные полосы".

Этюды - Драйвер экрана для печати по 64 символа в строке.

Этюды - Комплект защит загрузчиков.

Этюды - Обращение к диску в режиме IM 2. Работа с диском нестандартного формата.

Этюды - Печать символа, увеличенного в 8 раз. Программа "наливания" экрана. Процедура гашения экрана по точкам. Очистка экрана как в Terminator'е. Поиск последовательности символов в памяти. Система перекодировки символьного набора.

Этюды - Программа - каталогизатор дисков.

Этюды - Программа вывода значений амплитуды каналов муз. сопроцессора на бордюр.

Этюды - Программа вывода картинки.

Этюды - Программа зажигания спрайта.

Этюды - Программа очистки заданного окна экрана.

Этюды - Программа сортировки массива по возрастанию. Процедура заполнения экрана заданным атрибутом. Процедура проявления картинки. Эффект летящих навстречу звезд. "Душ", идущий из верхнего левого угла экрана. Процедура "осыпания" картинки по пиксельным линиям. Программа "вытягивания" картинки под углом в 45 градусов. Три процедуры "Scroll".

Этюды - Процедура печати чисел.

Этюды - Процедура прорисовки символа с помощью атрибутов.

Этюды - Процедура проявления картинки. Fade-OUT эффект (картинка уходит за края экрана). Графический эффект "Фонтан". Fade-OUT эффект, имитирующий выключение телевизора. Процедура "зажигания" картинки. Программа плавной прорисовки картинки.

Этюды - Процедура рисования линии.

Этюды - Процедура составления оптимальной таблицы символов.

Этюды - Скроллинг строк текста в заданном окне. Атрибутный скроллер. Диагональный скроллинг.

Этюды - Спрайтовый скроллер. Процедуры проявления экрана.

Этюды - Укороченная процедура индикации амплитуды каналов муз. сопроцессора. Способ вычитания константы из регистровой пары HL.

Этюды - Формула для вычисления дня недели.


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

Похожие статьи:
Проекты - Сетевой "Спектрум". Соображения о направлении развития Спектрума как сетевого компьютера.
Новости - новый ассемблер Masm 2.0.
Навiны - Hackerz Top'99 перенесен на лето.

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

Релизов не было :(