Этюды в программировании на ассемблере Z-80 — Abzac


PeriodicalsAbzac2003 No. 15 → Этюды в программировании на ассемблере Z-80

Этюды в программировании на ассемблере Z-80

Предлагаю поработать над новым проектом - брошюрой: «Этюды в программировании на ассемблере Z-80».


Название брошюры пока рабочее, поэтому впоследствии может поменяться на более лаконичное.


Кто автор?

- Одним из авторов буду я сам;

- Приглашаю к сотрудничеству всех заинтересованных лиц.

- Подборка процедур из ZX-Ревю тоже была бы большой помощью.


Есть ли необходимость в такого рода брошюре/книге?

- Такого еще небыло и пока нет;

- Мне самому была бы нужна такая брошюрка (и как уже сейчас оказывается, не только мне);

- Спрашивать у народа нужно ли это вообще, я не привык, иначе мы бы не увидели и Абзаца. Нужно действовать!


Как это будет выглядеть?

- Примерно так же как и газета Абзац, только потолще. Сейчас идет поиск более дешевой печати. Если будет возможность, то воспользуемся услугами типографии.


Что можно ожидать за сотрудничество?

- За пару процедур предложить ничего не сможем, разве что только упоминание вашего авторства;

- Один/два экземпляра будущей брошюры за весомый вклад в дело;

- Стать распространителем данной брошюры за свой счет у себя в регионе.


Каковы сроки выхода?

- Заранее сказать ничего нельзя, но можно с уверенностью сказать, что на это потребуется не менее года, возможно даже больше.


В каком виде предоставлять материалы?

- Самый удобный вариант, естественно, будет электронный, т.е. на каком-то носителе, в текстовом формате любого редактора. Все материалы высылайте на адрес редакции.


Примерное содержание будущей брошюры:

0. Введение от автора(ов).

1. Арифметика (сложение, вычитание, умножение, деление, корни, степени, sin, cos, и т.д. Возможно описать работу с большими числами).

2. Расчет адресов в экране (атрибуты, пиксели).

3. Работа со спрайтами (формат хранения в памяти, расчет адреса, вывод, зеркальный поворот и т.п.).

4. Опрос клавиатуры, джойстиков.

5. Звуки (Beep`er, AY, GS, DMA).

6. Работа с текстом (вывод, расчет, сжатие, кодировки ALT, WIN, KOI, встраивание цвета в текст, форматы шрифтов, компрессия шрифтов).

7. Компрессоры/декомпрессоры текста, либо каких-то специфичных данных (короткие и примитивные).

8. Работа с расширенной памятью (порты известных компьютеров, подсчет памяти, драйвера переключения страниц, универсальный драйвер).

9. Работа с принтерами (порты, тестирование, печать).

10. Работа с дисководом (обработка ошибок, быстрые драйверы).

11. Тестирование подключенных устройств либо их наличие и работа с ними (винчестер, CD Rom, мышь, модем, принтер, джойстики, GS, DMA, процессор, AY, режим турбо/не турбо, Cmos-часы и др.)

12. Маленькие хитрости (нестандартные приемы в программировании, но это не означает использование недокументированных команд).

13. Большие хитрости (может быть сюда можно отнести вывод экрана за прерывание и т.п. процедуры).

14. Разное (всевозможные коротенькие процедурки, может быть те же самые гасилки/затухалки из ZX-Ревю и т.п.).

15. Идеи (здесь можно просто описать некоторые идеи, которые из-за своего большого объема не поместятся в данную брошюру. Возможно раздел будет объединен с «большими хитростями»).

16. Литература (по возможности описывать откуда взяты процедуры, либо их авторство).

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