ZX-Forum №2 1993 г.

Авторская разработка - Видеопорт: Устройство для ввода изображений, закодированных в видеосигнале, в ZX-совместимые компьютеры, с программным обеспечением.


ВИДЕОПОРТ

© Манилов А.П., г. Москва, 1994 г.

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

Введение.

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

- персональные компьютеры;

- специализированные компьютерные системы.

Рассмотрим каждое из этих направлений.

Персональные компьютеры, оснащенные развитыми системами ввода/вывода, способны удовлетворить любые потребности человека в области получения, переработки и передачи информации. Под информацией понимается текст, речь, музыка, графика и движущиеся изображения. Единственный "минус" - это необходимость человеку, работающему с компьютером, прикладывать свою голову для достижения нужного результата. Если рассмотреть систему, состоящую из персонального компьютера, устройств ввода/вывода и человека, то эта система даёт возможность и подталкивает человека изменять параметры системы для достижения своих целей. Самым простым в этой системе, для выполнения какой-то цели, является изменение в программе работы компьютера. Такими изменениями можно сменить картинку, которая Вас не устраивает, ввести "вечную жизнь" или самому написать самую лучшую в мире игровую программу. Более существенные изменения могут произойти в системе при введении в нее новых устройств ввода/вывода. Так, возможности системы ПК + УВВ + ЧЕЛОВЕК резко увеличиваются при оснащении ZX дисковой системой. Это даёт доступ к сложным играм, программам, работающим с базами данных и т.д. Подключение к ZX-Spectrum принтера расширяет применение компьютера и создает дополнительные удобства.

А Вы пробовали нарисовать картинку с помощью графического редактора ARTSTUDIO? Если у большинства ничего путного не получилось, то это не потому, что ZX плохая машина или ARTSTUDIO сделали тупицы. Этот результат закономерен, поскольку способностью к рисованию обладают не все люди. Но ведь иногда хочется в своей программе поместить хорошую картинку? Такую возможность Вы можете получить, оснастив свой ZX-Spectrum устройством ВИДЕОПОРТ.

О втором пути вхождения компьютеров в жизнь людей. Это специализированные компьютерные системы, которые не дают никаких шансов человеку изменить что-либо. Т.е. данная система не включает в себя человека и существует сама по себе. Можно привести много примеров: предсказатели погоды, игровые приставки, системы связи с базами данных, работающие по жесткой программе и т. д. Думается, что читатели - это приверженцы первого направления развития компьютеров и автор надеется, что предлагаемое устройство ввода изображений - ВИДЕОПОРТ -поможет Вам расширить возможности Вашего ZX-Spectrum.

Идея разработки была почёрпнута автором из публикации ZX-РЕВЮ-1991 г. (стр. 121), в которой сообщалось о существовании устройства "Videoface" фирмы "DATA-SCIP". Не имея представления о принципах построения "Videoface", автор назвал свое устройство ВИДЕОПОРТ. Название связано с тем, что данное устройство играет роль порта ввода, но не для цифрового сигнала, а для видеосигнала. ВИДЕОПОРТ подключается к видеовыходу телевизора, видеокамеры, видеомагнитофона. Место устройства в системе показано на Рис.1.

К компьютеру ВИДЕОПОРТ подключается через буферизированную шину внешних устройств. Питание устройства может быть осуществлено от блока питания дисководов (+12v,+5v).

Рис. 1.

Под управлением программы, загруженной в ZX, кадр изображения копируется в ОЗУ устройства, затем читается в ZX-Spectrum, перекодируется в формат экрана и отображается на дисплее. Полный цикл смены изображений на экране дисплея - примерно одна секунда. Полученное изображение может быть сброшено на диск или ленту. Возможны варианты программ для дисковода или магнитофона.

Как использовать полученные картинки? Если учесть, что 70% информации человек получает через зрительный канал ввода данных, то можно предположить, что введение в систему ZX-Spectrum предлагаемого устройства потенциально увеличивает её мощность примерно в два раза. Правда, сам компьютер не сможет реализовать этих возможностей без участия человека. Таким образом, данное устройство с описанным ниже программным обеспечением позволяет пользователю получить копию видео-кадра на экране ZX-Spectrum и сохранить её в виде файла на диске или ленте. Ознакомиться с мнением автора на проблему использования картинок можно в разделе "Ну а что с этим SCREEN делать?".

Технические характеристики устройства.

- входное сопротивление по видеовходу............................................................................100 Ом

- амплитуда входного сигнала.............................................................................................0,5-1 В.

- частота дискретизации видеосигнала..............................................................................7 МГц.

- число строк, запоминаемое в ОЗУ....................................................................................312

- напряжение питания..........................................................................................................+12, +5 В.

- потребляемый ток по цепи +12В......................................................................................40 мА.

по цепи + 5В........................................................................................320 мА.

- имеется возможность ручной установки контрастности и баланса белого.

- подключается к ZX-Spectrum совместимым компьютерам через буферизированную шину

внешних устройств.

Программное обеспечение, сделанное автором, работает в среде ОС IS-DOS. Выбор определился так, поскольку IS-DOS - перспективная система для Spectrum-совместимых ПК, имеет в своем составе программы вывода на печать картинок, программы упаковки и распаковки файлов картинок. Помимо описания этой программы, в разделе "Программное обеспечение" представлены программы для работы в TR-DOS и для работы с магнитофоном.

Функциональная схема устройства.

Принцип работы устройства ВИДЕОПОРТ поясняется функциональной схемой, приведенной на рис. 2.

Перечислим функциональные устройства с указанием их назначения: СОГЛАСУЮЩЕЕ УСТРОЙСТВО - предназначено для согласования внешней цепи.

УСТРОЙСТВО ВЫДЕЛЕНИЯ СИНХРОСИГНАЛОВ - обеспечивает выделение из видеосигнала строчных синхроимпульсов (СИ) и кадровых синхроимпульсов (КИ). Обеспечивает подавление помех и выдает СИ и КИ со стабильной длительностью и амплитудой.

КОМПАРАТОР - обеспечивает формирование уровня видеосигнала и сравнение с заданным уровнем. Имеет ручное управление уровнем видеосигнала и уровнем срабатывания компаратора.

ФОРМИРОВАТЕЛЬ ТАКТОВЫХ СИГНАЛОВ - определяет частоту дискретизации видеосигнала и обеспечивает синхронизацию работы сдвигового регистра и схемы управления ОЗУ.

СДВИГОВЫЙ РЕГИСТР - служит для фиксации состояния выхода компаратора и формирования байта данных.

ОЗУ - накопитель данных, хранит копию кадра.

СХЕМА УПРАВЛЕНИЯ ОЗУ - формирует адрес ОЗУ, сигналы чтения и записи в соответствии с режимом работы.

РЕГИСТР ДАННЫХ - служит для передачи данных из ОЗУ в шину данных ZX-Spectrum.

РЕГИСТР УПРАВЛЕНИЯ - предназначен для передачи управляющих сигналов от компьютера к схеме управления ОЗУ.

РЕГИСТР СОСТОЯНИЯ - служит для передачи состояния устройства в компьютер.

ДЕШИФРАТОР - обеспечивает дешифрацию сигналов системной шины ZX-Spectrum при обращении к регистрам данных, управления и состояния.

Устройство работает в двух основных режимах:

- режим записи в ОЗУ, инициируется компьютером;

- режим чтения ОЗУ, идет под управлением компьютера.

Режим ожидания возникает по окончании любого основного режима. Признак режима ожидания - высокий уровень сигнала ГОТОВ, при высоком уровне сигнала РЕЖИМ от компьютера.

Рассмотрим режим записи в ОЗУ. Для наглядности объяснения работы устройства, на рис. 3 приведена циклограмма сигналов, обозначенных на функциональной схеме.

До момента t0 уровни сигналов, указанные на циклограмме, блокируют запись в ОЗУ. Устройство находится в режиме ожидания. В момент t0, по команде ZX-Spectrum, переданной через регистр управления, сигнал РЕЖИМ устанавливается в "0". По этому сигналу схема управления ОЗУ переходит в состояние ожидания кадрового импульса (КИ).

Рис. 2.

При получении КИ в момент t1 схема управления ОЗУ обнуляет сигнал ГОТОВ. Этот момент соответствует началу записи картинки в ОЗУ. Компьютер, получив через регистр состояния сигнал ГОТОВ, соответствующий логическому нулю, устанавливает уровень сигнала РЕЖИМ в единицу и переходит в состояние ожидания конца записи в ОЗУ. Это событие произойдет через 20 мсек от t1 в момент tk. Начиная с момента t1 всеми процессами в устройстве управляет схема управления ОЗУ.

В момент t1 адрес ОЗУ сбрасывается в 0. Начинается преобразование видео-сигнала в последовательность байт. Формирователь тактовых сигналов синхронизируется строчными синхроимпульсами. Выходные сигналы формирователя, сигналы СТРОБ и СДВИГ сдвинуты относительно друг друга, что обеспечивает согласованность работы сдвигового регистра и схемы управления ОЗУ.

Каждый СИ увеличивает адрес ОЗУ до значения, кратного 64.

Каждый импульс ФИКСАЦИЯ увеличивает адрес ОЗУ на 1.

Рис. 3.

Сигнал СДВИГ, поступающий на сдвиговый регистр, обеспечивает запоминание уровня на выходе компаратора в сдвиговом регистре. По каждому восьмому сигналу СТРОБ схема управления ОЗУ формирует сигналы ЧТЕНИЕ, ФИКСАЦИЯ сдвигового регистра и ЗАПИСЬ ОЗУ. Кроме этого, схема управления ОЗУ увеличивает адрес ОЗУ на единицу. Таким образом, происходит запись в ОЗУ строки изображения.

При поступлении очередного строчного синхроимпульса на схему управления ОЗУ, происходит установка адреса ОЗУ соответствующего первому байту новой строки. Далее все происходит так же, как для предыдущей строки. Таким образом, строка за строкой, в ОЗУ возникает копия изображения. В этой копии бит имеющий значение 1 соответствует темному участку изображения, а значение 0 - светлому участку.

При поступлении очередного кадрового импульса на схему управления ОЗУ процесс записи ОЗУ прекращается, сигнал ГОТОВ устанавливается в единицу. Устройство ВИДЕОПОРТ переходит в режим ожидания команд от компьютера. В этом режиме устройство может находиться до снятия питания, при этом копия картинки в ОЗУ будет сохраняться.

Рассмотрим режим чтения ОЗУ. Для наглядности, на рис. 4 приводится циклограмма сигналов в режиме чтения ОЗУ.

Режим

Рис. 4.

Этот режим идёт полностью под управлением компьютера. Все сигналы передаются через регистр управления. Для начала процесса чтения ОЗУ выдается сигнал СБРОС АДРЕСА. В результате схема управления ОЗУ установит адрес в нуль. Перед чтением, если нужно, можно установить номер строки и номер байта в строке. Для этого достаточно подать на схему управления ОЗУ соответствующее число сигналов СЧЕТ СТРОК и СЧЕТ БАЙТ. После этого можно прочитать содержимое байта ОЗУ, для чего нужно выдать сигнал ЧТЕНИЕ через регистр управления и принять данные от регистра данных. Таким образом, можно считывать данные, из ОЗУ начиная с любой строки и с любого байта в строке. Это позволяет выбрать нужную часть из всего видео-кадра для преобразования в размер стандартной картинки ZX-Spectrum.

Весь обмен командами и данными между устройством и ZX-Spectrum осуществляется через регистры. Активизация регистров производится дешифратором, который анализирует сигналы системной шины ZX-Spectrum и выдает соответствующие сигналы выборки регистров по командам IN, OUT с соответствующими адресами портов.

На этом описание функциональной схемы заканчивается.

Принципиальная схема устройства ВИДЕОПОРТ.

Перечень используемых элементов.

D1,D2,D3

- 537РУ17

D4,D5,D6,D7,D16

- 555ИЕ10

D8,D17

- 555ТМ2

D9,D23

- 555ИД7

D10,D13,D14

- 555ЛН1

D11,D12,D15

- 555ЛИ1

D18

- 155ИР13

D19,D20,D21 ,D22

- 555ИР22

D24

- 174ХА11

VT1,VT2,VT3

- КТ315

VD1-VD9

- КД522

VD10

- АЛ307

R1,R2,R5,R7,R6,R25,R21,R35

- 5.1 КОМ

R3,R4

- 680 ОМ

R8

- 1.6 КОМ

R9

- 200 ОМ

R10

- 510 ОМ

R11,R16

- 27 ОМ

R12

- 33 KOM

R13

- 2.2 MOM

R14

- 1.5 KOM

R15

- 1.8 MOM

R17 подстроеч.

- 4.7 KOM

R18,R20

- 82 KOM

R19

- 12 KOM

R22

- 6.8 KOM

R23

- 22 KOM

R24,R27

- 10 KOM

R26

- 47 KOM

R28

- 820 OM

R29

- 270 OM

R30,R37

- 120 OM

R31 переменный

- 3.3 KOM

R32 переменный

- 1.5 KOM

R33

- 2.2 KOM

R34,R36

- 3 KOM

Rдоп

- 220 ОМ

C1,C5

- 0.1 МКФ

С2

- 4700 ПФ

С4,С8,С10,С14

- 0.22 МКФ

С6,С18

- 100 МКФ

С7

- 6800 ПФ

С9

- 100 ПФ

С11

- 0.047 МКФ

С12

- 0.01 МКФ

С13,С15,а5*,С16,С17

- 4.7 МКФ

С19-С41

- 0.15 МКФ

Сдоп - 20 МКФ X 16В

Q1 - 14 МГЦ

Примечание: С19-С41 - керамические конденсаторы по цепи +5В; установлены по одному на каждый корпус микросхемы.

Описание принципиальной схемы, приведенной на рис. 5, построено на раскрытии устройств, изображенных на функциональной схеме. Согласующее устройство выполнено на транзисторах VT1, VT2. Каскад на VT1 - эмиттерный повторитель, обеспечивающий согласование линии передачи видео-сигнала с внутренними устройствами ВИДЕОПОРТ. Каскад на VT2 инвертирует видеосигнал, что необходимо для правильной работы устройства выделения синхроимпульсов, которое построено на микросхеме D24. Для установки частоты строчной развертки предусмотрен подстроечный потенциометр R17. Для ограничения амплитуды строчных импульсов служит цепочка R9, VD10, R10. Светодиод VD10 индицирует наличие строчных синхроимпульсов. Микросхема D24 чувствительна к отклонениям значений сопротивлений и ёмкостей от указанных в приложении к принципиальной схеме.

Компаратор построен на транзисторе VT3. Предусмотрен регулятор контрастности R31 и регулятор баланса черного/белого - R34. Формирователь тактовых сигналов построен на логических микросхемах. Основа формирователя - стабилизированный кварцевый генератор на D13.1 и D13.2. Частота кварца - 14Мгц. Синхронизация формирователя от СИ осуществляется через элемент D13.4. Триггер D8.2 обеспечивает формирование сигнала СТРОБ. Сигнал СДВИГ формируется на D14.1, D14.3, D15.2. ОЗУ построено на трех микросхемах D1, D2 и D3. Примененные микросхемы - это статические ОЗУ по 8К каждая. Схема управления ОЗУ состоит как бы из нескольких узлов.

Узел формирования адреса ОЗУ и сигнала выборки микросхемы включает в себя счётчики D4, D5, D6, D7, логические элементы D10.1, D10.2, D10.5, триггер D8.1 и дешифратор D9. Узел управления счётчиками обеспечивает управление ими в зависимости от режима работы устройства. Построен этот узел на логических элементах D10.3, D10.4, D11.1-D11.4, D12.1, триггере D17.1. Узел формирования сигнала ЧТЕНИЕ сдвигового регистра и сигнала ЗАПИСЬ в ОЗУ. Данный узел построен на логических элементах D15.1, D14.2, D15.3, D15.4, D14.4, D14.5, счётчике D16 и триггере D17.2. Сдвиговый регистр построен на микросхемах: D18 - сдвиговый регистр, D19 - буферный регистр. Регистр состояния построен на микросхеме D21. Регистр управления построен на D22. Регистр данных - на D20. Дешифратор построен на микросхемах D23,D13.6.

К ZX-Spectrum ВИДЕОПОРТ подключается через буферизированную шину внешних устройств. Автором использовался ZX-Spectrum-совместимый компьютер "Сириус" фирмы "Русич" из поселка Протва Калужской области. К данному компьютеру фирма "Русич" выпускала плату расширения, на которой находится: дисковая система TR-DOS, интерфейс CENTRONICS, RS-232 и буферизированная шина внешних устройств. Если у компьютера пользователя нет этой шины, автор советует сделать её как можно быстрее. О том, как это сделать самому, можно прочитать в ZX-РЕВЮ.

Компоновка платы устройства ВИДЕОПОРТ.

Рекомендации по размещению элементов устройства на плате можно свести к нескольким:

- функциональные узлы должны быть размещены компактно;

- узлы непосредственно связанные с видеосигналом нужно разместить по возможности подальше от генератора;

- элементы регулировки должны иметь как можно более короткие провода подключения;

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

В качестве примера на рис. 6 приведён возможный вариант размещения элементов на плате (рисунок выполнен не в масштабе и не является монтажной схемой). Кабель связи платы с ZX-Spectrum должен быть не более 30 см.

Настройка устройства ВИДЕОПОРТ.

Рис. 6.

Если применены исправные элементы, устройство требует только установки частоты строчной развёртки резистором R17. При этом устройство полностью подключено к компьютеру и работает

под управлением программы. Если частота не соответствует необходимой, то изображение будет подобно показанному на рис. 7, 8. Регулируя R17 следует добиться изображения (рис. 9). Если это не получается, то следует искать причину неисправности.

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

Для проверки режима чтения нужно проверить циклограмму формирования адреса, сигналы чтения ОЗУ и выборки микросхем. Режим чтения осуществляется под управлением компьютера. При этом программа обеспечивает чтение одного экрана и переходит в режим ожидания нажатия клавиши. Если нажать клавиши управления курсором, то программа повторно осуществит чтение ОЗУ устройства.

Для проверки режима записи можно отключить компьютер, а вместо сигнала, поступающего на вывод 2 микросхемы D17.1, нужно подать сигнал нулевого уровня. При этом будет идти режим записи в ОЗУ. Такой режим работы позволяет проверить циклограмму работы устройства в режиме записи ОЗУ. Проверку работы интерфейса устройства со стороны ZX-Spectrum нужно производить в порядке, обычном для внешних устройств ZX-Spectrum.

Рис.9

Программное обеспечение устройства ВИДЕОПОРТ.

Автор предлагает три варианта программного обеспечения, предназначенного для управления устройством ВИДЕОПОРТ и сохранения полученной картинки на внешнем запоминающем устройстве. Первая программа предназначена для магнитофонного варианта ZX-Spectrum. Вторая программа работает с дисковой системой TR-DOS. Третья программа предназначена для работы в среде операционной системы IS-DOS.

Программа для магнитофонного варианта состоит из основной программы на Бейсике и загружаемого блока машинных кодов. Текст программы для ленты "VIDEOl", приведён в листинге 1.

Листинг 1.

5 CLEAR 29999: CLS : LET tt=0: LET nn=0 10 CLS : BORDER 7: INK 0: PAPER 7 20 LOAD "CODVID1"CODE 41 CLS : BORDER 7: INK 0: PAPER 7

159 IF tt=0 THEN INPUT "INPUT NUMBER FILE - ";tt: BORDER 7: INK 0: PAPER 7

160 CLS : POKE 23659,0: PRINT AT 14,2,-"FOR NEW SCREEN - ENTER" 170 PRINT AT 11,2,-"SCANNING - CURSOR"

190 PRINT AT 17,2,-"FOR START - ENTER"

195 PRINT AT 13,2,-"FOR SAVE SCREEN - S"

200 IF INKEY$="" THEN GO TO 200

220 BORDER 0: RANDOMIZE USR 32768

280 GO SUB 2000

310 GO TO 220

2000 LET a=PEEK 32772

2010 IF a=115 THEN GO TO 3000

2030 RETURN

3000 LET tt=tt

3006 LET F$=STR$ (tt)

3007 SAVE F$ CODE 16384,6912 3010 LET tt=tt+1: RETURN

После запуска программа устанавливает начальные значения переменных, очищает экран и загружает, с Вашей помощью, кодовый блок "CODVID1". После этого Вам придется ввести номер, начиная с которого будут нумероваться файлы, подлежащие сохранению. Затем программа напомнит Вам, что для сохранения файла нужно нажать клавишу "S", для получения очередной картинки -"ENTER", а для начала работы - тоже "ENTER". После этого происходит анализ нажатия клавиши и осуществляется запуск задачи в машинных кодах с адреса 32768. Как устроен этот блок - рассмотрим ниже.

Результатом работы кодового блока будет картинка на дисплее ZX-Spectrum. После возврата в основную программу, производится анализ кода нажатой клавиши, находящегося в ячейке 32772. Если код соответствует клавише "S" то происходит формирование имени файла и сохранение экрана ZX-Spectrum на ленту. Далее снова запускается машиннокодовая программа с адреса 32768. Текст этой программы, набранный при помощи ассемблера "GENS4", приведен в листинге 2.

Листинг 2.

10

ORG

32768

130

BEGIN

PUSH

HL

20

JP

BEGIN

140

PUSH

BC

30 UPR

DEFB

0

150

PUSH

DE

40 PRIZN

DEFB

0

160

LD

A,#30

50 STR0

DEFB

0

170

LD

(UPR),A

60 BAIT0

DEFB

0

180

OUT

(PUPR),A

7 0 BUF1

EQU

41550

190

B00

IN

A,(PSOST

8 0 PDAT

EQU

0

200

BIT

0,A

90 PUR

EQU

2

210

JR

Z, B00

100 PUPR

EQU

3

220

B1

DI

110 PSOST

EQU

1

230

LD

HL,BUF1

120 ADR

DEFW

#0000

240

LD

(ADR) , HL

250

CALL

INIC

260

B0

CALL

SCAN

270

CALL

SREN

280

EI

290

CALL

KEY

300

CP

#09

310

JR

Z, B3

320

CP

#08

330

JR

Z, B4

340

CP

#0B

350

JR

Z, B5

360

CP

#0A

370

JR

Z, B6

380

CP

"s"

390

JR

Z, B9

400

CP

"e"

410

JR

NZ, B1

420

B9

LD

(PRIZN),A

430

POP

DE

440

POP

BC

450

POP

HL

460

RET

470

B3

LD

A,(BAIT0)

480

ADD

A, 1

490

CP

32

500

JP

Z, B0

510

LD

(BAIT0),A

520

JP

B0

530

B4

LD

A,(BAIT0)

540

SUB

1

550

CP

255

560

JP

Z, B0

570

LD

(BAIT0),A

580

JP

B0

590

B5

LD

A,(STR0)

600

SUB

8

610

CP

248

620

JP

Z, B0

630

LD

(STR0),A

640

JP

B0

650

B6

LD

A,(STR0)

660

ADD

A, 8

670

CP

100

680

JP

NC, B0

690

LD

(STR0),A

700

JP

B0

710

INIC

PUSH

HL

720

PUSH

BC

730

PUSH

DE

740

PUSH

AF

750

IC1

IN

A,(PSOST)

760

BIT

0,A

770

JR

Z, IC1

780

LD

A, #18

790

LD

(UPR),A

800

OUT

(PUPR),A

810

CALL

SBA

820

IC2

IN

A,(PSOST

830

BIT

0,A

840

JR

NZ,IC2

850

LD

A,(UPR)

860

OR

#20

870

LD

(UPR),A

880

OUT

(PUPR),A

890

POP

AF

900

POP

DE

910

POP

BC

920

POP

HL

930

RET

940

SCAN

PUSH

HL

950

PUSH

BC

960

PUSH

DE

970

PUSH

AF

980

SC5

IN

A,(PSOST

990

BIT

0,A

1000

JR

Z, SC5

1010

CALL

SBA

1020

LD

A,(STR0)

1030

LD

B, A

1040

SC6

LD

A,0

1050

ADD

A, B

1060

JR

Z, SC7

1070

CALL

SA

1080

DEC

B

1090

JR

SC6

1100

SC7

LD

B,192

1110

LD

C,32

1120

LD

HL,(ADR)

1130

SC8

LD

A,0

1140

ADD

A, B

1150

JR

Z, SC3

1160

LD

A,(BAIT0

1170

LD

D, A

1180

SC9

LD

A,0

1190

ADD

A, D

1200

JR

Z,SC10

1210

CALL

SB

1220

DEC

D

1230

JR

SC9

1240

SC10

CALL

READ

1250

INC

HL

1260

DEC

C

1270

CALL

SB

1280

LD

A, 0

1290

ADD

A, C

1300

JR

NZ,SC10

1310

LD

C,32

1320

DEC

B

1330

CALL

SA

1850

JR

Z, SR2

1340

JR

SC8

1860

CP

128

1350

SC2

POP

AF

1870

JR

NC,SR3

1360

POP

DE

1880

CP

64

1370

POP

BC

1890

JR

NC,SR4

1380

POP

HL

1900

LD

DE,#4000

1390

RET

1910

LD

C, B

1400

SC3

CALL

SBA

1920

JR

SR5

1410

JR

SC2

1930

SR2

POP

AF

1420

SBA

PUSH

BC

1940

POP

DE

1430

LD

A,(UPR)

1950

POP

BC

1440

OR

#01

1960

POP

HL

1450

OUT

(PUPR),A

1970

RET

1460

LD

A,(UPR)

1980

SR3

LD

DE,#5000

1470

OUT

(PUPR),A

1990

LD

A, B

1480

POP

BC

2000

SUB

128

1490

RET

2010

LD

C, A

1500

SA

PUSH

BC

2020

JR

SR5

1510

LD

A,(UPR)

2030

SR4

LD

DE,#4800

1520

OR

#02

2040

LD

A, B

1530

OUT

(PUPR),A

2050

SUB

64

1540

LD

A,(UPR)

2060

LD

C, A

1550

OUT

(PUPR),A

2070

SR5

LD

A,C

1560

POP

BC

2080

AND

#07

1570

RET

2090

ADD

A, D

1580

SB

PUSH

BC

2100

LD

D, A

1590

LD

A,(UPR)

2110

LD

A, C

1600

OR

#04

2120

AND

#38

1610

OUT

(PUPR),A

2130

RLCA

1620

LD

A,(UPR)

2140

RLCA

1630

OUT

(PUPR),A

2150

ADD

A, E

1640

POP

BC

2160

LD

E,A

1650

RET

2170

LD

C,32

1660

READ

PUSH

BC

2180

SR6

LD

A,(HL)

1670

LD

A,(UPR)

2190

LD

(DE),A

1680

AND

#EF

2200

INC

HL

1690

OUT

(PUPR),A

2210

INC

DE

1700

NOP

2220

DEC

C

1710

IN

A, (PDAT)

2230

LD

A, 0

1720

LD

(HL),A

2240

ADD

A, C

1730

LD

A, (UPR)

2250

JR

NZ,SR6

1740

OUT

(PUPR),A

2260

INC

B

1750

POP

BC

2270

JR

SR1

1760

RET

2280

KEY

PUSH

HL

1770

SREN

PUSH

HL

2290

LD

HL,23611

1780

PUSH

BC

2300

RES

5, (HL)

1790

PUSH

DE

2310

K1

BIT

5,(HL)

1800

PUSH

AF

2320

JR

Z, K1

1810

LD

HL,BUF1

2330

LD

A, (23560

1820

LD

B, 0

2340

POP

HL

1830

SR1

LD

A,B

2350

RET

1840

CP

192

Рассмотрим, как устроена эта программа. В начале текста располагаются описания переменных и констант. BUF1 - начало буферной области ОЗУ для копии части полного кадра изображения. PDAT, PUPR, PSOST - адреса портов для соответствующих регистров устройства ВИДЕОПОРТ.

Программа начинает свою работу с адреса 32768. Опуская очевидные команды, посмотрим, как программа функционирует. В начале (строка 160) происходит установка регистра управления в исходное положение. Затем проверяется нормальное положение регистра состояния (строка 190). После чего запрещаются прерывания, и затем запускается программа записи видеокадра в память ВИДЕОПОРТА. Это делает подпрограмма INIC.

После выхода из этой подпрограммы запускается подпрограмма SCAN которая переписывает часть кадра из ОЗУ устройства в буфер с начальным адресом BUF1. Начальный адрес ОЗУ устройства устанавливается в соответствии со значениями номера начальной строки STR0 и номера начального байта в строке BAIT0.

По окончании переписи подпрограмма SREN перекодирует содержимое буфера в формат экрана ZX-Spectrum и заполняет экранную память. На дисплее возникает картинка. В строке 280 разрешаются прерывания, после чего выполняется подпрограмма KEY. Результатом её работы является код нажатой клавиши. Далее этот код анализируется и, если была нажата одна из клавиш управления курсором, происходит соответствующий пересчет STR0 или BAIT0, после чего программа возвращается к переписи части кадра из ОЗУ устройства, но с новыми исходными номерами строк и байт, что приводит к перемещению по копии видеокадра. Если будет нажата клавиша "S", то произойдет возврат в основную программу. При нажатии на "ENTER" произойдет возврат к моменту установки запрета прерываний.

Описывать работу подпрограмм, наверное, нет смысла, потому, что они, как говорится, "прозрачные".

В листинге 3 приводится шестнадцатеричный дамп с контрольными суммами ассемблированного блока машинных кодов. После его набора, сохраните готовый файл командой: SAVE "CODVID1"CODE 32768,422.

Листинг 3.

8000

C3

09

80

00

00

00

00

00

CC

8008

00

E5

C5

D5

3E

30

32

03

AA

8010

80

D3

03

DB

01

CB

47

28

FC

8018

FA

F3

21

4E

A2

22

07

80

3F

8020

CD

8C

80

CD

B5

80

CD

4B

93

8028

81

FB

CD

97

81

FE

09

28

38

8030

1B

FE

08

28

27

FE

0B

28

51

8038

33

FE

0A

28

3F

FE

73

28

F3

8040

04

FE

65

20

D4

32

04

80

D1

8048

D1

C1

E1

C9

3A

06

80

C6

8A

8050

01

FE

20

CA

23

80

32

06

94

8058

80

C3

23

80

3A

06

80

D6

54

8060

01

FE

FF

CA

23

80

32

06

83

8068

80

C3

23

80

3A

05

80

D6

63

8070

08

FE

F8

CA

23

80

32

05

92

8078

80

C3

23

80

3A

05

80

C6

63

8080

08

FE

64

D2

23

80

32

05

16

8088

80

C3

23

80

E5

C5

D5

F5

62

8090

DB

01

CB

47

28

FA

3E

18

76

8098

32

03

80

D3

03

CD

0B

81

FC

8 0A0

DB

01

CB

47

20

FA

3A

03

65

8 0A8

80

F6

20

32

03

80

D3

03

49

80B0

F1

D1

C1

E1

C9

E5

C5

D5

DC

80B8

F5

DB

01

CB

47

28

FA

CD

0A

80C0

0B

81

3A

05

80

47

3E

00

10

80C8

80

28

06

CD

1A

81

05

18

7B

80D0

F5

06

C0

0E

20

2A

07

80

EA

80D8

3E

00

80

28

29

3A

06

80

27

80E0

57

3E

00

82

28

06

CD

29

9B

80E8

81

15

18

F5

CD

38

81

23

B4

80F0

0D

CD

29

81

3E

00

81

20

D3

80F8

F3

0E

20

05

CD

1A

81

18

1E

8100

D7

F1

D1

C1

E1

C9

CD

0B

5D

8108

81

18

F6

C5

3A

03

80

F6

90

8110

01

D3

03

3A

03

80

D3

03

FB

8118

C1

C9

C5

3A

03

80

F6

02

9D

8120

D3

03

3A

03

80

D3

03

C1

CB

8128

C9

C5

3A

03

80

F6

04

D3

C1

8130

03

3A

03

80

D3

03

C1

C9

D1

8138

C5

3A

03

80

E6

EF

D3

03

E6

8140

00

DB

00

77

3A

03

80

D3

A3

8148

03

C1

C9

E5

C5

D5

F5

21

EB

8150

4E

A2

06

00

78

FE

C0

28

25

8158

0E

FE

80

30

0F

FE

40

30

12

8160

14

11

00

40

48

18

15

F1

AC

8168

D1

C1

E1

C9

11

00

50

78

FE

8170

D6

80

4F

18

07

11

00

48

0E

8178

78

D6

40

4F

79

E6

07

82

BE

8180

57

79

E6

38

07

07

83

5F

DF

8188

0E

20

7E

12

23

13

0D

3E

48

8190

00

81

20

F6

04

18

BD

E5

66

8198

21

3B

5C

CB

AE

CB

6E

28

AB

8 1A0

FC

3A

08

5C

E1

C9

00

00

65

Программа, работающая с дисководом в среде TR-DOS отличается от магнитофонного варианта большими возможностями, предоставляемыми дисковой системой. Решающим достоинством дискового запоминающего устройства является то, что время доступа к файлу почти не зависит от его положения на диске. Поэтому в этой программе введен режим просмотра картинок, ранее записанных на диск. Этот режим даёт возможность при работе с устройством ВИДЕОПОРТ без перезагрузок посмотреть ранее принятые картинки. Текст программы на Бейсике приведен в листинге 4, а блок машинных кодов применяется тот же, что и в магнитофонном варианте.

Листинг 4.

5 CLEAR 29999: CLS : LET tt=0: LET nn=0 10 CLS : BORDER 7: INK 0: PAPER 7

20 RANDOMIZE USR 15619: REM : LOAD "CODVID1" CODE

41 CLS : BORDER 7: INK 0: PAPER 7: PRINT AT 10,2;"1-INPUT SCREEN"

42 PRINT AT 11,2;"2-READ SCREEN OF DISC"

43 PRINT AT 12,2;"3-CATALOG"

44 PRINT AT 13,2;"4-EXIT TR-DOS"

45 LET k$=INKEY$

4 6 IF k$="1" THEN GO TO 159

47 IF k$="3" THEN GO TO 60

48 IF k$="4" THEN GO TO 65

4 9 IF k$="2" THEN GO TO 5000 50 GO TO 45

60 RANDOMIZE USR 15619: REM : CAT

61 LET k$=INKEY$

62 IF k$="" THEN GO TO 61

63 GO TO 41

65 CLEAR 65000: RANDOMIZE USR 15619: REM : RUN "boot"

159 IF tt=0 THEN INPUT "INPUT NUMBER FILE - ";tt: BORDER 7: INK 0: PAPER 7

160 CLS : POKE 23659,0: PRINT AT 14,2;"FOR NEW SCREEN - ENTER"

170 PRINT AT 11,2;"SCANNING - CURSOR"

180 PRINT AT 12,2;"EXIT IN MENU - e"

190 PRINT AT 17,2;"FOR START - ENTER"

195 PRINT AT 13,2;"FOR SAVE SCREEN - S"

200 IF INKEY$="" THEN GO TO 200

220 BORDER 0: RANDOMIZE USR 32768

280 GO SUB 2000

290 IF a=101 THEN GO TO 4000

310 GO TO 220

2000 LET a=PEEK 32772

2010 IF a=115 THEN GO TO 3000

2030 RETURN

3000 LET tt=tt

3006 LET F$=STR$ (tt)

3007 RANDOMIZE USR 15619: REM : SAVE F$ CODE 16384,6912 3010 LET tt=tt+1: RETURN

4000 POKE 23659,2 4010 GO TO 41

5000 IF nn=0 THEN INPUT "INPUT NUMBER FILE - ";nn: GO TO 5130 5010 BORDER 0: LET n$=STR$ nn: LET p=USR 15619: REM : LOAD n$ CODE 5020 IF p=0 THEN PRINT AT 1,1;nn: GO TO 5030 5025 CLS : PRINT AT 10,10;"FILE ";nn;" NO" 5030 LET k$=INKEY$

5035 IF k$="n" THEN LET nn=0: GO TO 5000

5040 IF k$="e" THEN GO TO 4000

5050 IF k$="z" THEN GO TO 5100

5060 IF k$="" THEN GO TO 5030

5070 IF k$="p" THEN LET nn=nn+1: GO TO 5010

5080 IF k$="o" THEN LET nn=nn-1: GO TO 5010

5090 GO TO 5030

5100 RANDOMIZE USR 15619: REM : ERASE n$ CODE

5120 LET nn=nn+1: GO TO 5010

5130 CLS : PRINT AT 10,2;"NEXT FILE - P"

5140 PRINT AT 11,2;"PRED. FILE - O"

5150 PRINT AT 12,2;"DELETE FILE - Z"

5160 PRINT AT 13,2;"NEW NUMBER FILE - N"

5170 PRINT AT 14,2;"EXIT IN MENU - E"

5175 IF INKEY$="" THEN GO TO 5175

5180 GO TO 5010

Рассмотрим работу программы "VIDEOd". После загрузки машинных кодов (файл "CODVID1"CODE), программа предоставит меню:

1 - ВВОД КАРТИНКИ

2 - ЧТЕНИЕ КАРТИНКИ С ДИСКА

3 - ПРОСМОТР КАТАЛОГА ДИСКА

4 - ВЫХОД В НАЧАЛЬНЫЙ ЗАГРУЗЧИК TR-DOS

При выборе режима ввода картинки программа запрашивает номер файла и печатает на экране памятку о клавишах управления при приеме картинок:

СКАНИРОВАНИЕ ПО КОПИИ КАДРА - КУРСОРНЫЕ КЛАВИШИ СОХРАНИТЬ КАРТИНКУ - "S" ВЫЙТИ В ГЛАВНОЕ МЕНЮ -"E" СМЕНА КАРТИНКИ - "ENTER" После нажатия "ENTER" происходит запуск машинных кодов с адреса 32768. На дисплее появляется картинка. Если будет нажата клавиша "S" или "E", то произойдёт переход в основную программу. Далее, в зависимости от нажатой клавиши, при "S" - произойдет сохранение файла с текущим номером, при "E" - произойдёт переход в основное меню, строка 41. Код нажатой клавиши программа получает из программы в машинных кодах через ячейку 32772. Это ячейка PRIZN в тексте на ассемблере.

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

ПРОСМОТР СЛЕДУЮЩЕГО ФАЙЛА - "P" ПРОСМОТР ПРЕДЫДУЩЕГО ФАЙЛА - "O" УНИЧТОЖИТЬ ТЕКУЩИЙ ФАЙЛ - "Z" ВВЕСТИ НОВЫЙ НОМЕР ФАЙЛА - "N" ВЫЙТИ В ГЛАВНОЕ МЕНЮ ПРОГРАММЫ - "E" Далее программа читает соответствующий файл и выводит его на экран. Если файла с нужным именем нет, на диске выводится сообщение об этом. Анализ наличия файла происходит в строке 5020. Далее программа переходит к анализу нажатой клавиши. Продолжение "прозрачно" и не требует комментария.

Вариант программы работающей в среде iS-DOS имеет только блок машинных кодов. В iS-DOS это файл с расширением ".com". Текст этой программы приведен в листинге 5.

Листинг 5.

JP BEGIN

;описание

переменных

и констант

UPR

DEFB

0

;байт управления

PRIZN

DEFB

0

;байт признаков

STR0

DEFB

56

;номер начальной строки для чтения

BAIT0

DEFB

15

;номер начального байта в строке для чтения

PDAT

EQU

0

; адрес порта данных

PUPR

EQU

3

; адрес порта управления

PSOST

EQU

1

; адрес порта состояния

ADR

DEFW

#0000

;текущий адрес

OPFILE

DEFM

"pic "

;описатель файла

NUMBER

DEFB

#30,#20

;в ОС is-DOS

DEFM

"scr "

DEFB

#41

DEFW

16384

DEFB

0

DEFW

27

DEFB

0, 0, 0, 0,

0,

0,0,0,0,0

DEFB

0, 0, 0, 0,

0

;текст основной программы

BEGIN

PUSH

HL

; начало программы

PUSH

BC

PUSH

DE

LD

A, #30

;установка начального

LD

(UPR),A

; состояния

OUT

(PUPR),A

/регистра управления

B00

IN

A,(PSOST)

;ожидание

BIT

0,A

/перехода видео-порта

JR

Z, B00

; в исходное положение

B1

DI

;запрет прерываний

LD

A, #38

/очистка экрана и

LD

C, #73

/установка атрибутов

RST

#10

;через RST iS-DOS

LD

HL,BUF1

/установка адреса

LD

(ADR),HL

/буфера картинки

CALL

INIC

/запись картинки в видеопорт

B0

CALL

SCAN

,• перепись картинки в буфер

CALL

SREN

/преобразование в screen

EI

/разрешение прерываний

CALL

KEY

/опрос клавиатуры

CP

#09

/ ветвления если нажаты

JR

Z, B3

/ клавиши управления

CP

#08

/курсором

JR

Z, B4

CP

#0B

JR

Z, B5

CP

#0A

JR

Z, B6

CP

"s"

JR

Z, B9

/ переход для сохранения

CP

"2"

JR

NZ, B1

POP

DE

POP

BC

/выход в меню iS-DOS

POP

HL

RET

B9

CALL

FSAVE

/ сохранить screen

LD

A, (NUMBER)

/ вычисление и

INC

A

/ установка

LD

(NUMBER) ,A

/ номера файла

JP

B1

B3

LD

A,(BAIT0)

/ вычисление и

ADD

A, 1

/ установка номера

CP

32

/начального байта

JP

Z, B0

LD

(BAIT0) , A

JP

B0

B4

LD

A,(BAIT0)

SUB

1

CP

255

JP

Z, B0

LD

(BAIT0) , A

JP

B0

B5

LD

A, (STR0)

/ вычисление и

SUB

8

/ установка номера

CP

248

/начальной строки

JP

Z, B0

LD

( STR0) ,A

JP

B0

B6

LD

A, (STR0)

ADD

A, 8

CP

150

JP

NC, B0

LD

( STR0) ,A

JP

B0

; далее

тексты подпрограмм

INIC

PUSH

HL

;начало записи в ОЗУ

PUSH

BC

;видеопорта

PUSH

DE

PUSH

AF

IC1

IN

A,(PSOST)

;проверка

BIT

0,A

;бита готовности

JR

Z, IC1

LD

A, #18

;установка

LD

(UPR),A

;режима записи

OUT

(PUPR),A

CALL

SBA

; сброс адреса

IC2

IN

A,(PSOST)

; проверка

BIT

0,A

; бита готовности

JR

NZ,IC2

LD

A,(UPR)

;снятие признака

OR

#20

; режима записи

LD

(UPR),A

OUT

(PUPR),A

POP

AF

POP

DE

POP

BC

POP

HL

RET

SCAN

PUSH

HL

; начало режима

PUSH

BC

; чтения ОЗУ видеопорта

PUSH

DE

PUSH

AF

SC5

IN

A,(PSOST)

;ожидание конца

BIT

0,A

;записи в ОЗУ

JR

Z, SC5

;видео-порта

CALL

SBA

;сброс адреса

LD

A, (STR0)

LD

B, A

SC6

LD

A, 0

;цикл установки

ADD

A, B

;адреса на начальную

JR

Z, SC7

; строку

CALL

SA

DEC

B

JR

SC6

SC7

LD

B, 192

; максимальное число строк

LD

C, 32

;максимальное число байт

LD

HL,(ADR)

;адрес буфера

SC8

LD

A, 0

ADD

A, B

JR

Z, SC3

LD

A,(BAIT0)

LD

D, A

SC9

LD

A, 0

; цикл установки

ADD

A, D

; начального байта

JR

Z,SC10

CALL

SB

; счет байт

DEC

D

JR

SC9

SC10

CALL

READ

; чтение байта из ОЗУ

INC

HL

;установка следующего

DEC

C

; адреса и байта

CALL

SB

; счет байт

LD

A, 0

ADD

A, C

JR

NZ,SC10

; конец цикла чтения строк

LD

C,32

; установка счетчика байт

DEC

B

;уменьшение счётчика стро:

CALL

SA

; счёт адреса ОЗУ

JR

SC8

SC2

POP

AF

POP

DE

POP

BC

POP

HL

RET

SC3

CALL

SBA

JR

SC2

;подпрограммы

выдачи

сигналов через порт управления

SBA

PUSH

BC

LD

A,(UPR)

OR

#01

OUT

(PUPR),A

LD

A,(UPR)

OUT

(PUPR),A

POP

BC

RET

SA

PUSH

BC

LD

A,(UPR)

OR

#02

OUT

(PUPR),A

LD

A,(UPR)

OUT

(PUPR),A

POP

BC

RET

SB

PUSH

BC

LD

A,(UPR)

OR

#04

OUT

(PUPR),A

LD

A,(UPR)

OUT

(PUPR),A

POP

BC

RET

;подпрограмма

чтения

из регистра данных

READ

PUSH

BC

LD

A,(UPR)

AND

#EF

OUT

(PUPR),A

NOP

IN

A,(PDAT)

LD

(HL),A

LD

A,(UPR)

OUT

(PUPR),A

POP

BC

RET

;подпрограмма

перекодировки буфера экрана в экранную область

ОЗУ ZX

SREN

PUSH

HL

PUSH

BC

PUSH

DE

PUSH

AF

LD

HL,BUF1

LD

B, 0

SR1

LD

A, B

CP

192

JR

Z, SR2

CP

128

JR

NC,SR3

CP

64

JR

NC,SR4

LD

DE,#4000

LD

C, B

JR

SR5

SR2

POP

AF

POP

DE

POP

BC

POP

HL

RET

SR3

LD

DE,#5000

LD

A, B

SUB

128

LD

C, A

JR

SR5

SR4

LD

DE,#4800

LD

A, B

SUB

64

LD

C, A

SR5

LD

A, C

AND

#07

ADD

A, D

LD

D, A

LD

A, C

AND

#38

RLCA

RLCA

ADD

A, E

LD

E, A

LD

C,32

SR6

LD

A, (HL)

LD

(DE) ,A

INC

HL

INC

DE

DEC

C

LD

A, 0

ADD

A, C

JR

NZ,SR6

INC

B

JR

SR1

;подпрограмма

опроса

клавиатуры с использованием функции iS-

DOS

KEY

PUSH

HL

LD

C, #07

RST

#10

POP

HL

RET

;подпрограмма

сохранения файла на диске в среде iS-DOS

FSAVE

LD

C, #23

LD

HL,OPFILE

RST

#10

LD

C, #2C

LD

B, 27

LD

DE,#0000

LD

HL,#4000

RST

#10

LD

HL,OPFILE

LD

C, #28

RST

#10

RET

BUF1

NOP

;начало буфера в ОЗУ ZX

;конец текста

программы

В чём автор видит прелести введения своей программы в среду iS-DOS? В отличие от TR-DOS, система iS-DOS, является настоящей операционной системой, близкой по своей идеологии к MS-DOS. В настоящее время происходит постепенное распространение этой системы. Введение в ОС iS-DOS программы, взаимодействующей с устройством ВИДЕОПОРТ, позволяет использовать имеющиеся в этой системе программы вывода на принтер картинок, программы упаковки и распаковки файлов. Все эти программы легко доступны в iS-DOS. Операции с файлами из ассемблера iS-DOS выполняются через запуск одной команды RST #10, с определенным кодом функции. Для сравнения, в TR-DOS это можно сделать, но сложнее. Наличие каталоговой системы хранения и поиска файлов позволяет систематизировать полученные картинки и, тем самым, упростить пользование результатами работы.

В связи с тем, что ассемблер iS-DOS не отличается от "GENS4" по тексту программы, в листинге 5 читатель увидит новое только в части подпрограмм опроса клавиатуры KEY, подготовки экрана и записи на диск FSAVE, по сравнению с текстом программы "CODVID1" приведённом в листинге 2.

Данный в листинге 5 текст снабжен комментариями в части функций системы iS-DOS. Они применены так, как рекомендуется в руководстве по ОС iS-DOS. Необходимо иметь ввиду, что воспользоваться этим текстом можно, если Вы приобретете саму систему iS-DOS и ассемблер iS-ASM, где содержится информация о том, как ассемблировать тексты программ и другие важные сведения по системе iS-DOS.

Данный обзор программ автор приводит как пример работы с устройством ВИДЕОПОРТ. Эти программы рабочие, но они не лишены некоторых недостатков.

Ну что с этим SCREEN делать?

Как отмечалось во введении, компьютер сам не может использовать "глаза" которые он обретает при подключении к нему устройства VIDEOPORT. Автор считает, что читатели смогут придумать применение для предлагаемого устройства. Может быть, кому-то пригодятся некоторые соображения автора по поводу использования устройства ВИДЕОПОРТ.

- Создание иллюстративных программ. Это могут быть программы, демонстрирующие картинки по определенной тематике. Пример: "Артисты кино", "Звёзды футбола", "Истребители 19391945" и т.д. Программы-викторины, которые показывают изображение и сравнивают полученный ответ с правильным ответом. Программы-каталоги, показывающие изображение требуемого объекта.

- Создание программ обработки бинарных изображений. Это уже почти научная проблема, от которой недалеко до систем с элементами искусственного интеллекта. Конечно, ZX-Spectrum маловат для получения конечных результатов, но для начальной стадии входа в проблему, для, пусть грубой, обкатки своих идей, эта машина достаточно подходящий инструмент.

- Создание систем технического зрения. Это уже возможное приложение результатов обработки изображений к конкретным задачам. Как человек получает информацию от приборов? Правильно, он глядит на стрелки, уровни, шкалы и т.д. ZX-Spectrum может так же получать эту информацию. Таким образом, имея ВИДЕОПОРТ, можно создать универсальный канал ввода информации. Конечно, эта универсальность даром не достанется.

Заключение.

Завершая сообщение о своей работе, автор призывает откликнуться заинтересованные организации и любителей ZX-Spectrum. С удовольствием ознакомился бы с мнениями и критикой, поскольку есть мысли по улучшению данного устройства и хотелось бы понять актуальность дальнейшего развития подобного подхода.

115597, Москва, Гурьевский проезд, д. 11, корпус 1, кв. 38, Манилову А.П. тел. 397-52-72




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



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

Похожие статьи:
Список BBS - ZX-Net 095, Независимые BBS, SuperNet.
Таланты - Сочинение на тему "Загадочная надпись".
Ассемблер - Описание алгоритмов: 2D bump mapping, Gouraud Shading, Fast Phong Shading, Z Buffering, Flat Shading, Voxels.
User'am - 64 Килобайта о FIDONet.
Железо - Подключение второго дисковода.

В этот день...   21 ноября