https://emuverse.ru/w/api.php?action=feedcontributions&user=Nzeemin&feedformat=atomEmuverse - Вклад [ru]2024-03-28T15:13:18ZВкладMediaWiki 1.40.0https://emuverse.ru/w/index.php?title=GRAFOR_DVK&diff=3775GRAFOR DVK2024-03-26T22:50:57Z<p>Nzeemin: Новая страница: «{{ДИ|Источник=https://www.tis.kz/forum/topic.php?forum=28&topic=7#}} <pre> РУКОВОДСТВО ПО ПРИМЕНЕНИЮ СИСТЕМЫ ГРАФОР ДВК. Вторая редакция Белоножкин А.Н. ГГУ сл.тел. 65-75-23...»</p>
<hr />
<div>{{ДИ|Источник=https://www.tis.kz/forum/topic.php?forum=28&topic=7#}}<br />
<pre><br />
<br />
РУКОВОДСТВО ПО ПРИМЕНЕНИЮ СИСТЕМЫ<br />
ГРАФОР ДВК.<br />
<br />
<br />
Вторая редакция<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Белоножкин А.Н.<br />
<br />
ГГУ<br />
<br />
сл.тел. 65-75-23<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Нижний Новгород<br />
<br />
1990 год<br />
<br />
<br />
<br />
<br />
<br />
А Н Н О Т А Ц И Я<br />
<br />
Описана реализация пакета ГРАФОР для ЭВМ типа ДВК под<br />
управлeнием операционной системы RT11. Разобран порядок работы<br />
в системе, даны примеры и справочный материал по использованию<br />
конкретной версии пакета.<br />
<br />
<br />
<br />
<br />
<br />
<br />
С О Д Е Р Ж А Н И Е<br />
<br />
стр.<br />
От автора ................................................ 3<br />
<br />
1. Для чего это нужно? ...................................... 4<br />
<br />
2. Как этим пользоваться? ................................... 5<br />
2.1 Настройка системы (инициализация) ................... 5<br />
2.2 Написание и запуск программы ........................ 5<br />
2.3 Получение рисунка ................................... 6<br />
<br />
3. Подробности для любознательных ........................... 8<br />
3.1 Три интерфейса в ГРАФОРе ............................ 8<br />
3.2 Форматы представления данных ........................ 8<br />
3.3 Роль и назначение системных компонент ГРАФОРа ....... 9<br />
3.4 Экранно-ориентированный вывод информации ............ 9<br />
<br />
4. Возможные причины неработоспособности пакета ............. 11<br />
<br />
Литература ............................................... 12<br />
<br />
Приложения:<br />
I Изменения в ГРАФОРе ................................. 13<br />
II Драйверы и их возможности ........................... 14<br />
III Особенности графики для печати ...................... 17<br />
IV Дистрибутивы: их имена и место в системе ............ 18<br />
V Перечень подпрограмм ГРАФОРа ........................ 19<br />
VI КЦГД: дозагружаемый графический интерпретатор ....... 27<br />
VII КЦГД: дозагружаемые коды клавиатуры ................. 28<br />
<br />
<br />
- 3 -<br />
<br />
<br />
От автора.<br />
<br />
Данное описание не претендует на полное описание пакета<br />
ГРАФОР, операционной системы, графических устройств и т.п.<br />
Здесь Вы найдете лишь описание того, что является "особенным"<br />
в реализации ГРАФОРа на ДВК.<br />
<br />
Первый раздел рекомендуется тем, кто интересуется<br />
возможностями ГРАФОРа ДВК. Второй предназначен для тех, кто уже<br />
приобрел пакет и собирается получить первые рисунки (здесь<br />
могут буть полезны приложения I, V). Третий раздел содержит<br />
наиболее подробную информацию о функционировании пакета. В<br />
приложениях Вы найдете справочную информацию, снабженную<br />
комментариями.<br />
<br />
Автор будет рад получить Ваши замечания, предложения,<br />
дополнения по работе пакета. Обращайтесь либо напрямую, либо<br />
через "Диалог"; все Ваши проблемы будут рассмотрены и по<br />
возможности устранены в кратчайшие сроки.<br />
<br />
<br />
- 4 -<br />
<br />
<br />
1. Для чего это нужно?<br />
<br />
Система ГРАФОР предназначена для графического представления<br />
результатов инженерных вычислений и, согласно своему назначению,<br />
позволяет строить графики, гистограммы, карты изолиний, проекции<br />
поверхностей, применять методы сплайн-интерполяции, сглаживать<br />
экспериментальные данные, производить афинные преобразования и<br />
экранирование, выполнять геометрические вычисления и т.д.<br />
Подробнее обо всем этом изложено в [1]. Целью же этого<br />
руководства являлось более подробное описание конкретной<br />
реализации ГРАФОРа на машинах типа ДВК.<br />
<br />
ГРАФОР - это достаточно громоздкая система, что до<br />
некоторого времени сдерживало его распространение на микро-ЭВМ.<br />
Первым прорывом в этой области можно считать появление ГРАФОРа<br />
на персональных ЭВМ типа IBM PC, что опиралось на возросшую<br />
вычислительную мощность, об'ем памяти и появление винчестеров.<br />
Аналогичная тенденция наблюдается и в семействе микро-ЭВМ типа<br />
ДВК.<br />
<br />
ГРАФОР адаптирован на ДВК под управлением операционной<br />
системы RT11(SJ) (не младше версии 05.00), что позволило<br />
реализовать высокий уровень удобства работы с пакетом. Это<br />
обеспечивается поддержкой следующих воможностей:<br />
<br />
- создание промежуточного текстового файла рисунка;<br />
- вывод рисунка на экран монитора;<br />
- Print_Screen (печать кадра "точка в точку" с возможностью<br />
выбора типа печатающего устройства и плотности печати);<br />
- графическая печать рисунка с сохранением его линейных<br />
размеров;<br />
- вывод рисунка на графопостроитель.<br />
<br />
На данный момент в систему включена поддержка следующих<br />
устройств вывода графической информации:<br />
<br />
- контроллеры КГД и КЦГД;<br />
- принтеры EPSON FX-800, ROBOTRON 6362, D100M, CM6337 и<br />
другие EPSON-совместимые печати;<br />
- графопостроители НЕЙРОН ИС.61, POLTIK.<br />
<br />
Данная версия ГРАФОРа эксплуатируется около года и<br />
зарекомендовала себя как надежная, удобная и простая в<br />
обращении система.<br />
<br />
В перспективе ведутся работы по переносу ГРАФОРа на ЭВМ<br />
ЭЛЕКТРОНИКА-85 и расширение номенклатуры графической периферии<br />
ДВК.<br />
<br />
<br />
- 5 -<br />
<br />
<br />
2. Как этим пользоваться?<br />
<br />
2.1 Настройка системы (инициализация)<br />
<br />
Для нормальной работы с ГРАФОРом, после загрузки операционной<br />
системы Вы должны подготовить системные компоненты ГРАФОРа к<br />
работе. Для этого необходимо выполнить следующие команды:<br />
<br />
R GS.SYS - загрузка графического интерпретатора в<br />
КЦГД,<br />
<br />
LOAD TT - необходимо для реализации Print_Screen.<br />
<br />
Их можно отдать с клавиатуры или поместить в любой командный<br />
файл, в частности, в STARTS.COM. В последнем случае, системные<br />
компоненты ГРАФОРа включатся во время загрузки операционной<br />
системы.<br />
<br />
2.2 Написание и запуск программы.<br />
<br />
Для того, чтобы получить рисунок, Вы должны написать<br />
программу на ФОРТРАНе. Программа обязательно должна содержать<br />
следующие строки:<br />
<br />
.<br />
.<br />
CALL GRINIT<br />
CALL PAGE(XL,YL,NAME,NNAME,J)<br />
.<br />
.<br />
.<br />
CALL ENDPG(NAME,NNAME)<br />
.<br />
.<br />
<br />
Ее можно набрать в любом текстовом редакторе. Например,<br />
Вы создали файл TEST.FOR, содержащий:<br />
<br />
PROGRAM TEST<br />
DIMENSION X(100),Y(100),Z(100)<br />
<br />
C Заполнение массивов X,Y,Z<br />
<br />
X(1)=-1.9<br />
Y(1)=SIN(-1.9)<br />
Z(1)=COS(-1.9)*1.5<br />
DO 5 I=2,90<br />
X(I)=X(I-1)+.1<br />
Y(I)=SIN(X(I))<br />
5 Z(I)=COS(X(I))*1.5<br />
XMN=-2.0<br />
AMN=-2.0<br />
XMX=7.0<br />
AMX=2.0<br />
UX=1.0<br />
<br />
<br />
- 6 -<br />
<br />
<br />
UY=0.8<br />
KX=0<br />
KY=0<br />
M=0<br />
CALL GRINIT !Инициализация GRAFOR<br />
CALL PAGE(19.,10.,' ',-1,0) !Открытие страницы PAGE<br />
<br />
CALL REGION(0.,0.,19.,10.,,0,1)<br />
CALL LIMITS(XMN,XMX,AMN,AMX)<br />
CALL AXES(6HAXIS X,6,UX,KX,6HAXIS Y,6,UY,KY,M)<br />
CALL LINEMO(X,Y,85,2,10)<br />
CALL LINEMO(X,Z,85,14,15)<br />
<br />
CALL ENDPG(,0) !Закрытие страницы PAGE<br />
<br />
END<br />
<br />
После этого, Вы должны его оттранслировать командой<br />
<br />
FORTRAN TEST<br />
<br />
и получить загрузочный модуль командой<br />
<br />
LINK TEST,GR01/BOT:2000,<br />
<br />
где GR01.OBJ - базовый файл ГРАФОРа, а ключ /BOT необходим для<br />
отведения места программе под стек.<br />
Далее программу можно запустить на счет командой<br />
<br />
RUN TEST<br />
<br />
На экране появится запрос:<br />
<br />
Device or file_name?<br />
<br />
на что Вы можете ответить:<br />
а) <ВК> или GS: - вывод рисунка на экран<br />
б) FILNAM - вызовет создание файла FILNAM.PIC на DK:<br />
в) GP: - вывод рисунка на графопостроитель<br />
<br />
2.3 Получение рисунка.<br />
Пользуясь описываемой системой, Вы имеете возможность<br />
получить в любой момент времени твердую копию экрана на<br />
принтере. Для этого Вам необходимо нажать на клавиатуре<br />
клавишу <ПЕЧАТЬ КАДРА>, или комбинацию <СУ> А. Это наиболее<br />
быстрый способ, но он не сохраняет масштаб изображения. При<br />
необходимости, можно получить масштабное изображение на печати<br />
командой<br />
<br />
RUN PS FILNAM ,где<br />
<br />
FILNAM.PIC - результат работы Вашей программы.<br />
<br />
<br />
- 7 -<br />
<br />
<br />
Получить рисунок на графопостроителе можно двумя способами:<br />
либо указав имя драйвера GP: в ответ на запрос Вашей программы<br />
<br />
Device or file_name?<br />
<br />
либо командой<br />
<br />
COPY FILNAM.PIC GP:<br />
<br />
<br />
- 8 -<br />
<br />
<br />
3. Подробности для любознательных.<br />
<br />
3.1 Три интерфейса в ГРАФОРе.<br />
<br />
При внимательном рассмотрении, в ГРАФОРе можно обнаружить<br />
четыре логически завершенных уровня и три интерфейса между<br />
ними. Схематично это можно изобразить следующим образом:<br />
<br />
1) Самым верхним является уровень программы пользователя.<br />
Интерфейсом между ней и подпрограммами ГРАФОРа является<br />
механизм вызова подпрограмм на ФОРТРАНе.<br />
<br />
2) Подпрограммы ГРАФОРа преобразуют всю поступающую к ним<br />
информацию в команды виртуального графического устройства, что<br />
и является интерфейсом между ГРАФОРом и драйверами графических<br />
устройств.<br />
<br />
3) Третьим и последним интерфейсом является интерфейс между<br />
драйвером и внешним устройством. По сути, он совпадает или<br />
является подмножеством интерфейса внешнего устройства.<br />
<br />
Преобразование информации в ГРАФОРе осуществляется в<br />
несколько этапов. Сначала Вы должны из программы на ФОРТРАНе<br />
обратиться к подпрограммам ГРАФОРа, ГРАФОР преобразует эти<br />
вызовы в команды виртуальному графическому устройству. На этом<br />
этапе их можно получить в виде обычного текстового файла с<br />
расширением / .PIC /. Далее драйвер преобразует этот файл к<br />
интерфейсу внешнего устройства (ВУ). Здесь уже учитываются<br />
конкретные технические характеристики ВУ, такие как размер поля<br />
вывода, разрешающая способность, число цветов и т.п. На выходе<br />
Вы получаете готовый рисунок.<br />
<br />
3.2 Форматы представления данных.<br />
<br />
На уровне вызова подпрограмм ГРАФОРа, форматы данных<br />
совпадают, с точностью до приложения I, с описанием, данным<br />
в [1].<br />
<br />
Между ГРАФОРом и драйверами в передаче данных приняты<br />
следующие соглашения:<br />
а) виртуальное графическое устройство является векторным;<br />
б) виртуальное графическое устройство обладает способностью<br />
генерировать прямую линию;<br />
в) информация о перемещении пера передается к устройству в<br />
виде целого числа шагов. Исходно принято, что устройство<br />
имеет разрешение 200 шагов на сантиметр;<br />
г) устройство может отрабатывать следующие команды:<br />
H -Home- начальная установка устройства,<br />
B X,Y -Base- выбор точки (X,Y) в качестве начала<br />
отсчета,<br />
M X,Y -Move- перемещение пера в точку (X,Y),<br />
D X,Y -Draw- перемещение пера в точку (X,Y)<br />
с рисованием,<br />
J N -Pen - выбор пера (цвета).<br />
<br />
<br />
- 9 -<br />
<br />
<br />
На внешнее устройство данные поступают в его "родном"<br />
формате, и лучшее, что в данном случае можно сделать, это<br />
отослать Вас к его техническому описанию.<br />
<br />
3.3 Роль и назначение системных компонент ГРАФОРа.<br />
<br />
С самого начала, ГРАФОР ДВК задумывался как система,<br />
ориентированная на пользователя. Это повлекло за собой<br />
некоторые изменения как в самом ГРАФОРе, так и создание<br />
определенного сервиса на уровне драйверов операционной<br />
системы. Отправной точкой развития ГРАФОРа для ДВК явились<br />
контроллеры КГД и КЦГД. Под них и были созданы две версии<br />
экранной графики и функции Print_Screen (копия экрана на<br />
печать).<br />
<br />
На машинах с КГД драйвер GS.SYS необходим для получения<br />
рисунка, а TT.SYS, кроме его обычных функций, еще и для<br />
получения твердой копии экрана на печати.<br />
<br />
На машинах с КЦГД драйвер GS.SYS, как и в системах с КГД,<br />
соответствует графическому выводу на экран, кроме того, в нем<br />
есть программа загрузки в КЦГД интерпретатора графических<br />
команд (R GS.SYS). TT.SYS необходим для функционирования<br />
Print_Screen. Причем, он во время загрузки операционной системы<br />
дозагружает в КЦГД ряд кодов клавиш, которые используются<br />
редакторами текстов и клавишу <ПЕЧАТЬ КАДРА> кодом ^A.<br />
<br />
На обеих системах, Print_Screen работает только если TT.SYS<br />
загружен в память командой<br />
<br />
LOAD TT<br />
<br />
При этом он перехватывает код ^A, интерпретируя его как команду<br />
печати экрана, если же его выгрузить из памяти (сделать<br />
нерезидентным), то он ничем не будет отличаться от обычного<br />
драйвера терминала.<br />
<br />
3.4 Экранно-ориентированный вывод информации.<br />
<br />
В случае, если весь графический вывод осуществляется на<br />
экран и разработчику прикладной программы не желательно<br />
передавать пользователю системные компоненты ГРАФОРа, он может<br />
вопользоваться библиотекой базовых примитивов с именем<br />
<br />
GR01TT.OBJ<br />
<br />
в которой не содержится обращений к драйверам. Эта библиотека<br />
по вызовам подпрограмм целиком совпадает с GR01.OBJ, за<br />
исключением того, что в ней есть подпрограмма печати экрана.<br />
Этой подпрограммой можно воспользоваться из программы на<br />
фортране написав вызов<br />
<br />
CALL GRAPRI(MODE)<br />
<br />
<br />
<br />
- 10 -<br />
<br />
<br />
MODE определяет тип печатающего устройства и плотность печати:<br />
<br />
код плотность тип принтера<br />
<br />
MODE = -1 - D100<br />
0 60 EPSON<br />
1 120 EPSON<br />
2 120 EPSON<br />
3 240 EPSON<br />
4 80 EPSON<br />
5 72 EPSON<br />
6 90 EPSON<br />
7 144 EPSON<br />
<br />
<br />
- 11 -<br />
<br />
<br />
4. Возможные причины неработоспособности пакета.<br />
<br />
Проверяйте количество и тип параметров в вызовах<br />
подпрограмм.<br />
<br />
На стадии сборки задачи программой LINK не забывайте:<br />
<br />
а) Имена графических библиотек в командной строке должны<br />
следовать в порядке их вызова (самая низовая - в конце);<br />
б) ГРАФОР имеет большую вложенность подпрограмм; используйте<br />
ключ /BOT для увеличения области, резервируемой под<br />
стек;<br />
в) Размер графических библиотек большой, пользуйтесь ключем<br />
/SLOWLY.<br />
<br />
<br />
- 12 -<br />
<br />
<br />
Л И Т Е Р А Т У Р А<br />
<br />
1. Ю.М.Баяковский, В.А.Галактионов, Т.Н.Михайлова "Графор.<br />
Графическое расширение фортрана", М.,"Наука", 1985 г.<br />
2. Контроллер КГД. Техническое описание.<br />
3. Контроллер КЦГД. Техническое описание.<br />
4. Описание операционной системы RT-11. Программирование<br />
драйверов внешних устройств.<br />
5. EPSON FX-800. Техническое описание.<br />
6. НЕЙРОН ИС.61. Техническое описание.<br />
7. POLTIK. Техническое описание.<br />
<br />
<br />
- 13 -<br />
<br />
<br />
Приложение I<br />
<br />
Изменения в ГРАФОРе.<br />
<br />
В связи с адаптацией ГРАФОРа на ДВК были изменены<br />
следующие подпрограммы пакета:<br />
<br />
GRINIT производит инициализацию пакета.<br />
<br />
PAGE (XL,YL,NAME,N,J) открывает страницу<br />
XL,YL - размеры страницы<br />
NAME - название страницы<br />
N - число литер названия страницы<br />
N>0 страница подписывается и будет выведена<br />
в файл с именем NAME<br />
N=0 страница не подписывается,<br />
автоматически генерируются имена на DK:<br />
GR1.PIC, GR2.PIC, ...<br />
N<0 страница подписывается, имя файла<br />
запрашивается с терминала<br />
<ВК> направляет вывод на экран<br />
<br />
Если имя файла содержит только имя устройства, то на нем<br />
автоматически генерируются имена GR1.PIC, GR2.PIC, GR3.PIC ...,<br />
при условии, что не было перезагрузки программы в ОЗУ.<br />
<br />
J - признак очерчивания рамки<br />
J>0 рамка очерчивается, выводится дата создания<br />
J=0 рамка не очерчивается, дата не выводится<br />
J<0 рамка очерчивается, дата не выводится<br />
<br />
ENDPG(NAME,N) закрывает страницу<br />
NAME - подпись по линии отрыва<br />
N - число литер подписи<br />
N>0 подписывается и перо уводится к началу<br />
следующей страницы<br />
N=0 не подписывается, перо возвращается к<br />
началу текущей страницы<br />
N<0 подписывается, перо возвращается к<br />
началу текущей страницы<br />
<br />
PEN(J) производит смену пера (цвета)<br />
<br />
SET(J) устанавливает набор литер для подпрограммы SYMBOL:<br />
SET(0) набор больших русских и латинских букв<br />
SET(1) набор маленьких русских и латинских букв<br />
SET(2) набор греческих больших букв<br />
SET(3) набор греческих маленьких букв<br />
дополнительно введены:<br />
SET(4) набор латинских больших и маленьких букв<br />
SET(5) набор русских больших и маленьких букв<br />
<br />
<br />
- 14 -<br />
<br />
<br />
Приложение II<br />
<br />
Драйверы и их возможности.<br />
<br />
Назначение драйвера заключается в преобразовании интерфейса<br />
виртуального графического устройства (информации из пакета<br />
ГРАФОР) в команды конкретному устройству. В данном приложении<br />
описаны SET параметры драйверов и их назначение.<br />
<br />
Во время работы программы, ГРАФОР "не знает" для какого<br />
графического устройства подготавливаются данные. Поэтому,<br />
возникла необходимость в промежуточном интерфейсе виртуального<br />
графического устройства. Подробно он описан в 3.2, здесь же<br />
только напомним, что цифровая информация из ГРАФОРа передается<br />
целым числом шагов виртуального устройства. Ввиду того, что<br />
разрешающая способность реального графопостроителя редко выше<br />
100 шагов на сантиметр, было принято, при передаче данных,<br />
разрешение в 200 шагов на сантиметр. При необходимости, эта<br />
характеристика может быть изменена.<br />
<br />
Со стороны ФОРТРАНа она хранится в<br />
<br />
COMMON /GFTAB/ IRDB(5),RDB(17)<br />
в элементе<br />
RDB(17)<br />
(см. также RDB(1); табл.1 стр.12 [1])<br />
<br />
Со стороны драйвера ее можно изменить пользуясь командой<br />
<br />
SET <имя драйвера> NV=<число><br />
<br />
Изначально в драйвере, как и в библиотеке, принято разрешение<br />
200 шагов на сантиметр, что обеспечивает масштабную передачу<br />
изображений. При необходимости, механизмом SET параметров<br />
можно воспользоваться для изменения размеров рисунка,<br />
например:<br />
<br />
SET <имя драйвера> NV=400<br />
<br />
вызовет уменьшение всех линейных размеров в два раза.<br />
<br />
Драйвер <GS:> производит пересчет координат линий рисунка<br />
в координаты точек на экране. При этом может оказаться, что<br />
рисунок получился больше размеров электронно лучевой трубки(ЭЛТ)<br />
т.е. некоторые координаты точек вышли за рамки допустимых<br />
значений (например, размер экрана КЦГД 240х800 точек). Такие<br />
точки в процессе рисования отсекаются. Если Вам необходимо<br />
посмотреть часть рисунка, находящуюся вне поля зрения, Вы<br />
можете "переместить" Ваш экран (поле зрения), а точнее точку<br />
его левого нижнего угла, в любое место сгенерированной картинки.<br />
Если, например, у вас получилась картинка в два раза выше<br />
размера экрана, т.е. имеет размер 480х800 точек, то Вы увидите<br />
на экране лишь нижнюю ее часть. Чтобы посмотреть верхнюю часть,<br />
необходимо командами<br />
<br />
<br />
- 15 -<br />
<br />
<br />
SET GS: X0=0 < не обязательно ><br />
SET GS: Y0=240<br />
<br />
установить поле зрения "повыше" и заново скопировать рисунок на<br />
<GS:>.<br />
<br />
В настоящее время, в наличии имеются следующие драйверы:<br />
<br />
1) GSKCGD.SYS - драйвер для КЦГД, имеет следующие SET параметры:<br />
<br />
SET GS NV=decimal_value<br />
задает число шагов виртуального устройства на сантиметр<br />
SET GS X0=decimal_value<br />
SET GS Y0=decimal_value<br />
задает начало отсчета в точках на экране ЭЛТ (графика КЦГД<br />
работает с разрешением 240х800 точек)<br />
SET GS [NO]HOME<br />
[запрещает]разрешает очистку экрана перед началом вывода<br />
рисунка;<br />
<NO HOME> реализует режим наложения рисунков.<br />
SET GS INIT<br />
производит инициализацию драйвера<br />
SET GS PRINT<br />
производит настройку на тип печати для Print_Screen.<br />
<br />
2) GSKGD.SYS - драйвер для КГД, имеет следующие SET параметры:<br />
<br />
SET GS INIT<br />
производит инициализацию драйвера<br />
SET GS NV=decimal_value<br />
задает число шагов виртуального устройства на сантиметр<br />
SET GS X0=decimal_value<br />
SET GS Y0=decimal_value<br />
задает начало отсчета в точках на экране ЭЛТ (графика КГД<br />
работает с разрешением 286х400 точек)<br />
SET GS INFORM<br />
выводит на экран справочное сообщение<br />
<br />
3) GPN.SYS - драйвер для графопостроителя НЕЙРОН ИС.61<br />
<br />
SET GP NV=decimal_value<br />
задает число шагов виртуального устройства на сантиметр<br />
SET GP [NO]PEN<br />
[запрещает]разрешает смену пера на графопостроителе<br />
SET GP [NO]QUIET<br />
[запрещает]разрешает выдачу запроса на экран перед каждой<br />
отработкой команды смены пера<br />
<br />
4) GPP.SYS - драйвер для графопостроителя POLTIK<br />
<br />
SET GP [NO]PEN<br />
[запрещает]разрешает смену пера на графопостроителе<br />
SET GP [NO]QUIET<br />
[запрещает]разрешает выдачу запроса на экран перед каждой<br />
отработкой команды смены пера<br />
<br />
<br />
- 16 -<br />
<br />
SET GP NV=decimal_value<br />
задает число шагов виртуального устройства на сантиметр<br />
SET GP [NO]SWAXY<br />
[запрещает]разрешает поворот рисунка на 90 градусов<br />
<br />
<br />
- 17 -<br />
<br />
<br />
Приложение III<br />
<br />
Особенности графики для печати.<br />
<br />
Точную копию рисунка на печати Вы можете получить<br />
воспользовавшись программой PS.SAV. Последовательность действий<br />
может выглядеть следующим образом:<br />
<br />
.RUN PS<br />
*FILNAM<br />
<br />
где FILNAM - файл рисунка, с полным именем FILNAM.PIC. По<br />
истечении 3-15 секунд принтер должен начать печатать Ваш<br />
рисунок. Эта программа ориентирована на EPSON-совместимые<br />
принтеры.<br />
<br />
Еще один способ получения напечатанного рисунка - это<br />
использование функции Print_Screen. Эта функция реализована на<br />
системном уровне. Для ее нормальной работы, необходимо<br />
выполнение следующих условий:<br />
1) драйвер TT.SYS должен быть загружен в память<br />
2) должна быть произведена настройка на тип Вашего принтера.<br />
В системе с КЦГД это достигается командой<br />
<br />
SET GS PRINT<br />
<br />
после чего Вы нажатием соответсвующих цифр должны выбрать<br />
тип принтера<br />
<br />
В системе с КГД настройка осуществляется командой<br />
<br />
R TT.SYS<br />
<br />
В обоих случаях загруженный драйвер TT.SYS перехватывает код ^A,<br />
интерпретируя его как команду печати экранного ОЗУ.<br />
<br />
Каждый из этих двух способов печати рисунка обладает своими<br />
преимуществами и недостатками. Программа PS.SAV требует файл<br />
рисунка, EPSON-совместимый принтер, работает как независимое<br />
задание, но с ее помощью можно получить неискаженные рисунки.<br />
Преимуществами Print_Screen является оперативность, возможность<br />
настроить его на конкретный принтер, он не требует файла<br />
рисунка, но при этом не соблюдается масштаб.<br />
<br />
Образно говоря, Print_Screen рекомендуется для получения<br />
"черновых" рисунков, а PS.SAV - для "чистовых".<br />
<br />
<br />
- 18 -<br />
<br />
<br />
Приложение IV<br />
<br />
Дистрибутивы: их имена и место в системе.<br />
<br />
На поставляемых Вам дискетах Вы обнаружите все или некоторые<br />
из следующих файлов:<br />
<br />
TT .SYS рабочие драйверы<br />
GS .SYS<br />
<br />
TTKGD .SYS комплект драйверов для КГД; перед использованием<br />
GSKGD .SYS Вы должны их переименовать в TT.SYS и GS.SYS<br />
соответственно<br />
<br />
TTKCGD.SYS тоже для контроллера КЦГД<br />
GSKCGD.SYS<br />
<br />
GPN .SYS драйвер графопостроителя НЕЙРОН ИС.61, перед<br />
использованием должен быть переименован в<br />
GP.SYS, использует параллельный порт ЭВМ.<br />
<br />
GPP .SYS тоже для графопостроителя POLTIK, использует<br />
плату параллельного интерфейса<br />
VECTOR=074, CSR=177554<br />
<br />
TEST .FOR тестовый пример на фортране<br />
<br />
GR01 .OBJ основная библиотека ГРАФОРа, должна быть<br />
пристыкована к любой графической задаче<br />
<br />
GR01TT.OBJ тоже, без обращения к драйверам (вывод жестко<br />
закреплен за экраном)<br />
<br />
GR2 .OBJ имена библиотек ГРАФОРа<br />
GR3 .OBJ<br />
GR4 .OBJ<br />
GR6 .OBJ<br />
GR61 .OBJ<br />
GR7 .OBJ<br />
GR8 .OBJ<br />
GR9 .OBJ<br />
GR10 .OBJ<br />
GR11 .OBJ<br />
GR12 .OBJ<br />
GR13 .OBJ<br />
GR14 .OBJ<br />
GR16 .OBJ<br />
<br />
<br />
- 19 -<br />
<br />
<br />
Приложение V<br />
<br />
Перечень подпрограмм ГРАФОРа.<br />
<br />
----------------------------------------------------------------<br />
Имя подпрограммы I Имя библиотеки<br />
----------------------------------------------------------------<br />
<br />
ADDLEV(C,NCN,IS,CAD,NAD) GR8<br />
ANGLER(DELX,DELY) GR6<br />
ANGRID(X0,Y0,XS,YS,M1,N1,SLOPE) GR13<br />
APPOLY (X,Y,RO,N,CFIT,K1,COF1) GR3<br />
ARC(X1,Y1,X2,Y2,X3,Y3,J) GR3<br />
ARC1(XS1,YS1,XF1,YF1,XC1,YC1,NCW) GR13<br />
ARCANG(R,DELX,DELY,J,TH0A,THFA) GR61<br />
ARCC1(XM,YM,XF,YF,J,R,JB) GR61<br />
ARCELA(A,B,ALPHA,TH0,THF) GR61<br />
ARCELB(A,B,ALPHA,XF,YF) GR6<br />
ARCIA(R,TH0,THF) GR13<br />
ARCIB(R,XF,YF,J) GR6<br />
ARCIC(XM,YM,XF,YF,J) GR6<br />
ARCID(XC,YC,PHI) GR6<br />
ARCOCC(R,XT1,YT1,XT2,YT2,J) GR61<br />
ARCOLC(R,XT1,YT1,XT2,YT2,J) GR61<br />
ARCOLL(R,XT1,YT1,XT2,YT2,J) GR61<br />
AREB1(TH0,THF,G,TH02,THF2) GR6<br />
ARRINL(X,Y,A,IX,IY,IXB,IXE,IYB,IYE,DX,DY,DZ,NL,NLBEG) GR11<br />
ARROW(J) GR6<br />
ASTEP(AN,AX,BS,MK,KD) GR1<br />
ATDX(Z,X,Y) GR14<br />
ATDX1(Z,X,Y) GR14<br />
ATDX2(Z,X,Y) GR14<br />
ATDX3(Z,X,Y) GR14<br />
ATDY(Z,X,Y) GR14<br />
ATDY1(Z,X,Y) GR14<br />
ATDY2(Z,X,Y) GR14<br />
ATDY3(Z,X,Y) GR14<br />
ATRAN2(A1,B1,C1,A2,B2,C2) GR2<br />
ATRST GR2<br />
AXES (NAMEX,NX,UX,KX,NAMEY,NY,UY,KY,M) GR1<br />
AXISC(NAME,NC,MMIN,MS,NM) GR3<br />
AXONOM(X,Y,Z) GR4<br />
BAR(X,Y,H,W,SH,IHAT,NP1) GR3<br />
BARS(Y,YP,N,W,IHAT,NP1) GR3<br />
BCD(A,IB,N) GR1<br />
BEGLEV GR2<br />
BITA(ITAGB,IXBD,IYBD,N1,N2,N5) GR8<br />
BLAN GR2<br />
BLANC(X,Y,N,IN) GR2<br />
BLANCH GR2<br />
BOUND(Z,M,N,X,Y,NX,NY,KX,KY,NF,XMI,XMA,YMI,YMA) GR14<br />
BOX (X,Y,XL,YL) GR1<br />
BRLINE(X,Y,N) GR8<br />
BROKEN (AN1,AN2,AN3,AN4) GR8<br />
BUFL(IXF,YFI,IBX,BYI,RMAX,RMIN) GR7<br />
<br />
<br />
- 20 -<br />
<br />
<br />
BYPASS(I) GR1<br />
CABIN(I) GR4<br />
CCNTL(CN,L,C) GR13<br />
CCNTRP(CN,P,C) GR13<br />
CELL(PHI,N1,N2) GR8<br />
CHENSP(YM,N,YH,K,C,M) GR3<br />
CILIND(R,HMN,HMX,NH,NFI,DX,DY,DZ,NLINES,NBEG) GR11<br />
CIRC(R) GR6<br />
CIRCLE (XA,YA,TH0,THF,R0,RF,L) GR2<br />
CIRTAC(R,XT,YT,J) GR61<br />
CIRTAL(R,XT,YT,J) GR61<br />
CMGRID(X,Y,N1,N2,MX,MY,SZ,KP,M,N,IKOP) GR8<br />
CMLC(LM,C1,C2) GR13<br />
CMS GR1<br />
CNCTCC(C1,C2,R,N) GR12<br />
CNCTCL(C,L,R,N) GR12<br />
CNCTLL(L1,L2,R,N) GR12<br />
CONDEK(LX,LY,X,Y,Z,STEP,K0,N,C) GR9<br />
COORD (CO,J) GR2<br />
COORDT(DX,DY,DZ,NLINES,N1,N2,NCLUST,NLNDR,ITYP) GR11<br />
COPCHR(C,A) GR0<br />
CORNL (LXI1,LX1,LYJ1,LY1,K1,M1,K2,M2,X,Y,A,LXX,<br />
LYY,XF1,YF1,RMAX,RMIN) GR7<br />
COSIN1(X1,Y1,X2,Y2) GR10<br />
COSIN2(X1,Y1,X2,Y2) GR10<br />
CPPP(P1,P2,P3,C) GR13<br />
CROSS(X,Y,J) GR61<br />
CROSSP(X,Y,RC,T) GR11<br />
CTCCP(C1,C2,P,N) GR12<br />
CTCPP(P1,P2,C,N) GR13<br />
CTLLL(L1,L2,L3,M) GR12<br />
CTLLP(L1,L2,P,N) GR12<br />
CTLPP(P1,P2,L1,N) GR12<br />
CUBPOL (X1,X2,Y1,Y2,DY1,DY2,B) GR3<br />
CXYR(X,Y,R,C) GR12<br />
DASHP(X,Y,DL) GR2<br />
DDIST(X,Y) GR61<br />
DERIV5 (DX,Y,N,I) GR3<br />
DIMDRO(D,J) GR6<br />
DIMET GR4<br />
DIST(J) GR6<br />
DRACON(LX,LY,X,Y,Z,STEP,K,N,C,FUNX,FUNY) GR9<br />
DRALIM(LX,LY,X,Y,FUNX,FUNY,S) GR9<br />
DRAWEL(T,I) GR11<br />
DRAWTE GR11<br />
DRFRAM(LX,LY,X,Y,FUNX,FUNY) GR9<br />
DRW(DX,DY,DZ,NLINES,NL1,NL2) GR11<br />
DRWHL(DX,DY,DZ,NLINES,NL1,NL2) GR11<br />
ELIPS (X0,Y0,A,B,ALPHA,THETO,THETF) GR1<br />
ELPS(A,B,ALPHA) GR6<br />
ENDLEV GR2<br />
ENDPG(NUMB,LENN) GR0<br />
EXMIMA (Z,M,N,ZMI,ZMA) GR14<br />
EXTLN(X,Y,Z,G) GR11<br />
EXTREM(R,T,N1,N2,XMN,XMX,YMN,YMX,IKOP) GR8<br />
<br />
<br />
- 21 -<br />
<br />
<br />
EXUDE(Z,M,N,X,Y,NX,NY,KX,KY,NF,MRKA,MRKI,KD,H,TH) GR14<br />
FATARC(R,XF,YF,J,D) GR6<br />
FATLIN(XF,YF,D) GR6<br />
FINAL GR0<br />
FNROOT(LX,LY,X,Y,Z,NROOTS,ROOT) GR9<br />
FORFIT (M,A,B,XBEG,XEND,MPTS) GR3<br />
FORIF (FUN,N,M,A,B,IER) GR3<br />
FORIT (FNT,N,M,A,B,IER) GR3<br />
FULL GR8<br />
GFFALS(N) GR2<br />
GRAFER(IT) GR9<br />
GRID (X,Y,XS,YS,M,N) GR1<br />
GRINIT GR0<br />
HALLNE(DX,DY,DZ,NLINES,N1,N2,NCLUST,NLNDR,G,TOL,ITYP) GR11<br />
HALOED(DX,DY,DZ,NLINES,NDRAW1,NDRAW2,NC1,NC2,<br />
NCLUST,NLNDR,G1,TOL1,ITYP) GR11<br />
HCIND(X,IST,IFN,EL) GR4<br />
HCINIT(A) GR11<br />
HCINV(X,Y,Z,XP,YP,ZP) GR4<br />
HCLINE(X,Y,NP) GR4<br />
HCMULT(A,B) GR4<br />
HCNCOR(X,Y,Z,T) GR11<br />
HCNCRD(X,Y,Z) GR4<br />
HCPRSP(H) GR4<br />
HCROT1(X,Y,Z) GR4<br />
HCSURF(X,Y,Z,NROW,NCOL,ISTA,IFN,JSTA,JFN,LNT,MOVX,<br />
MOVY,AMXMN,AR) GR4<br />
HCUNIT(A) GR4<br />
HISTGM(X0,DX,Y0,YV,N,NP1) GR3<br />
HLDLN(DX,DY,DZ,NLINES,I,NC1,NC2,NCLUST,NLNDR,ITYP) GR11<br />
IBCD(IRI,IB) GR1<br />
IDENT(MD,ND) GR0<br />
ILIMTN(L,IR,IBOUND,NB) GR10<br />
INCHES GR1<br />
INCLIN (XBEG,DXEX,JX,Y,N,NM,JS) GR3<br />
INIT GR4<br />
INSDEK(LX,LY,X,Y,Z) GR9<br />
INSIDE(LX,LY,X,Y,Z,FUNX,FUNY) GR9<br />
INTRSC(X1,Y1,X2,Y2,X3,Y3,X4,Y4,X0,Y0) GR7<br />
ISOLIN(N1,N2,X,Y,PHI,ITAGB,NA,IXBD,IYBD,KC,CONT,IKOP) GR8<br />
ISOMET GR4<br />
ITALIC(J) GR1<br />
ITPLBV(LX,LY,X,Y,Z,N,U,V,W) GR9<br />
IVEST (A,B,EPS) GR6<br />
IZFLIN(Z,M,N,X,Y,ZIZ,L,NX,NY,KX,KY,NF,XI,YI,NL) GR14<br />
IZLIN(Z,M,N,X,Y,ZMI,ZIZ,NIZ,NX,NY,KX,KY,XI,YI,NL) GR14<br />
IZOLIN(Z,M,N,X,Y,ZIZ,L,XI,YI,NL) GR14<br />
KEYPO (PHI,X,Y,N1,N2,IS1,IS2,NM,SZ,KP,IKOP) GR8<br />
LCROSS(X1,Y1,X2,Y2,X3,Y3,X4,Y4,C,D) GR10<br />
LESQ (X,Y,RO,M,B,N) GR3<br />
LETIZO(XI,YI,ILM,ZIZ,NIZ,KIND) GR14<br />
LETSPL(XI,YI,ILM,ZIZ,NIZ,KIND) GR14<br />
LEVFUN(PHI,N1,N2,C,NCN) GR8<br />
LEVMAP(C,NC,F0,SP,SM,NP) GR8<br />
LGLINE(X,Y,N,LG,NM,JS,L) GR2<br />
<br />
<br />
- 22 -<br />
<br />
<br />
LICON(XT1,YT1,XT2,YT2,J) GR6<br />
LIMITS (XMIN,XMAX,YMIN,YMAX) GR1<br />
LINEC(X,Y,N) GR1<br />
LINEMC(X,Y,N,NM,JS) GR1<br />
LINEMO(X,Y,N,NM,JS) GR1<br />
LINEO(X,Y,N) GR1<br />
LINFIL(A,B,N,M) GR3<br />
LININT(IBX,BYI,IXF,YFI,RMAX,RMIN) GR7<br />
LINNUM(X,Y,KT) GR8<br />
LINT(X,Y,XX,YY,N1,N2,KT,IKOP) GR8<br />
LITAN(XT,YT,J) GR6<br />
LOCEXT(PHI,X,Y,N1,N2,IKOP) GR8<br />
LOOK(N1,N2,X,Y,PHI,ITAGB,XX,YY,KT,IKOP) GR8<br />
LOWER (Z,M,N,ZMI) GR14<br />
LPAL(P,A,L1,L) GR12<br />
LPARLD(L1,D,L2) GR12<br />
LPARLP(L1,P,L2) GR12<br />
LPARX(D,L) GR12<br />
LPARY(D,L) GR12<br />
LPERLP(L1,P,L2) GR12<br />
LPP(P1,P2,L) GR12<br />
LSCALE(X1,Y1,X2,Y2,R) GR2<br />
LSFIT (X,Y,RO,M,N,MPTS) GR3<br />
MAP (X,Y,Z) GR7<br />
MARKBE (XI,YI,IL) GR14<br />
MARKER(NMARK) GR1<br />
MATEVL(XV,YV,ZV,XPL,YPL,ZPL,VX,VY,VZ) GR10<br />
MINMAX(A,N,RMN,RMX) GR1<br />
MMS GR1<br />
MNMX(VX,VY,VZ,X,Y,A,LLX,LLY,LXINI,LXE,LYIN,LYE,S) GR7<br />
MODGF(J) GR10<br />
MOVA(DL,TH,J) GR61<br />
MOVB(DX,DY,J) GR6<br />
MOVC(XM,YM,DL,J) GR6<br />
MOVE(X,Y,J) GR1<br />
MOVE(X,Y,J) GR6<br />
MOVE1(X,Y,J) GR2<br />
MOVE2(X,Y,J) GR2<br />
MOVE3(X,Y,J) GR2<br />
MTMPL(AL1,BL1,CL1,AL2,BL2,CL2,<br />
AT1,BT1,CT1,AT2,BT2,CT2,AE1,BE1,CE1,AE2,BE2,CE2) GR2<br />
MXMULT(A,B) GR11<br />
NEWFRM GR10<br />
NEXTRG(IBOUND,X,Y,NET,NODES,NB,XV,YV) GR10<br />
NOTCH(X,Y,N,NSIZE,STEP,J,ITR) GR2<br />
NOTCH1 GR2<br />
NUMBER(X,Y,Z,FNUM,N,TH) GR2<br />
NUMLIN(SIZE,N) GR8<br />
OPER(LRP1,I,X,RZ) GR9<br />
PAC(C,A,P) GR13<br />
PAGE (XL,YL,NAME,N0,J) GR0<br />
PATA(C,A1,A2,N,I,P) GR13<br />
PATC(C,A,N,I,J,P) GR13<br />
PATCH(XF1,YF1,RMAX,RMIN) GR7<br />
PATL(PH,PK,N,I,P) GR13<br />
<br />
<br />
- 23 -<br />
<br />
<br />
PCNAP(PC,P1,ALPHA,P) GR13<br />
PCNTRC(C,P) GR13<br />
PEN(J) GR0<br />
PICTUR(ISCR,SCRN,IDIM1,IDIM2,X1,Y1,X2,Y2) GR10<br />
PIEPP(P1,P2,A,B,K,P) GR13<br />
PILC(L,C,N) GR12<br />
PILL(L1,L2,P,N) GR13<br />
PISS(P1,P2,P3,P4,P,N) GR13<br />
PLOT(IXI,IYI,J) GR0<br />
PMIDPP(P1,P2,P) GR13<br />
PMLP(L,P1,P2) GR13<br />
PMP(P1,P2,J) GR13<br />
PMPP(P1,P,P2) GR13<br />
PNORDR(X,Y,NET,L,IB,IE) GR10<br />
POLG(R,M,PHI) GR6<br />
POLINE(R,TH,N,KS,NM,JS,L) GR2<br />
POLREG(XOFC,YOFC,RIN,RFN,THETA1,THETA2,JTEXT,M,H,J) GR2<br />
POLYG (X,Y,SL,M,TH) GR1<br />
PRAP(P1,R,A,P2) GR13<br />
PREP(X,Y,Z,N0,XV,YV,ZV,XPL,YPL,ZPL,VX,VY,VZ,<br />
ISCR,IDIM1,RLYTOX) GR10<br />
PRJ(IT,X,Y,Z) GR11<br />
PRJHL(IT,X,Y,Z) GR11<br />
PRJT(VX,VY,VZ,X,Y,A,LX,LY,LXIN,LXE,LYIN,LYE,XF1,YF1) GR7<br />
PROJCT(XP,YP,ZP,XPJ,YPJ) GR10<br />
PRSP(VX,VY,VZ,X,Y,A,LLX,LLY,LXINIT,LXEND,LYINIT,LYEND,<br />
XF1,YF1,RMAX,RMIN,NN) GR7<br />
PSCALE(X,Y,R) GR2<br />
PTLPC(C,P,N) GR12<br />
PVAL(RES,ARG,B,N) GR3<br />
PXY(X,Y,P) GR13<br />
QUADRA(ITAGB,IXBD,IYBD,N1,N2,N5) GR8<br />
RAISE (Z,M,N,ZMI) GR14<br />
RAND(RMIN,RMAX,K) GR3<br />
RAXES(NAME,N,H,UR,KR,M,T) GR2<br />
RCCNTC(CN,C,R1,R2) GR13<br />
RDACA(X0,Y0,R,TH0,THF) GR61<br />
RDACB(X0,Y0,R,XF,YF,J) GR61<br />
RDACC(X0,Y0,XM,YM,XF,YF,J) GR61<br />
RDACD(X0,Y0,XC,YC,PHI) GR61<br />
RDAEA(X0,Y0,A,B,ALPHA,TH0,THF) GR61<br />
RDAEB(X0,Y0,A,B,ALPHA,XF,YF) GR61<br />
RDCRC(XC,YC,R) GR61<br />
RDELP(XC,YC,A,B,ALPHA) GR61<br />
RDMVA(X0,Y0,DL,TH) GR61<br />
RDMVB(X0,Y0,DELTAX,DELTAY) GR61<br />
RDMVC(X0,Y0,XM,YM,DL) GR61<br />
RDMVE(X0,Y0,X,Y) GR61<br />
RDSTR(STORE) GR6<br />
REBLAN GR2<br />
RECT (X,Y,H,W,TH) GR1<br />
RECUR (Z,M,N,NX,NY,KX,KY) GR14<br />
REGION(X,Y,XL,YL,NAME,N,J) GR1<br />
RENTCH GR2<br />
RENUM GR8<br />
<br />
<br />
- 24 -<br />
<br />
<br />
RESET GR2<br />
ROTATE(X,Y,PSI) GR2<br />
ROTH(NAXES,FI,DX,DY,DZ,NLINES,NBEG,NEND) GR11<br />
SAVETR(A) GR4<br />
SCREN1(ISCR,SCRN,IDIM1,IDIM2,Y,N,IND) GR10<br />
SCREN2(ISCR,SCRN,IDIM1,IDIM2,X,Y,NL,STEP,XBEG,A1,<br />
B1,A2,B2,IND) GR10<br />
SCRMOD(ISCR,SCRN,IDIM1,IDIM2,XL,YL,XIR,YIR,XK,YK) GR10<br />
SDPG(STEP,EPS,BETA) GR2<br />
SEARCH(IXF,YFI,IBX,BYI,XF1,YF1,RMAX,RMIN) GR7<br />
SECANT(SL,ALPHA,X,Y) GR61<br />
SEE(L,IR,IBOUND,X,Y,NB,IND,IDRWN,XV,YV) GR10<br />
SEE1(I1,I2,I3,I4,X,Y,XV,YV,IND) GR10<br />
SEGANG(X1,Y1,X2,Y2,A,STEP,IND) GR10<br />
SET(J) GR1<br />
SETBE (LSTEP,SIZEB) GR14<br />
SETTR(A) GR4<br />
SFCFIT(LX,LY,X,Y,Z,MX,MY,NU,NV,U,V,W) GR8<br />
SHADE(X,Y,N,STEP,EPS,BETA) GR2<br />
SHDOWN(I) GR11<br />
SHEAR(N1,N2,F) GR4<br />
SHIFT(DX,DY) GR2<br />
SHUP(I) GR11<br />
SIGNA(NAME,N,H,XO,YO,RFN,UTR,KTR,A,B,BS,MK,<br />
KD,Q,S,K,R6,AR,C) GR2<br />
SINCL(XB,STEP,Y,N) GR3<br />
SIZLIN(SIZE,N,M) GR8<br />
SIZNUM(SIZE,FNUM,N,M) GR8<br />
SLINST(J) GR14<br />
SMINV(A,V,N) GR3<br />
SMTBVF(LP,LX,LY,X,Y,Z,N,U,V,W) GR9<br />
SMTONE(LX,LY,X,Y,Z,MX,MY,NU,NV,U,V,W) GR9<br />
SMTSIM(LX,LY,X,Y,Z,N,U,V,W) GR9<br />
SORT3(PA,PB,K) GR12<br />
SORTC(J,C) GR13<br />
SORTCN(M,J,C) GR12<br />
SORTL(L,J,C) GR13<br />
SORTP(J,P) GR12<br />
SORTPT(J,PT1,PT2) GR13<br />
SORTY(DX,DY,DZ,NLINES,N1,N2) GR11<br />
SPHERG(R,NFI,NTETA,DX,DY,DZ,NLINES,NBEG) GR11<br />
SPHERV(R,NFI,NTETA,DX,DY,DZ,NLINES,NBEG) GR11<br />
SPIRAL(TH0,THF,R0,RF) GR6<br />
SPLINE (X,Y,U,N,A,B,C,D,KODE,IER) GR3<br />
SPLINT (X,N,A,B,C,D,Y,M) GR3<br />
SPLITP(X,Y,Z) GR11<br />
SPLOT(IXI,IYI,J) GR0<br />
STAR(R,M,ALPHA,PHI) GR61<br />
STORIN(AL,AU) GR11<br />
STRMOD(J) GR6<br />
STROT3(NAXES,CS,SN,R) GR11<br />
SUPLIN(X,Y,N,NM,JS,L,IKOP) GR8<br />
SVLSEG(AL,AU,I) GR11<br />
SYMBOL(X,Y,SIZE,JBCD,LIMIT,THETA) GR1<br />
SYMTAB(JB,I,NPLOT,KK,IS1) GR1<br />
<br />
<br />
- 25 -<br />
<br />
<br />
TCALC (X,Y,T,N) GR3<br />
TDAXES(X,Y,REG,L) GR4<br />
TDLIM(X,Y,Z,NROW,NCOL,ISTA,IFN,JST,JFN,S) GR4<br />
TDLIML(X,Y,Z,N,S) GR4<br />
TDLINE(X,Y,Z,N) GR4<br />
TDMP(X,Y,N,A,B,C,D,KODE) GR3<br />
TDROT(NAXES,ALPHA) GR4<br />
TDSCAL(NAXES,SCALE) GR4<br />
TDSECT(Z,X,Y,IX,IY,M,N,AMXMN,AR) GR4<br />
TDTRAN(DX,DY,DZ) GR4<br />
TESTVS GR11<br />
TFM(XF,YF,XM,YM) GR2<br />
THAXES(NAME,N,H,UT,KT,MT,R) GR2<br />
THREED(X,Y,Z,NROW,NCOL,ISTA,IFN,JSTA,JFN,<br />
LNTP,NGRD,AMXMN,AR) GR4<br />
TMF(XM,YM,XF,YF) GR1<br />
TMLGF (X,Y,LG,N,XF,YF) GR2<br />
TOKEN(X,Y,MRK,FZ,N,H,TH) GR14<br />
TPF(RM,TM,KN,RF,P,X,Y) GR2<br />
TRANH(DELX,DELY,DELZ,DX,DY,DZ,NLINES,NBEG,NEND) GR11<br />
TRANSF(ZIZ,XI,YI,ILM) GR14<br />
TRANSL(DX,DY) GR2<br />
TRDRAW(ISCR,SCRN,IDIM1,IDIM2,X,Y,Z) GR10<br />
TRG(L,IR,K,KL,KR,NET,NODES,IBOUND,NB,X,Y,XV,YV,IND) GR10<br />
TRGRID(X,Y,N0,NET,IBOUND,NODES,NET0,NT1) GR10<br />
TRIDIG (U,N,A,B,C,D,KODE,IER) GR3<br />
TRIG(X,Y,N0,NODES,NET0,IBOUND,NET,NT1) GR10<br />
TRINGL(X,Y,N0,IBOUND,IDOM,NODES,NET,NT1) GR10<br />
TRSURF(X,Y,Z,N0,XV,YV,NODES,NET0, GR10<br />
VIEW(X,Y,Z) GR4<br />
VPLIM(DX,DY,DZ,NLINES,NL11,NL2,S) GR11<br />
WHERE(X,Y,F) GR1<br />
WHERP(X,Y,F) GR61<br />
WRACA(R,TH0,THF) GR61<br />
WRACB(R,XF,YF,J) GR6<br />
WRACC(XM,YM,XF,YF,J) GR6<br />
WRACD(XC,YC,PHI) GR6<br />
WRAEA(A,B,ALPHA,TH0,THF) GR6<br />
WRAEB(A,B,ALPHA,XF,YF) GR6<br />
WRCRC(R) GR6<br />
WRELP(A,B,ALPHA) GR6<br />
WRMVA(DL,TH) GR6<br />
WRMVB(DELTAX,DELTAY) GR6<br />
WRMVC(XM,YM,DL) GR6<br />
WRMVE(X,Y) GR61<br />
WRSTR(STORE) GR6<br />
XAXIS(Y0,NAMEX,NX,UX,KX,M,J) GR2<br />
XILIY (Z1,Z2,ARG1,ARG2,ZIZOL,I,J,IUS,JUS) GR14<br />
XILIY1 (Z1,Z2,ARG1,ARG2,ZIZOL,I,J,IUS,JUS) GR14<br />
XLGAX (YO,NAME,N,J,K,M) GR2<br />
XPOL(X,Y) GR8<br />
XYSORT (X,Y,N) GR3<br />
YAXIS(X0,NAMEY,NY,UY,KY,M,J) GR2<br />
YLGAX (XO,NAME,N,J,K,M) GR2<br />
YPOL(X,Y) GR8<br />
<br />
<br />
- 26 -<br />
<br />
<br />
ZAPIT(ITAGB,N1,N2) GR8<br />
ZINT(X1,Z1,X2,Z2,X) GR4<br />
<br />
<br />
- 27 -<br />
<br />
<br />
Приложение VI<br />
<br />
КЦГД: дозагружаемый графический интерпретатор.<br />
<br />
По сути, данное приложение является инструкцией по<br />
эксплуатации графического интерпретатора КЦГД. Данный<br />
интерпретатор был написан автором для работы с ГРАФОРом,<br />
хотя его использование может быть и автономным. Загружается он<br />
в ОЗУ КЦГД командой<br />
<br />
R GS.SYS<br />
<br />
Чтобы интерпретатор начал действовать, необходимо передать<br />
в КЦГД следующие управляющие последовательности:<br />
(здесь и далее последовательность <ESC > означает восьмеричный<br />
код 033, или десятичный 27; на клавиатуре это клавиша <АР2> или<br />
комбинация <СУ>[ )<br />
<br />
ESC < переводит КЦГД в расширенную систему<br />
команд;<br />
ESC P переводит КЦГД в графический режим.<br />
<br />
В обычный текстовый режим работы КЦГД возвращается<br />
следующими командами:<br />
<br />
ESC ~ (тильда; ^ в нижнем регистре)<br />
выводит КЦГД из графического режима<br />
в расширенную систему команд;<br />
<br />
ESC [?2l переводит КЦГД в обычный режим.<br />
<br />
В графическом режиме КЦГД может выполнять следующие<br />
команды:<br />
<br />
D X,Y; рисование линии из текущего состояния в<br />
точку X,Y;<br />
M X,Y; перевести перо в точку X,Y;<br />
J N; установить цвет <N=0..3>;<br />
H; начальная установка интерпретатора;<br />
C; после получения этой команды КЦГД выдает в<br />
ЭВМ полную последовательность байт для<br />
функции Print_Screen;<br />
<br />
Все эти команды, за исключением <C;>, можно отдать с<br />
клавиатуры в автономном режиме.<br />
При обращении к драйверу <GS:>, последний автоматически<br />
передает в КЦГД все управляющие коды.<br />
<br />
<br />
- 28 -<br />
<br />
<br />
Приложение VII<br />
<br />
КЦГД: дозагружаемые коды клавиатуры.<br />
<br />
КЦГД дозагружается новыми кодами клавиатуры в процессе<br />
загрузки операционной системы. Программа загрузки находится в<br />
файле TT.SYS. Ниже приведены изменяемые коды клавиш.<br />
<br />
--------------------------------------------------------<br />
Название клавиши КОИ7 Восьмеричный код Примечания<br />
--------------------------------------------------------<br />
ПЕЧАТЬ КАДРА ^A 001<br />
ПАУЗА NULL 000<br />
ф5 ^^ 036<br />
ПРЕРЫВ ^S 023<br />
ПРОДОЛЖ ^T 024<br />
ОТМЕН ^U 025<br />
ОСНОВН КАДР ^V 026<br />
ВЫХОД ^C 003<br />
АР2 ESC 033<br />
ВШ ^H 010<br />
ПС ^J 012<br />
ДОП ВАРИАНТ NULL 000<br />
ПМ ESC a 033,141<br />
ВЫБР ESC f 033,146<br />
Ф17 ESC H 033,110<br />
Ф18 ESC J 033,112<br />
ф19 ESC K 033,113<br />
ф20 ESC L 033,114<br />
НТ ESC c 033,143<br />
ВСТ ESC d 033,144<br />
УДАЛ ESC e 033,145<br />
ИСП ESC b 033,142<br />
ПРЕД КАДР ESC g 033,147<br />
СЛЕД КАДР ESC h 033,150<br />
~ ^J 012<br />
РУС ЛАТ ^N 016<br />
КМП ^O 017<br />
{ { 173<br />
} } 175<br />
ТБ ^X 030<br />
ЗБ DEL 177<br />
ПФ1 ESC P 033,120<br />
ПФ2 ESC Q 033,121<br />
ПФ3 ESC R 033,122<br />
ПФ4 ESC S 033,123<br />
7 7 067 *<br />
8 8 070 *<br />
9 9 071 *<br />
. . 056 *<br />
4 4 064 *<br />
5 5 065 *<br />
6 6 066 *<br />
- - 055 *<br />
1 1 061 *<br />
<br />
<br />
- 29 -<br />
<br />
<br />
2 2 062 *<br />
3 3 063 *<br />
, , 054 *<br />
0 0 060 *<br />
ВВОД ^M 015 *<br />
-------------------------------------------------<br />
<br />
* - Выдает ESC-последовательности в режиме дополнительной<br />
клавиатуры.<br />
</pre></div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%BD%D0%B5%D0%BC%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4_%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BE%D0%B2_Intel_8080_%D0%B8_Z80&diff=3754Мнемоника команд микропроцессоров Intel 8080 и Z802024-03-23T14:47:37Z<p>Nzeemin: Новая страница: «{{ДИ|Источник=https://sysadminmosaic.ru/msx/basic_dialogue_programming_language/111?rev=1662925243}} <pre> ┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐ │ INTEL 80 │Мнемоника Z80│...»</p>
<hr />
<div>{{ДИ|Источник=https://sysadminmosaic.ru/msx/basic_dialogue_programming_language/111?rev=1662925243}}<br />
<pre><br />
┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐<br />
│ INTEL 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ ADC r │ ADC A,r │ A:=A+r+CY │**V*0*│ 1 │ 4│ r ≡ A,B,C,D,E,H,L │Add with Carry│<br />
│ ADC M │ ADC A,(HL) │ A:=A+(HL)+CY │ │ 1 │ 7│ │ to Acc │<br />
│ ACI,n │ ADC A,n │ A:=A+n+CY │ │ 2 │ 7│ n - byte (0..FF) │ │<br />
│ - │ ADC A,(ii+n)│ A:=A+(ii+n)+CY │ │ 3 │ 19│ ii=IX,IY │Add register +│<br />
│ - │ ADC HL,rr │ HL:=HL+rr+CY │**V*0x│ 2 │ 15│ rr ≡ BC,DE,HL,SP │Carry to[HL] │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ ADD r │ ADD A,r │ A:=A+r │**V*0*│ 1 │ 4│ │ │<br />
│ ADD M │ ADD A,(HL) │ A:=A+(HL) │ │ 1 │ 7│ │ Add │<br />
│ ADI n │ ADD A,n │ A:=A+n │ │ 2 │ 7│ │ │<br />
│ - │ ADD A,(ii+n)│ A:=A+(ii+n) │ │ 3 │ 19│ │ │<br />
│ DAD rr │ ADD HL,rr │ HL:=HL+rr │*...0x│ 1 │ 11│ │ │<br />
│ - │ ADD IX,ry │ IX:=IX+px │ │ 2 │ 15│ ry ≡ BC,DE,SP,IY │ IY \ 16 │<br />
│ - │ ADD IY,rx │ IY:=IY+py │ │ 2 │ 15│ rx ≡ BC,DE,SP,IX │ IX / bits │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ ANA r │ AND r │ A:=A and r │0*P*01│ 1 │ 4│ │ │<br />
│ ANA m │ AND (HL) │ A:=A and (HL) │ │ 1 │ 7│ │ Logical AND │<br />
│ ANI n │ AND n │ A:=A and n │ │ 2 │ 7│ │ │<br />
│ - │ AND (ii+n) │ A:=A and (ii+n) │ │ 3 │ 19│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ BIT b,r │ Z:=not rб │.*xx01│ 2 │ 8│ b - номер бита (0÷7) │ │<br />
│ - │ BIT b,(HL) │ Z:=not (HL)б │ │ 2 │ 12│xб - bit b of │ Test BIT │<br />
│ - │ BIT b,(ii+n)│ Z:=not (ii+n)б │ │ 4 │ 20│ location x │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ CALL nn │ CALL nn │ PUSH PC;PC:=nn │......│ 3 │ 17│nn - word (0..FFFF) │Call subroutin│<br />
│ - │ CALL cc,nn │ Если cc, то CALL nn │ │ 3 │ 17│cc ≡ C,NC,Z,NZ,M,P,PE,│Call │<br />
│ CC nn │ CALL C,nn │ иначе продолжить │ │ │ 10│ PO │conditional │<br />
│ CM nn │ CALL M,nn │ │ │ │ │ │ │<br />
│ CNC nn │ CALL NC,nn │ │ │ │ │ │ │<br />
│ CNZ nn │ CALL NZ,nn │ │ │ │ │ │ │<br />
│ CP nn │ CALL P,nn │ │ │ │ │ │ │<br />
│ CPE nn │ CALL PE,nn │ │ │ │ │ │ │<br />
│ CPO nn │ CALL PO,nn │ │ │ │ │ │ │<br />
│ CZ nn │ CALL Z,nn │ │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ CMC │ CCF │ CY:=not CY │*...0x│ 1 │ 4│ CoMplement Carry Flag │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ CPM r │ CP r │ A-r │**V*1*│ 1 │ 4│ │ │<br />
│ CPM m │ CP (HL) │ A-(HL) │ │ 1 │ 7│ │ Compare │<br />
│ CPI n │ CP n │ A-n │ │ 2 │ 7│ │ │<br />
│ - │ CP (ii+n) │ A-(ii+n) │ │ 3 │ 19│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ CPD │ A-(HL);dec HL;dec BC│.***1*│ 2 │ 16│PV=0еслиBC=0иначе PV=1│Compare,decrem│<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ CPDR │ Повторять CPD , │.***1*│ 2 │ 21│ │Compare,decre-│<br />
│ │ │ пока Z=1 or BC=0 │ │ │ 16│ │ment,repeat │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ CPI │ A-(HL);inc HL;dec BC│.***1*│ 2 │ 16│PV=0 еслиBC=0иначеPV=1│Compare,decrem│<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ CPIR │ Повторять CPI , │.***1*│ 2 │ 21│ │Compare,decre-│<br />
│ │ │ пока Z=1 or BC=0 │ │ │ 16│ │ment,repeat │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ CMA │ CPL │ A:=A xor 255 │....11│ 1 │ 4│ │Complement Acc│<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ DAA │ DAA │ │**P*.*│ 1 │ 4│ │Dec. Adj. Acc.│<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ DCR r │ DEC r │ r:=r-1 │.*V*1*│ 1 │ 4│ │ │<br />
│ DCM M │ DEC (HL) │ (HL):=(HL)-1 │ │ 1 │ 11│ │ Decrement │<br />
│ - │ DEC (ii+n) │ (ii+n):=(ii+n)-1 │ │ 3 │ 23│ │ │<br />
│ DCX rr │ DEC rr │ rr:=rr-1 │......│ 1 │ 6│ │ │<br />
│ - │ DEC ii │ ii:=ii-1 │ │ 2 │ 10│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ DI │ DI │ IFF:=0 │......│ 1 │ 4│ Disable interrupts │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ - │ DJNZ e │ dec B;если B≠0 JR e │......│ 2 │ 13│ e - относительный │ Decrement & │<br />
│ │ │ если B=0 продолжать│ │ │ 8│ адрес │jump if Not 0 │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ EI │ EI │ IFF:=1 │......│ 1 │ 4│ Enable interrupts │<br />
└──────────┴─────────────┴─────────────────────┴──────┴───┴───┴─────────────────────────────────────┘<br />
<br />
┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐<br />
│ Intel 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ EX AF,AF' │ AF <─> AF' │......│ 1 │ 4 │ │ │<br />
│ XCHG │ EX DE,HL │ DE <─> HL │ │ 1 │ 4 │ │ EXchange │<br />
│ XTHL │ EX (SP),HL │ (SP) <─> HL │ │ 1 │ 4 │ │ │<br />
│ - │ EX (SP),ii │ (SP) <─> ii │ │ 2 │23 │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ - │ EXX │ BC<─>BC';DE<─>DE'; │......│ 1 │ 4 │ Exchange Register pair & │<br />
│ │ │ HL<─>HL' │ │ │ │ Arternatives │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ HLT │ HALT │ Останов центр.проц. │......│ 1 │ 4 │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ IM 1 │ Режим прерываний 1 │......│ 2 │ 8 │ │ │<br />
│ - │ IM 2 │ Режим прерываний 2 │ │ │ │ │ │<br />
│ - │ IM 3 │ Режим прерываний 3 │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ IN n │ IN A,(n) │ A:=port(n) │......│ 2 │11 │ │ │<br />
│ - │ IN r,(C) │ r:=port(C) │.*P*0*│ 2 │12 │ │ │<br />
│ - │ IN ?,(C) │ Только устанавливает│.*P*0*│ 2 │12 │ Не является командой │ INput │<br />
│ │ │ флаги как IN r,(C) │ │ │ │ (код ED 70) │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ INR r │ INC r │ r:=r+1 │.*V*0*│ 1 │ 4 │ │ │<br />
│ INR M │ INC (HL) │ (HL):=(HL)+1 │ │ 1 │11 │ │ │<br />
│ - │ INC (ii+n) │ (ii+n):=(ii+n)+1 │ │ 3 │23 │ │ INCrement │<br />
│ INX rr │ INC rr │ rr:=rr+1 │......│ 1 │ 6 │ │ │<br />
│ - │ INC ii │ ii:=ii+1 │ │ 2 │10 │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ IND │ (HL):=port(C); │x*xx1x│ 2 │16 │Z=1 если B=0,иначе Z=0│ INput,Decre- │<br />
│ │ │ dec HL;dec B │ │ │ │ │ ment │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ INDR │ Повторять IND , │x1xx1x│ 2 │21 │ │ INput,Decre- │<br />
│ │ │ пока B=0 │ │ │16 │ │ ment,Repeat │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ INI │ (HL):=port(C); │x*xx1x│ 2 │16 │Z=1 if B=0,else Z=0 │ INput,Incre- │<br />
│ │ │ inc HL;dec B │ │ │ │ │ ment │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ INIR │ Повторять INI , │x1xx1x│ 2 │21 │ │ INput,Incre- │<br />
│ │ │ пока B=0 │ │ │16 │ │ ment,Repeat │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ JNP nn │ JP nn │ PC:=nn │......│ 3 │10 │ │ │<br />
│ JC nn │ JP C,nn │ │ │ │ │ │ │<br />
│ JM nn │ JP M,nn │ │ │ │ │ │ │<br />
│ JNC nn │ JP NC,nn │ │ │ │ │ │ │<br />
│ JP nn │ JP P,nn │ │ │ │ │ │ │<br />
│ JNZ nn │ JP NZ,nn │ │ │ │ │ │ J u m p │<br />
│ JPE nn │ JP PE,nn │ │ │ │ │ │ │<br />
│ JPO nn │ JP PO,nn │ │ │ │ │ │ │<br />
│ JZ nn │ JP Z,nn │ │ │ │ │ │ │<br />
│ - │ JP cc,nn │ Если cc, то JP nn │......│ 3 │10 │ │ │<br />
│ PCHL │ JP (HL) │ PC:=HL │ │ 1 │ 4 │ │ │<br />
│ - │ JP (ii) │ PC:=ii │ │ 2 │ 8 │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ - │ JR e │ PC:=PC+e │......│ 2 │12 │ │ Relative jump│<br />
│ - │ JR cond,e │ Если cond, то JR e │ │ 2 │12 │cond ≡ C,NC,Z,NZ │ │<br />
│ │ │ иначе NOP │ │ │ 7 │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ MOV r,r │ LD r,r │ r:=r │......│ 1 │ 4 │ │ │<br />
│ MOV r,M │ LD r,(HL) │ r:=(HL) │ │ 1 │ 7 │ │ │<br />
│ MVI r,n │ LD r,n │ r:=n │ │ 2 │ 7 │ │ │<br />
│ - │ LD r,(ii+n) │ r:=(ii+n) │ │ 3 │19 │ │ │<br />
│ MOV M,r │ LD (HL),r │ (HL):=r │ │ 1 │ 7 │ │ │<br />
│ - │ LD (ii+n),r │ (ii+n):=r │ │ 3 │19 │ │ │<br />
│ MVI M,n │ LD (HL),n │ (HL):=n │ │ 2 │10 │ │ │<br />
│ - │ LD (ii+n),n │ (ii+n):=n │ │ 4 │19 │ │ │<br />
│ LDAX B │ LD A,(BC) │ A:=(BC) │ │ 1 │ 7 │ │ L o a d │<br />
│ LDAX D │ LD A,(DE) │ A:=(DE) │ │ 1 │ 7 │ │ │<br />
│ LDA nn │ LD A,(nn) │ A:=(nn) │ │ 3 │13 │ │ │<br />
│ STAX B │ LD (BC),A │ (BC):=A │ │ 1 │ 7 │ │ │<br />
│ STAX D │ LD (DE),A │ (DE):=A │ │ 1 │ 7 │ │ │<br />
│ STA nn │ LD (nn),A │ (nn):=A │ │ 3 │13 │ │ │<br />
│ - │ LD A,I │ A:=I │.***00│ 2 │ 9 │PV=IFF │ │<br />
│ - │ LD A,R │ A:=R │ │ 2 │ 9 │PV=IFF │ │<br />
│ - │ LD I,A │ I:=A │......│ 2 │ 9 │ │ │<br />
│ - │ LD R,A │ R:=A │ │ 2 │ 9 │ │ │<br />
└──────────┴─────────────┴─────────────────────┴──────┴───┴───┴──────────────────────┴──────────────┘<br />
<br />
┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐<br />
│ INTEL 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ LXIrr,nn│ LD rr,nn │ rr:=nn │ │ 3 │ 10│ │ │<br />
│ --- │ LD ii,nn │ ii:=nn │ │ 4 │ 14│ │ │<br />
│ LHLD nn │ LD HL,(nn) │ HL:=(nn) │ │ 3 │ 16│ │ │<br />
│ --- │ LD rr,(nn) │ rr:=(nn) │ │ 4 │ 20│ │ │<br />
│ --- │ LD ii,(nn) │ ii:=(nn) │ │ 4 │ 20│ │ │<br />
│ SHLD nn │ LD (nn),HL │ (nn):=HL │ │ 3 │ 16│ │ │<br />
│ --- │ LD (nn),rr │ (nn):=rr │ │ 4 │ 20│ │ │<br />
│ --- │ LD (nn),ii │ (nn):=ii │ │ 4 │ 20│ │ │<br />
│ SPHL │ LD SP,HL │ SP:=HL │ │ 1 │ 6│ │ │<br />
│ --- │ LD SP,ii │ SP:=ii │ │ 1 │ 10│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ LDD │ (DE):=(HL); │..*.00│ 2 │ 16│PV=0 if BC=0,else PV=1│load,decrement│<br />
│ │ │ dec DE,HL,BC │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ LDDR │ Повторять LDD │..0.00│ 2 │ 21│ │load,decrement│<br />
│ │ │ до Z=1 or BC=0 │ │ │ 16│ │repead │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ LDI │ (DE):=(HL); │..*.00│ 2 │ 16│PV=0 if BC=0,else PV=1│load,increment│<br />
│ │ │ inc DE,HL;dec BC │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ LDIR │ Повторять LDI │..0.00│ 2 │ 21│ │load,increment│<br />
│ │ │ до Z=1 or BC=0 │ │ │ 16│ │repead │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ NEG │ A:=0-A │**V*1*│ 2 │ 8│ │Negate Acc │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ NOP │ NOP │ Отсутствие операции │......│ 1 │ 4│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ ORA r │ OR r │ A:=A or r │0*P*00│ 1 │ 4│ │ Logical OR │<br />
│ ORA M │ OR (HL) │ A:=A or (HL) │ │ 1 │ 7│ │ │<br />
│ ORI n │ OR n │ A:=A or n │ │ 2 │ 7│ │ │<br />
│ --- │ OR (ii+n) │ A:=A or (ii+n) │ │ 3 │ 19│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ OTDR │ Повторять OUTD │x1xx1x│ 2 │ 21│ │ Output,decre-│<br />
│ │ │ до B=0 │ │ │ 16│ │ ment,repeat │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ OTIR │ Повторять OUTI │x1xx1x│ 2 │ 21│ │ Output,incre-│<br />
│ │ │ до B=0 │ │ │ 16│ │ ment,repeat │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ OUT n │ OUT (n),A │ port(n):=A │......│ 2 │ 11│ │ Output │<br />
│ --- │ OUT (C),r │ port(C):=r │ │ 2 │ 12│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ OUTD │ port(C):=(HL); │x*xx1x│ 2 │ 16│Z=1 if B=0,else Z=0 │ Output,decre-│<br />
│ │ │ dec HL;dec B │ │ │ │ │ ment │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ OUTI │ port(C):=(HL); │x*xx1x│ 2 │ 16│Z=1 if B=0,else Z=0 │out,increment │<br />
│ │ │ inc HL;dec B │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ POP gg │ POP qq │ qq:=(SP);SP:=SP+2 │......│ 1 │ 10│qq ≡ AF,BC,DE,HL │Pop from stack│<br />
│ --- │ POP ii │ ii:=(SP);SP:=SP+2 │ │ 2 │ 14│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ PUSH gg │ PUSH qq │ SP:=SP-2;(SP):=qq │......│ 1 │ 11│ │Push to stack │<br />
│ --- │ PUSH ii │ SP:=SP-2;(SP):=ii │ │ 2 │ 15│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ RES b,r │ rб:=0 │......│ 2 │ 8│ │ │<br />
│ --- │ RES b,(HL) │ (HL)б:=0 │ │ 2 │ 15│ │ Reset Bit │<br />
│ --- │ RES b,(ii+n)│ (ii+n)б:=0 │ │ 4 │ 23│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ RET │ RET │ POP PC │......│ 1 │ 10│ │ Return from │<br />
│ ├─────────────┤ │ │ │ │ │ subroutine │<br />
│ │ RET cc │ Если cc то RET │ │ │ │ │ │<br />
│ ├─────────────┤ иначе NOP │......│ 1 │ 11│ ├──────────────┤<br />
│ RC │ RET c │ │ │ │ 5│ │ │<br />
│ RM │ RET M │ │ │ │ │ │ Return │<br />
│ RNC │ RET NC │ │ │ │ │ │ conditional │<br />
│ RNZ │ RET NZ │ │ │ │ │ │ │<br />
│ RP │ RET P │ │ │ │ │ │ │<br />
│ RPE │ RET PE │ │ │ │ │ │ │<br />
│ RPO │ RET PO │ │ │ │ │ │ │<br />
│ RZ │ RET Z │ │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ --- │ RETI │ Возврат из прерыван.│......│ 2 │ 14│ Return from interrupt │<br />
└──────────┴─────────────┴─────────────────────┴──────┴───┴───┴─────────────────────────────────────┘<br />
<br />
┌──────────┬─────────────┬─────────────────────┬──────┬───┬───┬──────────────────────┬──────────────┐<br />
│ INTEL 80 │Мнемоника Z80│ Д е й с т в и е │CZPSNH│Дл.│Вр.│ К о м м е н т а р и и│ Примечания │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ --- │ RETN │Возвр.из немаск.прер.│......│ 2 │ 14│ Return from Non-mascable │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ --- │ RL r │ ┌───────>──────┐ │**P*00│ 2 │ 8│ │ Rotate left │<br />
│ --- │ RL (HL) │ │┌──┐ ┌───────┐│ │ │ 2 │ 15│ │ through Carry│<br />
│ --- │ RL (ii+n) │ └┤CY├<┤7 <── 0├┘ │ │ 4 │ 23│ │ │<br />
├──────────┼─────────────┤ └──┘ └───────┘ ├──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ RAL │ RLA │ │*...00│ 1 │ 4│ Rotate Acc. left throgh Carry │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ --- │ RLC r │ ┌────>────┐ │**P*00│ 2 │ 8│ │ Rotate left │<br />
│ --- │ RLC (HL) │ ┌──┐ │┌───────┐│ │ │ 2 │ 15│ │ circular │<br />
│ --- │ RLC (ii+n) │ │CY├<┴┤7 <── 0├┘ │ │ 4 │ 23│ │ │<br />
├──────────┼─────────────┤ └──┘ └───────┘ ├──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ RLC │ RLCA │ │*...00│ 1 │ 4│ Rotate Acc. left circular │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ --- │ RLD │ A ┌────>───┐(HL)│.*P*00│ 2 │ 18│ │ Rotate Acc & │<br />
│ │ │ ┌───┬─┴─┐┌───┬─┴─┐ │ │ │ │ │ Memore left │<br />
│ │ │ │7 4│3 0││7 4│3 0│ │ │ │ │ │ decimal │<br />
│ │ │ └───┴─┬─┘└┬┬─┴─┬─┘ │ │ │ │ │ │<br />
│ │ │ └─<─┘└─<─┘ │ │ │ │ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ RR r │ ┌──────<───────┐ │**P*00│ 2 │ 8│ │ Rotate right│<br />
│ --- │ RR (HL) │ │┌───────┐ ┌──┐│ │ │ 2 │ 15│ │ through │<br />
│ --- │ RR (ii+n) │ └┤7 ──> 0├>┤CY├┘ │ │ 4 │ 23│ │ Carry │<br />
├──────────┼─────────────┤ └───────┘ └──┘ ├──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ RAR │ RRA │ │*...00│ 1 │ 4│ Rotate Acc. right through Carry │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ --- │ RRC r │ ┌───<─────┐ │**P*00│ 2 │ 8│ │ Rotate │<br />
│ --- │ RRC (HL) │ │┌───────┐│ ┌──┐ │ │ 2 │ 15│ │ right │<br />
│ --- │ RRC (ii+n) │ └┤7 ──> 0├┴>┤CY│ │ │ 4 │ 23│ │ circular │<br />
├──────────┼─────────────┤ └───────┘ └──┘ ├──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ RRC │ RRCA │ │*...00│ 1 │ 4│ Rotate Acc & Memory right Decimal│<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ --- │ RRD │ A ┌───<────┐(HL)│.*P*00│ 2 │ 18│ │ Rotate Acc &│<br />
│ │ │ ┌───┬─┴─┐┌───┬─┴─┐ │ │ │ │ │ memory │<br />
│ │ │ │7 4│3 0││7 4│3 0│ │ │ │ │ │ Right │<br />
│ │ │ └───┴─┬─┘└┬┬─┴─┬─┘ │ │ │ │ │ │<br />
│ │ │ └─>─┘└─>─┘ │ │ │ │ │ Decimal │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ RST adr │ RST adr │ CALL adr │......│ 1 │ 11│adr - byte (000xxx00b)│ Restart │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ SBB r │ SBC A,r │ A:=A-r-CY │**V*1*│ 1 │ 4│ │ Subtract │<br />
│ SBB M │ SBC A,(HL) │ A:=A-(HL)-CY │ │ 1 │ 7│ │ with │<br />
│ SBI n │ SBC A,n │ A:=A-n-CY │ │ 2 │ 7│ │ Carry │<br />
│ --- │ SBC A,(ii+n)│ A:=A-(ii+n)-CY │ │ 3 │ 19│ │ (borrow) │<br />
│ --- │ SBC HL,rr │ HL:=HL-rr-CY │**V*1x│ 2 │ 15│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ STC │ SCF │ CY:=1 │1...00│ 1 │ 4│ │Set Carry Flag│<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ --- │ SET b,r │ rб:=1 │......│ 2 │ 8│ │ │<br />
│ --- │ SET b,(HL) │ (HL)б:=1 │ │ 2 │ 15│ │ Set bit │<br />
│ --- │ SET b,(ii+n)│ (ii+n)б:=1 │ │ 4 │ 23│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┴──────────────┤<br />
│ --- │ SLA r │ ┌──┐ ┌───────┐ │**P*00│ 2 │ 8│ │<br />
│ --- │ SLA (HL) │ │CY├<┤7 <── 0├<0 │ │ 2 │ 15│ Shift left Arithmetic │<br />
│ --- │ SLA (ii+n) │ └──┘ └───────┘ │ │ 4 │ 23│ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼─────────────────────────────────────┤<br />
│ --- │ SRA r │ ┌───────┐ ┌──┐ │**P*00│ 2 │ 8│ │<br />
│ --- │ SRA (HL) │ ┌>┤7 ──> 0├>┤CY│ │ │ 2 │ 15│ Shift right Arithmetic │<br />
│ --- │ SRA (ii+n) │ └─┴───────┘ └──┘ │ │ 4 │ 23│ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┬──────────────┤<br />
│ --- │ SRL r │ ┌───────┐ ┌──┐ │**P*00│ 2 │ 8│ │ Shift right │<br />
│ --- │ SRL (HL) │ 0>┤7 ──> 0├>┤CY│ │ │ 2 │ 15│ │ Logical │<br />
│ --- │ SRL (ii+n) │ └───────┘ └──┘ │ │ 4 │ 23│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ SUB r │ SUB r │ A:=A-r │**V*0*│ 1 │ 4│ │ │<br />
│ SUB M │ SUB (HL) │ A:=A-(HL) │ │ 1 │ 7│ │ Subtract │<br />
│ SVI n │ SUB n │ A:=A-n │ │ 2 │ 7│ │ │<br />
│ --- │ SUB (ii+n) │ A:=A-(ii+n) │ │ 3 │ 19│ │ │<br />
├──────────┼─────────────┼─────────────────────┼──────┼───┼───┼──────────────────────┼──────────────┤<br />
│ XRA r │ XOR r │ A:=A xor r │0*P*00│ 1 │ 4│ │ │<br />
│ XRA M │ XOR (HL) │ A:=A xor (HL) │ │ 1 │ 7│ │ Logical XOR │<br />
│ XRI n │ XOR n │ A:=A xor n │ │ 2 │ 7│ │ │<br />
│ --- │ XOR (ii+n) │ A:=A xor (ii+n) │ │ 3 │ 19│ │ │<br />
└──────────┴─────────────┴─────────────────────┴──────┴───┴───┴──────────────────────┴──────────────┘<br />
</pre></div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:MS-0511_1994-C00914.jpg&diff=3726Файл:MS-0511 1994-C00914.jpg2023-12-18T18:07:01Z<p>Nzeemin: Шильдик УКНЦ МС-0511 выпуска 1994 года</p>
<hr />
<div>== Краткое описание ==<br />
Шильдик УКНЦ МС-0511 выпуска 1994 года</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B_%D1%80%D0%B0%D0%B7%D0%B2%D0%B8%D1%82%D0%B8%D1%8F_%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D1%85_%D0%AD%D0%92%D0%9C_1992&diff=3725Современное состояние и проблемы развития учебных ЭВМ 19922023-11-26T08:41:45Z<p>Nzeemin: /* 1. Концепция КУВТ. Современные отечественные ПЭВМ учебного назначения и КУВТ */</p>
<hr />
<div>{{ДИ| Источник = Системы и средства информатики – Вып. 3 – 1992. с. 255-271 }}<br />
<br />
'''Современное состояние и проблемы развития учебных ЭВМ'''<br/><br />
''М. Л. Гуткин, А. В. Иванов, С. А. Христочевский''<br />
<br />
== 1. Концепция КУВТ. Современные отечественные ПЭВМ учебного назначения и КУВТ ==<br />
Формальное разделение ПЭВМ на бытовые, учебные, профессиональные и т.д. существует только в Советском Союзе, фактически же речь идет о различиях в составе программно-аппаратных средств, оптимальных с точки зрения применения в конкретных областях человеческой деятельности. Таким образом, логично начать с анализа, для чего и как используются ПЭВМ в учебном процессе.<br />
<br />
Мировой опыт использования ПЭВМ в образовании можно классифицировать в виде трех областей:<br />
<br />
а) ПЭВМ и системы программирования как предмет изучения;<br />
<br />
б) ПЭВМ и специализированные пакеты прикладных программ как средство обучения;<br />
<br />
в) применение средств вычислительной техники (СВТ) как средств новых информационных технологий (НИТ): коммуникации, настольные издательства и т.д.<br />
<br />
Каждое из направлений определяет собственный набор основных минимально необходимых программно-аппаратных средств. Общими для всех направлений являются требования надежности, соответствия санитарно-гигиеническим нормам и т.п.<br />
<br />
Практика показывает, что в тех случаях, когда ПЭВМ используется как предмет изучения, можно ограничиться минимальными характеристиками.<br />
<br />
При использовании СВТ как средства обучения и НИТ следует говорить не об учебных ПЭВМ, а о профессиональных ПЭВМ со своей специфической областью применения. При этом в комплект должно входить значительное количество программно-аппаратных инструментальных средств, позволяющих эффективно создавать учебные курсы по самым различным предметам. К таким средствам, например, можно отнести системы ввода-вывода графической и текстовой информации (микро- видео, сканеры, электронные доски), манипуляторы, интегрированные пакеты, средства искусственного интеллекта и т.п. Следует также отметить, что нормальное развитие этого этапа использования СВТ невозможно без достижения достаточной компьютерной грамотности пользователей при работе с аппаратурой и программным обеспечением первого этапа.<br />
<br />
В соответствии с разработанной в СССР концепцией применения ПЭВМ в учебном процессе основной используемой в школе единицей является “комплект учебной вычислительной техники” (КУВТ), включающий в себя компьютеры (от 9 до 16 рабочих мест), объединенные локальной сетью и использующие общую периферию: печатающее устройство (ПУ) и накопитель на гибких магнитных дисках (НМГД).<br />
<br />
В настоящее время по линии Государственного комитета по народному образованию СССР закуплены и используются в учебном процессе следующие виды отечественных КУВТ: КУВТ-86, УКНЦ и “Корвет”. В ряде республик и областей для целей образования используются УПЭВМ и КУВТ других типов и архитектур (в РСФСР комплект вычислительной техники “Агат, исполнение 7”, в БССР – КУВТ “Немига”, в АзССР – КУВТ “Каспий” и т.д.).<br />
<br />
Практически нет совместимости между различными моделями КУВТов как на аппаратном (разные разъемы, форматы на дискетах и т.д.), так и на программном уровне (разные системы команд и разные операционные системы). Теоретически возможен перенос исходных текстов программ на магнитофонной кассете.<br />
<br />
Рассмотрим характеристики перечисленных КУВТов более подробно.<br />
<br />
=== 1.1. КУВТ-86 ===<br />
<br />
КУВТ-86 включает в в себя в качестве РМП одну ПЭВМ типа “Электроника НЦ-80-20/2M” (ДВК-2М) и до 12 ПЭВМ БК-0010Ш (РМУ), комплектуемых монохромными мониторами “Электроника МС-6105” и объединенных локальной сетью через порты последовательного интерфейса типа стык-С2. По ряду параметров КУВТ-86 не удовлетворяет не только внутрисоюзному уровню развития средств учебной вычислительной техники (не говоря о международном), но и ГОСТ 27201-87, регламентирующему основные требования к ПЭВМ.<br />
<br />
ДВК-2М включает в себя системный блок, спаренный дисковод НГМД-6022 и профессиональный алфавитно-цифровой дисплей “Электроника-15И300013”, использующийся как удаленный терминал, связанный с ПЭВМ последовательным интерфейсом, и принтер. В системном блоке установлены: 16-разрядная одноплатная ЭВМ “Электроника НЦ-80-20”, включающая в себя микропроцессор КМ1801ВМ1, 56 Кбайт доступного пользователю ОЗУ, последовательный и параллельный порты, плата контроллера дисковода и две платы КТЛК-6, включающие в себя по шесть последовательных портов каждая. ПЭВМ не допускает графических режимов, видеоОЗУ отсутствует.<br />
<br />
В БК-0010Ш используется одноплатная ЭВМ на основе микропроцессора КМ1801ВМ1 с производительностью 0,3 млн оп/с, 32 Кбайт ОЗУ, из которых видеоОЗУ занимает 16 Кбайт, а 16 Кбайт предоставляется программе пользователя, около 32 Кбайт ПЗУ ВК заняты системным монитором языка Бейсик, часть которого может быть отключена через системный слот и заменена ПЗУ тестов. Объем памяти, предоставляемой пользователю, может быть увеличен за счет части видеоОЗУ (12 Кбайт), однако при этом графика, по сути дела, исключается.<br />
<br />
В качестве ОЗУ предусматривается бытовой кассетный магнитофон. Контроллер НМЛ допускает запись/чтение со скоростью 1,2 Кбод. Контроллер монитора позволяет подключать как черно-белый (“Видео”), так и цветной монитор, но пользователю доступен только выход “Видео” (выход аналогового RGB не выведен на внешний разъем). Пользователю доступны также слот системной шины и порты: параллельный асинхронный на 16 линий разделенного ввода/вывода, последовательный в виде отдельного устройства подключаемого через системный слот (поставляется в составе КУВТ для организации локальной сети).<br />
<br />
БК-0010Ш допускает графические режимы: одноцветный с 512 × 256 точек и 256 × 256 точек с четырьмя цветами.<br />
<br />
Программно-аппаратная поддержка локальной сети типа “звезда” реализует протоколы канального и прикладного уровней. Основные недостатки КУВТ-86 следующие:<br />
<br />
1. Надежность КУВТ-86 не выдерживает никакой критики. Наиболее часты отказы дисководов; регулярны сбои клавиатуры. Так как совершенствование конструкций не предусмотрено ни планами министерства, НИ планами завода-изготовителя, низкая надежность КУВТ-86 является основным аргументом за запрет их использования в сфере образования.<br />
<br />
2. Использование архитектурно различных ПЭВМ в качестве РМП и РМУ, ДВК-2М и БК-0010Ш объединяет только одинаковый микропроцессор, используемый в обоих конструкциях. Несоответствие адресов внешних устройств, принципиально различные карты памяти и отсутствие у РМП графических режимов привел к высокой степени несовместимости ПЭВМ между собой. По сути дела, РМП используется лишь как файлсервер, непомерно дорогой для таких целей, не обеспечивающий обмена между рабочими местами и других функций локальной сети.<br />
<br />
3. На рабочих местах используются компьютеры, которые в лучшем случае могут быть рассмотрены как игровые (и то с параметрами, далекими от достигнутого в этой области уровня). Слишком малое ОЗУ (недостаточное даже для нормального использования Бейсика) создает серьезные трудности при программировании.<br />
<br />
4. Форматы записи данных на дискете несоместимы со стандартными форматами, применяемыми на других учебных ПЭВМ и на большинстве профессиональных ПЭВМ.<br />
<br />
=== 1.2. КУВТ УКНЦ (“Электроника МС-0202”) ===<br />
<br />
КУВТ УКНЦ состоит из однотипных ПЭВМ “Электроника МС0511”, комплектуемых монохромными мониторами “Электроника МС-6105” и объединенных в локальную сеть. Базовый класс предусматривает 13 ПЭВМ (одно РМП и 12 РМУ), контроллер НГМД, реализованный в виде отдельного устройства, подключаемого через слот, спаренный НГМД типа 6022 (в последних модификациях используется НГМД-5305) и принтер (в настоящее время типа ROBOTRON-6329.01. Форматы 5,25” 400 Кбайтных дискет совместимы с форматами, принятыми на ЭВМ серии PDP-11 фирмы DEC. Контроллер НМД, имеющийся на каждой ПЭВМ, позволяет осуществлять запись/считывание информации со скоростью 1,2 Кбод.<br />
<br />
Каждая ПЭВМ построена по двухпроцессорной двухмагистральной архитектуре. В качестве центрального процессора (ЦП) и периферийного (ПП) используются микропроцессоры КМ1801ВМ2, причем ПП используется, по сути дела, как процессор ввода/вывода. Обмен информацией между ЦП и ПП осуществляется через скоростной байтовый параллельный интерфейс и регистры. Совмещенная 16-разрядная шина адреса/данных позволяет каждому из процессоров адресовать 64 Кбайт. Имеется приоритетная система прерываний. Наличие у БИС КМ1801BM2 двух режимов работы “USER” и “HALT” позволяет включать в адресное пространство различные области памяти и организовывать арбитраж. Для решения задач арбитража используется также буфер магистрали ПП. Производительность ЦП (согласно “Техническим условиям”) составляет 0,7 млн оп/с, ПП – 0,5 млн оп/с. Объем ОЗУ составляет 192 Кбайт, из них 64 Кбайта принадлежат ЦП, 32 – ПП, 96 – видеоОЗУ. Управление каждым ОЗУ осуществляется своей БИС управления. Из-за ограниченности адресного пространства каждого из процессоров часть памяти, в том числе видеоОЗУ, адресуется через регистры. Системное ПЗУ объем 32 Кбайт принадлежит адресному пространству ПП и содержит программу начального загрузчика и тесты. Контроллер клавиатуры обслуживает матрицу 8 х 12 клавиш встроенной клавиатуры. Имеется 10 функциональных кодов. ПЭВМ включает в себя таймер и генератор звука, работающий в полосе частот 60 Гц–16 кГц.<br />
<br />
Контроллер монитора позволяет подключать как черно-белый (“Видео”), так и цветной (аналоговый RGBI, I – яркость строки) выход. КУВТ стандартно комплектуется монохромными мониторами “Электроника-6105”.<br />
<br />
Графические режимы позволяют адресовать экран до 640 × 288 точек 8 цветами из 16, время закрашивания экрана около 1 с. Доступен текстовый режим 26 строк по 80 символов в строке.<br />
<br />
Имеется 3 системных слота расширения, один из которых предназначен для подключения контроллера локальной сети.<br />
<br />
Сеть типа “Кольцо” производительностью до 57,6 Кбод представляет собой, по сути дела, стандартный последовательный порт с улучшенными характеристиками за счет применения более совершенных оптронных развязок.<br />
<br />
Основным достоинством КУВТ являются усилия разработчиков и завода-изготовителя, направленные на повышение надежности и качества серийных изделий. С точки зрения пользователя, достоинствами КУВТ УКНЦ является также унификация составляющих его ПЭВМ (в отличие от КУВТ-86); удобная для программирования, полная и симметричная система команд процессора; ориентация на интегральные схемы большой степени интеграции (полузаказные БИС серии 1515) и связанное с этим малое количество корпусов, что даст возможность повысить в перспективе надежность изделия.<br />
<br />
Основными недостатками УКНЦ являются:<br />
<br />
1. Несбалансированность тепловых режимов (частые сбои и выход из из строя в результате перегрева) части серийных моделей. Причина, по-видимому, заключается в несовершенстве используемого блока питания (классического типа). В настоящее время разработан новый блок питания (импульсного типа) с существенно более высоким КПД и низким уровнем рассеиваемой мощности, однако в серийные модели он пока не устанавливается.<br />
<br />
2. Неотработанность технологии некоторых комплектующих, в частности контроллера НМГД, резко снижает надежность КУВТ. В выпускаемых в настоящее время ПЭВМ используется новая БИС контроллера НМГД. Время покажет, повысило ли это надежность изделия.<br />
<br />
3. Использование несовершенных дисководов (например, НГМД 6022). Частые обращения к дискам, характерные для ПЭВМ DEC - архитектуры, выдвигают особые требования к надежности внешних ЗУ. В последней модификации КУВТ УКНЦ используются дисководы типа 5305, что позволяет отчасти смягчить проблему надежности КУВТ. Кардинальное решение этой проблемы возможно только при комплектации КУВТ НМД типа “Винчестер”, что не предусматривается планами завода-изготовителя. Тревожным является и тот факт, что использование “Винчестера” не предусматривается и в следующем КУВТ-90 (фактически представляющем собой модифицикацию КУВТ УКНЦ). Следует при этом отметить, что комплектация КУВТ одним “Винчестером” обходится дешевле, чем комплектация каждой ПЭВМ НГМД (последнее, возможно, будет реализовано в КУВТ-90).<br />
<br />
4. Хотя изначальная идея разделения функций центрального и периферийного процессоров несомненно здравая и соответствует тенденциям мирового развития, ее конкретная реализация в УКНЦ принесла больше осложнений, чем пользы. Основная причина этого состоит, на наш взгляд, во-первых, в отсутствии соответствующего программного обеспечения, во-вторых, в несоответствии целей и применяемых средств. Качественно иные функции ПП предполагают, что его структура, принципы работы и используемые им ресурсы принципиально отличаются от структуры, принципов работы и ресурсов ЦП, обеспечивая существенно более высокую производительность на операциях обмена данными и развитость функций контроллера внешних устройств за счет других, “чисто процессорных” функций (например, математических операций). Так, принцип развития ПЭВМ класса IBM-PC, как представляется, заключается в раздельном увеличении ресурсов и совершенствования функций центрального процессора и периферийных контроллеров при соблюдении программной совместимости в семействе снизу вверх по каждому из устройств. Использованная в УКНЦ архитектура предопределила “замораживание” ресурсов ЦП на уровне младших моделей ДВК и несоответствие функций ПП его задачам. На наш взгляд, это может привести к появлению программного обеспечения, не имеющего будущего. Хотя подобные архитектурные недоработки неизбежны, пока действует остаточный принцип финансирования, снабжения и контроля средств учебной информатики, считаем необходимым подчеркнуть архитектурную и, что еще важнее, экономическую неоправданность использования двух совершенно одинаковых процессоров в качестве ЦУП и ПП. Возможно, разработчики КУВТ УКНЦ стремились наработать опыт использования в учебных ПЭВМ мультипроцессорных систем. В этом случае следует предпочесть более серьезную проработку вопросов арбитража и распределения ресурсов организации промежуточного буфера и регистрового доступа к страницам ОЗУ.<br />
<br />
5. Своеобразие архитектуры и вызванная этим уникальность ПЭВМ привели к тому, что к настоящему времени КУВТ УКНЦ не полностью укомплектован даже базовым программным обеспечением. Большую часть программного обеспечения, включая поддержку локальной сети, необходимо разрабатывать заново. Использование профессиональных производительных ЭВМ для разработки ПО УКНЦ крайне затруднено. Более того, для создания прикладных пакетов, ориентированных на возможности собственно УКНЦ, из языков программирования в настоящее время может быть использован только макроассемблер.<br />
<br />
6. Хотя микропроцессоры, используемые в ПЭВМ, могут работать с тактовой частотой 9 МГц и достигать при этом скорости выполнения регистровых операций 1,2 млн оп./с, реальное быстродействие компьютера не превышает 0,4 млн оп./с. Для повышения скорости работы программ разработчики рекомендуют записывать программы в ПЗУ, а также распараллеливать их работу с использованием одновременно двух процессоров, однако такой режим не является штатным и на практике мало реален.<br />
<br />
=== 1.3. КУВТ “Корвет” ===<br />
<br />
КУВТ состоит из одного РМП типа ПК8020 и 12 РМУ ПК8010, объединенных локальной сетью, в комплект входят также сдвоенный дисковод и принтер западного производства. Комплект НГМД 5.25” обслуживает дисководы с емкостью данных на неформатированной дискете до 1 Мбайт (800 Кбайт на форматированной). Контроллер НМЛ допускает запись на кассетный магнитофон со скоростью 1.2 Кбод.<br />
<br />
В ПЭВМ использован микропроцессор КР580ВМ80А с производительностью 0,625 млн оп./с, карта памяти с регистровым переключением страниц, реализованы режимы прерываний, таймер, различные контроллеры, ПЭВМ представляет программе пользователя 64 Кбайта ОЗУ, видеоОЗУ, подразделяемое на графическое (ГЗУ) объемом 192 или 48 Кбайт в зависимости от используемых микросхем памяти и алфавитно-цифровое (АЦЗУ) объемом 1 Кбайт × 9 бит, ПЗУ объемом 24 Кбайт, из которых ВК заняты системой (драйверы), а 16 Кбайт – интерпретатором языка Бейсик.<br />
<br />
Контроллер монитора обеспечивает подключение черно-белого монитора по выходу “Видео” и цветного по выходу цифрового RGBI (I – интенсивность). Выход аналогового RGBI реализован, но недоступен пользователю.<br />
<br />
Реализованы (и доступны) порты параллельного (ИРПР-М) и последовательного (ИРПС и СТЫК-С2, выделены оба) интерфейсов. На плате имеются выходы для двух двухкоординатных джойстиков (не выведены на внешний разъем).<br />
<br />
Имеется несколько графических режимов, до 512 × 256 точек восьми цветов (3 плана по 16 Кбайт), время закрашивания области экрана – 2 с, существует текстовый режим, допускающий 80 символов в строке, формат знакомест 8 × 11 точек, так как графическое ЗУ и алфавитно-цифровое ЗУ физически разнесены, совмещение графического и текстового режимов не составляет проблем.<br />
<br />
Локальная сеть (KERMIT) типа “Общая шина” реализует байториентированный протокол. Скорость передачи по сети 19,6 Кбод.<br />
<br />
ПЭВМ содержит 126 корпусов микросхем, из которых БИС – 62 корпуса (4 корпуса – программируемые логические матрицы).<br />
<br />
Достоинства “Корвета” заключаются в сбалансированности его ресурсов и достижении на относительно скромной и недефицитной элементной базе достаточно высоких пользовательских характеристик, как-то: полная совместимость с пакетами, разработанными в рамках операционных систем CP/M и МикроДОС; наличие встроенного (в отличие от УКНЦ) интерпретатора Бейсика; щадящий режим работы с дисковым накопителем и др. Важными являются усилия разработчиков по дальнейшему совершенствованию модели, что в условиях быстро меняющейся ситуации гарантирует его жизнеспособность в течение некоторого времени. Несомненным достоинством является совместимость ПЭВМ по форматам данных на внешних носителях со множеством отечественных и зарубежных ПЭВМ, а также появление профессиональных и бытовых моделей архитектуры “Корвет”.<br />
<br />
К недостаткам ПЭВМ относятся:<br />
<br />
1) большое количество корпусов и недостаточная автоматизация производства. По мнению авторов, такая ситуация во многом является следствием дефицитности многих комплектующих изделий, в первую очередь микросхем, что оказывает влияние на разработку и выпуск;<br />
<br />
2) низкая надежность, обусловленная некачественной сборкой в заводских условиях;<br />
<br />
3) недоработанность базового программного обеспечения, что вызывает определенные трудности при создании программ, работающих с локальной сетью;<br />
<br />
4) наличие импортной периферии (дисководы, принтеры), закупаемой на валюту, при том что совершенно нереальны в обозримом будущем экспортные поставки “Корвета” за валюту.<br />
<br />
=== 1.4. Другие КУВТ, используемые в системе среднего образования СССР ===<br />
<br />
'''Комплект “Агат”'''. Поставляемые в школы РСФСР комплекты “Агат” представляют собой 13 ПЭВМ “Агат, исполнение”, каждая из которых оснащена дисководом и профессиональным монитором “Электроника-32ВТЦ101”, в комплект входит также матричное печатающее устройство (D100). Компьютеры не объединены локальной сетью. В качестве центрального процессора используется импортный микропроцессор MCS6502 с производительностью около 0,5 млн оп./с. В модели, поставляемой в школы, объем ОЗУ 64 Кбайт, из которых видеоОЗУ занимает от 2 до 8 Кбайт. Системное ПЗУ объемом 2 Кбайта состоит из программы начального загрузчика и драйверов. Существует режим эмулирования ПЗУ из части ОЗУ (в ПЭВМ, поставляемых в школы, такое “псевдоПЗУ” составляет 12 Кбайт и содержит программу “Монитор” и интерпретатор языка Бейсик). НГМД ЕС-5088 производства НРБ обеспечивает объем данных 109,4 Кбайт на 5,25” дискете. В качестве ВЗУ может быть использован бытовой кассетный магнитофон. ПЭВМ “Агат” имеет порты параллельного и последовательного интерфейсов. ПЭВМ реализует графические режимы до 256 × 2576 монохромных точек, 128 × 128 восьми цветов и другие, а также ряд текстовых режимов. Основными достоинствами ПЭВМ являются простая система команд, достаточно гибкая архитектура, наличие НГМД на каждом РМУ. Среди недостатков следует отметить следующие:<br />
<br />
1) ненадежность работы как самой ПЭВМ (перегрев, сбои в работе контроллера ОЗУ), так и периферии, в, в особенности болгарских дисководов;<br />
<br />
2) низкое качество НГМД привело к проблеме переносимости программного обеспечения с одного экземпляра ПЭВМ на другой, что в условиях частых сбоев и организации учебного процесса в советской школе приводит к неприемлемым условиям работы;<br />
<br />
3) из-за отсутствия локальной сети во время урока преподаватель вынужден тратить большую часть учебного времени на устранение сбоев и перезагрузки системы на отдельных экземплярах ПЭВМ;<br />
<br />
4) используемая реализация языка Бейсик несовместима с реализациями на других ПЭВМ;<br />
<br />
5) цена компьютера столь велика, что обычная школа не в состоянии приобрести комплект без помощи шефов.<br />
<br />
Напрашивается вывод, что “Агат” по сути своей не предназначен для задач образования. Его положительные стороны зачеркиваются недостатками, имеющими принципиальное значение для этой сферы деятельности.<br />
<br />
'''КУВТ “Немига”.''' Разработанный для использования в системе среднего образования БССР КУВТ “Немига” состоит из одного РМП и 12 РМУ, представляющих собой однотипные ПЭВМ “Немига”, оснащенные монохромными мониторами и объединенные локальной сетью производительностью до 620 Кбод. РМП оснащается НГМД и принтером. ПЭВМ “Немига” построена в рамках архитектуры ЭВМ семейства PDP-11 фирмы DEC на базе микропроцессорного комплекта К588/1824, выполненного по КМОП-технологии. В состав ПЭВМ входят: построенный на БИС серии К588 микропроцессор производительностью 0,4 млн оп./с; ОЗУ пользователя объемом 64 Кбайт, видеоОЗУ 32 Кбайт и “электронный диск” 32 Кбайт; системное ПЗУ, содержащее программы начального пуска и дискового загрузчика, пультового терминала, системной консоли и графических примитивов; аппаратный умножитель; контроллеры устройств. Реализованы графические (до 512 × 256 точек четырех градаций яркости) и текстовые (до 25 строк по 64 символа) режимы. Форматы дискет совместимы с применяемыми в ЭВМ “Электроника-60”.<br />
<br />
Достоинством КУВТ “Немига” является в первую очередь реализованная на нем локальная сеть. Это первый случай использования в отечественном КУВТ локальной сети, удовлетворяющей современным требовшпи к учебным средствам вычислительной техники. Хотя соответствующая БИС (К588ВГ6) вьшускается отечествеъшой промьпшіеъшоспю, до сих пор разработчики ограничивались использованием для этих целей БИС последовательного порта СТЫК-С2, имеющего в 10-30 раз более низкую производительность. Другим важнейшим достоинством является используемая низкоэнергетическая элементная база, что, по-видимому, позволит избежать проблем, связанных с перегревом ПЭВМ (потребляемых одноі ПЭВМ мощность составляет всего 6 Вт). Конечно, это не служит абсолютной гарантией надежности ПЭВМ. Реальная надежность определится в процессе эксплуатации КУВТ. К дестоинсгвам можно также отнестии обеспеченную, по словам разработчиков, высокую совместимостьс программным обеспечением ПЭВМ серии “Эпектроника-60” – “Электрошн-80” – ДВК.<br />
<br />
Основным недостатком, по мнению авторов, является ориентация разработчиков на линию DEC в архитектуре КУВТ. Происходящий в стране постепенный отказ от использования этой архитектуры в ПЭЗВМ вообще и в учебных ПЭВМ в частности лишает КУВТ “Немига” перспективы. Кроме того, аналогично другим КУВТ отечественного производства, используемые в КУВТ “Немига” ВЗУ явно недостаточны по объему хранимых данных и надежности.<br />
<br />
== 2. Применение ПЭВМ для обучения за рубежом ==<br />
<br />
За рубежом в образовании используются практически все виды персональных ЭВМ (исключение составляют лишь мощные графические станции и компьютеры-игрушки). Следует отметить, что не во всех странах принято само понятие учебной ПЭВМ. О программах создания ПЭВМ, ориентированных на применение в обучении, объявлено в Великобритании (BBC Acorn и Archimedes), во Франции (Nanorezo и Nanorezo-II), в Австралии (Micro Bee), в странах Восточной Европы (Правец-8, Праввец-16, Роботрон-1715, PMD-85, IQ-151, PP-01, PP-01.16). К странам, широко использующим ПЭВМ в образовании, относятся также США, Япония и ФРГ. При этом понятие КУВТ, как правило, не используется, хотя многие фирмы объединяют свои учебные компьютеры в локальные сети, обеспечивая пользователем коллективный доступ к периферии. Специально для целей школьного образования созданы такие ПЭВМ как IBM-PS/2 mod 25 (фирма IBM, США), Apple-IIGS (Apple, США), “Archimedes” (фирмы BBC и Acorn, Великобритания). Стремясь использовать накопленное программное обеспечение, многие школы ориентируются на IBM-PC-подобные модели (характерным примером здесь является класс Nanorezo-II, состоящий из одной ПЭВМ типа ІВМ РС/ХТ и 10-20 ПЭВМ типа ІВМ РС, объединенных локальной сетью со скоростью передачи данных до 1 Мбод). Следует отметить, что фирма IBM, учитывая перспективы развития рынка, уделяет большое внимание разработке аппаратных и программных средств для школьных ПЭВМ. Как отмечалось на семинаре этой фирмы (Москва, сентябрь 1989 г.), в настоящее время в школах США установлено около 1 млн ПЭВМ архитектуры ІВМ-РС и 0,5 млн ІВМ-РЅ/2. Состав наиболее массового учебного класса IBM-PS/2 включает в себя рабочие места (до 30 шт. и более), представляющие собой IBM-PS/2 mod. 25/30 с ОЗУ 512- 640 Кбайт, видеоконтроллером MCGA, адресующим видеоОЗУ объемом 64 Кбайт и обеспечивающим графические режимы с числом точек 640 × 200 шестнадцати цветов, а также режимы с числом цветов до 256, и цветовые мониторы и файл-сервер IВM-PS/2 mod. 60/80 с “Винчестером” 20 Мбайт и монохромным монитором. Для полноты картины отметим, что вопросами образования только в фирме IBM занимаются 5050 сотрудников и 200 консультантов, а в 1988 г. США затратили на компьютеризацию образования около 220 млрд долл.<br />
<br />
В университетах, а в последнее время и в школах США получают широкое распространение Macintosh-Plus и Macintosh-SE фирмы Apple. Это ПЭВМ из семейства, включающего в себя на сегодняшний день модели – Macintosh, Macintosh-Plus, Macintosh-SE и Macintosh-II, охватывающие широкий спектр применений от бытовых до профессиональных, Macintosh-Plus и Macintosh-SE представляют 32-разрядные ПЭВМ с процессором Motorolla МС-68000, работающие на тактовой частоте 7,8 МГц и разработанные в соответствии с концепцией открытой архитектуры. ПЭВМ поддерживают монохромный графический режим с 512 × 342 точками экрана и звуковой выход на четыре голоса; Macintosh-SE, кроме того, поддерживает и цветную графику. ПЭВМ имеют два разъема расширения Apple Destop Bus, два контроллера последовательного интерфейса RS-232/RS-422 (с максимальной производительностью 230,4 Кбод), контроллер дисковода и сам дисковод 3,5”, “мышь”. ПЭВМ Macintosh-Plus оснащается 128 Кбайтным ОЗУ и 64 Кбайтным ПЗУ. Macintosh-SE (System Expansion) представляет собой расширение ПЭВМ Macintosh-Plus и обычно комплектуется 1 Мбайтным ОЗУ (расширяемым до 4 Мбайт), 256 Кбайтным ПЗУ и портом SCSI.<br />
<br />
В конце 1988 г. фирма NEXT анонсировала новую модель рассчитанную на систему высшего образования, “NEXT” использующую самую современную технологию, в частности 32-разрядный микропроцессор Motorolla-68030 и оптические диски.<br />
<br />
Общей тенденцией использования ПЭВПМ в системах обучения западных стран является стремление наращивать предоставляемые пользователю ресурсы без кардинальной смены архитектуры, что позволяет использовать уже созданное и апробированное программное обеспечение, как общего назначения (операционные системы, трансляторы), так и прикладного. Как следствие, класс ПЭВМ IBM-PS/2 разработан таким образом, что на машинах этой серии выполняется без доработок большинство разработанных для IBM-РС пакетов, а ПЭВМ Apple-IIGS совместима с программным обеспечением Аpple-II, хотя по своим параметрам и архитектурным особенностям отличается от ПЭВМ этого класса.<br />
<br />
Однако со временем развитие аппаратной части приходит в противоречие с условием программной совместимости, что приводит к появлению новых архитектур, отрицающих применение разработанного ПО, но более приспособленных к процессу обучения. Таким “скачком вперед” явилось в последние годы появление семейства ПЭВМ “Archimedes” (“Архимед”), использующих RISC-процессор.<br />
<br />
Более подробно в настоящей работе рассмотрены следующие модели: “Archimedes” серии A300 – серии, которую ряд специалистов рассматривает как наиболее перспективную в области образования, и ПЭВМ “Apple-IIGS”, продолжающую семейство Apple-II, накопившее наибольшее число учебных программ.<br />
<br />
=== 2.1. Учебная ПЭВМ “Archimedes” ===<br />
<br />
Широко известная своими учебными компьютерами фирма Acorn Computers приступила во второй половине 1987 г. К выпуску семейства 32-разрядных ПЭВМ “Archimedes”, состоящего из двух серий компьютеров – A300 для использования в обучении и в быту и A400 для профессиональной деятельности. В настоящее время вшускаются 4 модели: A305, A310, A410, A440. Фирма подчеркивает, что обучение – основная сфера применения новой ПЭВМ, и проводит соответствующую политику, включающую установление для школ льготных тарифов.<br />
<br />
В компьютерах семейства используется микропроцессор производительностью 10 млн оп./с, построенный по RISC-технологии, и получивший название ARM (Acorn RISC Machine), с системой команд, во многом аналогичной системе команд микропроцессора 6502. Система однотактовых команд ARM состоит в основном из операций обмена между регистрами и ОЗУ. Быстрая обработка прерываний позволяет реализовать все функции ввода/вывода через микропроцессор, не используя дополнительного оборудования. Простота конструкции и высокая производительность ARM во многом достигнуты благодаря перераспределению функций между процессором и БИС управления памятью MEMC, на которую возложены функции общей синхронизации, контроллера режима прямого доступа к памяти, формирования 22-битового физического адреса, мультиплексирования микросхем ОЗУ и др. Кроме центрального микропроцессора, используется еще 3 сопроцессора: управление ОЗУ – MEMC, управления видеопамятью – VIDC и ввода/вывода – IOC. MEMC адресует до 4 Мбайт ОЗУ с тремя уровнями защиты памяти: “супервизор”, “операционная система”, “пользователь”.<br />
<br />
Объем ОЗУ в существующих моделях составляет от 0,5 М до 4 Мбайт в зависимости от модели (в A305 – 0,5 М байт) ПЗУ – 512 Кбайт, имеется также CMON-ОЗУ объемом 256 байт для часов реального времени с питанием от литиевых батарей. Системное ПЗУ содержит монитор операционной системы MOS, дисковую файловую систему ADFS, сетевую файловую систему ANFC, BBC Basic V, Basic Editor, программу работы с “окнами” Desk Top Manager и несколько кодовых наборов символов.<br />
<br />
Каждая из моделей комплектуется вмонтированным в системный блок 3,5” дисководом для 1 Мбайтных (неформатированных) дискет. Возможно подключение второго дисковода или диска типа “Винчестер” емкостью до 20 Мбайт (в ПЭВМ серии A300 для подключения “Винчестера” требуется дополнительный контроллер). Кроме того, имеется доступ к 20 Мбайтному “Винчестеру” через локальную сеть.<br />
<br />
ПЭВМ имеет контроллеры последовательного (RS-423) и параллельного (Centronics) интерфейса, комплектуется трехклавишной “мышью”.<br />
<br />
Видеопроцессор VIDC поддерживает 187 экранных режимов с максимальным числом цветов 256 из палитры 4096 для мониторов с обычной скоростью сканирования и 3 режима для высокоскоростных мониторов. Всего поддерживается 22 экранных режима, в том числе 3 с высоким разрешением (640 × 512 точек). Число цветов – до 256 из палитры 4096. Имеется система программных спрайтов. Скорость передачи на дисплей может изменяться программно переключением частоты передачи с 8 до 24 МГц. Использование в микропроцессоре 32-разрядного циклического сдвигового регистра обеспечивает необходимый для графики высокого разрешения набор битовых операций.<br />
<br />
ПЭВМ имеет канал стереозвука на 8 голосов. Клавиатура (расширенная IBM-PC) содержит 103 клавиши, из которых 12 программируются пользователем. Монитор может подключаться как через аналоговый, так и через цифровой RGB-входы.<br />
<br />
В машинах серии A300 пользователю предоставляется один 64-контактный системный расширитель магистрали (слот), допускающий 2 слота расширения, в A400 – 4 (6) системных слотов.<br />
<br />
“Archimedes” поддерживает традиционную для Acorn локальную сеть ECONET с сетевым интерфейсом RS-423 (скорость передачи до 350 Кбод); предоставляющую пользователю доступ к периферии в режиме разделения времени. Стоит отметить, что RS-423 распространен в основном только в Великобритании.<br />
<br />
Из дополнительно поставляемых устройств можно выделить плату сопроцессора с Intel-80186 для поддержки программного обеспечения фирмы IBM (совместимость с ПО IBM-PC достигается за счет потери многих преимуществ “Archimedes”), а также сопроцессор арифметики с плавающей точкой (для серии A300 использование этой платы недопустимо).<br />
<br />
“Archimedes” рекламируется как ПЭВМ, имеющая вдвое большую производительность, чем VAX-780, и сопоставимая с последними 32-разрядными моделями, построенными на Intel-80386 и Motorola-68020.<br />
<br />
“Archimedes” достаточно хорошо оснащена программными средствами. Уже сейчас имеются трансляторы языков Лисп, Пролог, Смолток и др. В списке обучающих программ и пакетов (занимающем почти половину каталога прикладного программного обеспечения) есть программы для всех возрастов – от обучения чтению 5-летних до сложных пакетов по физике, биологии, экономике для студентов. Практически все учебные программы созданы фирмами Longman, Scetlander и Resource. Следует отметить, что большинство обучающих программ – это ситуационные модели, ролевые игры, требующие от обучаемого принятия решений и демонтсрирующие ближайшие и отдаленные результаты этих решений, что позволяет, не отвлекаясь на несущественные частности, понять суть изучаемых проблем и их взаимосвязи.<br />
<br />
Следует отметить, что при всех своих преимуществах ПЭВМ “Archimedes” не завоевала английского рынка, на котором имеет место сильная ориентация на IBM-PC-совместимые модели.<br />
<br />
=== 2.2. ПЭВМ Apple-IIGS ===<br />
<br />
В настоящее время наиболее распространенными компьютерами, применяемыми в школах США (более 50% парка машин), являются ПЭВМ семейства Apple-II. Несмотря на “возраст” (первая модель Apple-II была разработана более 11 лет назад), компьютеры этого класса сохраняют лидирующее положение в основном за счет относительно низкой цены и развитости программного обеспечения. В настоящее время семейство Apple-II состоит из моделей: Apple-II, Apple-II+, Apple-IIe, Apple-IIc и Apple-IIGS. Появившуюся в конце 1986 г. Модель Apple-IIGS отличают такие высокие качества, как открытость архитектуры, использование наряду с 8-разрядной 16-разрядной арифметики, технологии монтажа на поверхности. Относительно невысокая стоимость (цена базовой модели $999), доступность богатейшего программного обеспечения Apple-II и другие достоинства позволяют компьютерам серии Apple и до сих пор занимать одно из ведущих мест среди ПЭВМ для учебных и бытовых применений.<br />
<br />
Apple-IIGS состоит из системного блока, выносной клавиатуры, “мыши”, дисплея, утилит, операционной системы ProDOS 8/16 и документации. В качестве центрального процессора используется микросхема 65C816 производительностью более 1 млн он./с. Это 16-разрядная БИС, имеющая, кроме того, режим эмуляции системы команд 8-разрядного микропроцессора 6502, что позволяет использовать программное обеспечение Apple-II без каких-либо переделок. Аналогично “Archimedes” повышение реального быстродействия ПЭВМ во многом определяется разделением фукнций между микпропроцессором и специальной БИС Mega-II, осуществляющей ввод/вывод и ряд других операций. Адресное пространство микропроцессора составляет 16 Мбайт, системная шина Apple-IIGS обеспечивает доступ лишь к 8 Мбайт. Стандартная поставка включает в себя 320 Кбайт ОЗУ, из которых 128 Кбайт “быстрого” ОЗУ принадлежат ЦП, 128 Кбайт “медленного” ОЗУ – БИС Mega-II, а 64 Кбайт представляют собой специализированное ОЗУ звукового синтезатора. Это существенно превышает объем ОЗУ в Apple-IIe (128 Кбайт). Объем встроенного ПЗУ также больше, чем в любой другой ПЭВМ серии Apple (128 Кбайт), и включает в себя Applesoft Бейсик, инструментальные средства, фукнции обмена с монитором, клавиатурой, портами ввода/вывода, а также драйвер локальной сети AppleTalk.<br />
<br />
Контроллер дисковода обеспечивает работу с 800 К байтными форматами 3,5” дискет, а также (для совместимости с Apple-II) с 143 Кбайтным 5,25” дискетами. Поддержки “Винчестера” в стандартной поставке не предусмотрено, однако фирма Apple продает соответствующую аппаратуру в виде отдельного продукта.<br />
<br />
Имеются два последовательных порта ввода/вывода, “мышь”, выходы на монохромный и цветной мониторы (последний может подключаться как через RGB, так и через видеовход). В стандартную поставку входит монохромный монитор.<br />
<br />
Клавиатура модифицирована по сравнению с Apple-II для обеспечения большего удобства пользователя и совместимости с клавиатурой Macintosh. Запрограммированные в ПЗУ фунции обслуживания клавиатуры включают в себя все системные входы из применяемого в Macintosh набора Control Planet, а также дают возможность переключать тактовую частоту 1/2, 8 МГц. Возможны варианты кодировки клавиш для неанглоязычных стран.<br />
<br />
Принципиально новой особенностью Apple-IIGS по сравнению с другими ПЭВМ серии Apple-II является наличие слотов расширения шины Apple-IIe и слота расширения ОЗУ до 8 Мбайт.<br />
<br />
Встроенное расширение ОЗУ делает невозможным использование ряда разработанных для ранних моделей интерфейсных плат, например платы прямого доступа к памяти. Следует отметить, что с появлением ПЭВМ типа Apple-IIGS (а также Mac-SE, Mac-II, Commodore Amiga-2000 и др.) снова проявилась тенденция к открытой, “гибкой” архитектуре, позволяющей пользователю варьировать ресурсы в широких пределах в зависимости от своих нужд и не менять компьютер, как только он перестал удовлетворять возросшим потребностям. Дешевизна моделей с минимальной комплектацией, возможность наращивания ресурсов по мере роста сложности решаемых задач, доступность богатого программного обеспечения (особенно в области учебного использования ПЭВМ), несомненно, повышают конъюнктурные преимущества этих ПЭВМ в условиях рынка.<br />
<br />
Разъемы и кабели унифицироываны, т.е. кабель для подключения в ПЭВМ принтера может быть использован для подключения к ней модема и наоборот, а также для подключения принтера непосредственно к модему. Порт для подключения 3,5” и 5,25” дисководов (Smart Port) может быть использован для других блочных операций, например для обмена с “Винчестером” или файлсервером (т.е. устройством, организующим доступ к ресурсам внешней памяти). “Винчестер”, кроме того может быть подключен через локальную сеть AppleTalk, через SCSI-порт или специализированную интерфейсную плату.<br />
<br />
Apple-IIGS поддерживает все текстовые и графические режимы ПЭВМ серии Apple: текстовые режимы на 40 × 80 символов в строке (24 строки, 6 × 8 точек в знакоместе), графические режимы с низким, высоким (280 × 192) и двойным (560 × 1092) разрешением, комбинации текстовых и графических режимов. Добавлены два новых режима высокого разрешения: 320 × 200 точек с 16 цветами и 640 × 200 точек с 4 цветами.<br />
<br />
Особенностью Apple-IIGS, отличающей ее от аналогичных ПЭВМ, является наличие звукового спецпроцессора фирмы Ensoniq с 64 Кбайт памяти, что позволяет записывать в цифровом виде и воспроизводить одновременно до 32 голосов, а также высококачественную речь и пение. Возможен цифровой синтез звуков с введением данных из файла в в виде частотных гармоник, нотного текста или непосредственно с музыкального инструмента.<br />
<br />
Технологическим успехом фирмы Apple следует считать высокую степень интеграции, достигнутую в Apple-IIGS. Большинство “обрамления”, на которое в Apple-II уходило 70 корпусов МС малой интеграции, а в Apple-IIe – 20 корпусов, Apple-IIGS сведено в одной микросхеме SMD-технологии (технология монтажа на поверхности). Это означает, что Apple-IIGS является более надежной ПЭВМ по сравнению со своими предшественницами, однако в случае поломки практически неремонтноспособной: микросхема может быть заменена только вместе с печатной платой. Технология SMD, требующая высокой роботизации производства, удешевляет конструкцию и одновременно страхует от несанкционированного копирования аппаратуры мелкими производителями.<br />
<br />
=== 2.3. Прогноз развития зарубежных УПЭВМ ===<br />
<br />
При составлении прогнозов развития средств вычислительной техники учебного назначения, создаваемых в развитых капиталистических странах, в период до 1995 г. учитывались следующие соображения:<br />
<br />
1) в большинстве западных стран нет концепции КУВТ или специальных УПЭВМ. Просто в систему образования поставляются более дешевые модели;<br />
<br />
2) прогноз на 5 лет вперед целесообразно давать с учетом того, что было 5 лет назад по сравнению с данным моментом.<br />
<br />
На основе анализа сведений из зарубежных журналов можно сделать вывод, что УПЭВМ будут комплектоваться следующими периферийными устройствами: накопитель на жестком магнитном диске диаметром 89 мм емкостью не менее 20 Мбайт (рост объема продаж за 1988 г. 110%); накопитель на гибком магнитном диске диаметром 89 мм, емкостью не менее 1,44 Мбайт (рост объема продаж за 1988 г. 30%); оптические диски однократной записи не менее 1 Гбайт (рост объема продаж 91%); цветной монитор (рост объема продаж 30%); лазерный принтер (рост объема продаж 13%).<br />
<br />
Все УПЭВМ будут комплектоваться манипуляторами типа “мышь”. В качестве схем ЗУПВ будут использоваться как минимум динамические схемы емкостью 1 Мбит (рост объема продаж 174%, а объем продаж схем 256 Кбит уменьшился на 16%). Однако скорее всего, к 1995 г. самыми распространенными (и самыми дешевыми) схемами памяти будут схемы емкостью 4Мбит. Ведь 7 лет назад самыми дешевыми были схемы 167 Кбит, а сейчас – 256 Кбит, т.е. за 7 лет емкость схем ЗУПВ возросла в 16 раз.<br />
<br />
В качестве микропроцессора при таких объемах оперативной памяти (не менее 1 Мбайт) будут использоваться 32-разрядные микропроцессоры типа Intel-80386 (или 80486), Motorola-68040 или, что более вероятно, РИСК-процессоры, так как при существенно более простой технологии изготовления они обладают наиболее высоким быстродействием.<br />
<br />
Большие объемы оперативной памяти позволят существенно повысить производительность УПЭВМ путем организации электронного диска.<br />
<br />
Можно ожидать значительного улучшения графических характеристик УПЭВМ. При разрешающей способности порядка 1024 × 1024 пиксел будет не менее 256 цветов (если будет решена проблема создания недорогих мониторов, допускающих такое разрешение).<br />
<br />
== 3. Перспективы использования ПЭВМ в учебном процессе в СССР ==<br />
<br />
Комплексное применение вычислительной техники в классе, обеспечивающее работу учителя и индивидуальную работу учеников, требует наличия ПЭВМ значительно большей мощности по сравнению с используемыми в настоящее время. Это относится и к объему оперативной памяти, и к быстродействию, и к графическим возможностям. Тенденция к увеличению мощности ПЭВМ прослеживается во всех проработках, касающихся перспективного компьютера для системы образования.<br />
<br />
Вместе с тем речь о комплексном примененеии ПЭВМ может идти только при достаточном насыщении школы вычислительной техникой. Если одна ПЭВМ приходится на 100 учеников (а это примерно полмиллиона машин), то каждый ученик может общаться с компьютером не более одного часа за три недели, считая по шесть уроков в день. Естественно, что никакого комплексного применения ПЭВМ в этом случае нет и быть не может. Нет в этом случае и необходимости в разработке более мощной ПЭВМ. На первый план здесь выходит не увеличение вычислительных возможностей, а снижение стоимости при сохранении уже достигнутых характеристик. И самое важное здесь – обеспечение массового производства ПЭВМ.<br />
<br />
Таким образом, при наличии в школе только одного кабинета вычислительной техники с 12-15 компьютерами можно всерьез говорить только об изучении основ информатики и вычислительной техники, причем для этих целей достаточно (по функциональным возможностям) имеющихся в настоящее время КУВТ “Корвет” и УКНЦ.<br />
<br />
Только когда в системе образования на 30-10 учеников будет приходится по 1 компьютеру, можно будет всерьез ставить задачу комплексного использования вычислительной техники со всеми вытекающими последствиями.<br />
<br />
== 4. Требования к перспективным учебным ПЭВМ ==<br />
<br />
Все УПВМ и КУВТ, построенные на их основе, независимо от изготовителя должны быть максимально унифицированы аппаратно и иметь одинаковое базовое и прикладное программное обеспечение. Различие можно допустить на уровне операционных систем при одинаковом интерфейсе с пользователем, и обязательно должны существовать программы преобразования файловой структуры одной операционной системы в другую, и наоборот.<br />
<br />
Программное обеспечение КУВТ должно быть в максимальной степени близко к точному подмножеству программного обеспечения профессиональных ПЭВМ. Это позволит поручить производство КУВТ различным министерствам и ведомствам, не создавая проблем для унифицированного учебного процесса, а также облегчить создание прикладного программного обеспечения.<br />
<br />
При разработке КУВТ обязательно следует учесть и то обстоятельство, что ряд учебных пакетов будет создаваться на ПЭВМ, входящих в состав КУВТ. Поэтому каждый КУВТ должен иметь определенные ресурсы, включая инструментальные средства, для разработки пакетов прикладных программ.<br />
<br />
Характерной особенностью класса УПЭВМ в отличие от ПЭВМ вообще является однообразие характеристик при большом объеме производтсва. Так, в текущей пятилетке около 50% всех выпущенных ПЭВМ намечено направить в систему образования.<br />
<br />
Отечественная УПЭВМ 1995 г. с оптимистичным учетом возможностей нашей промышленности должна обладать следующими характеристиками:<br />
<br />
наработка на отказ – не менее 20 000 ч;<br />
<br />
количество корпусов на плате – не более 40;<br />
<br />
микропроцессор – 1801ВМ86, 181ВМ88 или РИСК-процессор;<br />
<br />
графический процессор, обеспечивающий разрешение не менее 640 × 400 пикселей при 16 цветах, аппаратно реализующий наиболее употребительные функции (изображение линий, окружностей, заливка области определенным цветом, масштабирование и т.д.), а также поддерживающий средства динамической графики;<br />
<br />
объем ОЗУ, включая видеоОЗУ, – не менее 1 Мбайт для РМУ и не менее 3 Мбайт для РМП;<br />
<br />
внешняя память РМП – жесткий диск емкостью не менее 10 Мбайт и НГМД емкостью не менее 80 Кбайт, внешняя память РМУ – НГМД емкостью 800 Кбайт;<br />
<br />
цветной монитор с разрешающей способностью 640 × 400 пикселей;<br />
<br />
принтер ударный, матричный, со скоростью вывода 150 символов в 1 с;<br />
<br />
локальная сеть со скоростью передачи не менее 100 Кбод;<br />
<br />
базовое программное обеспечение должно включать операционную систему, закрытую от преподавателя и учеников, учебную среду для преподавателя, учебную среду для учеников, языки программирования Бейсик, Паскаль, Лого, Лисп, Пролог, Си, учебные, базы данных, системы текстообработки, электронные таблицы, экспертные системы, средства поддержки локальной сети.<br />
<br />
== Литература ==<br />
1. Тенденции развития учебных ПЭВМ (обзор архитектуры). Препринт ИПИАН. 1989. 56 с.<br />
<br />
2. Отчет по теме “Школа”. М.: ИПИАН, 1988. 126 с.<br />
<br />
3. Перспективный комплект учебной вычислительной техники. Исходные требования. Проект. М.: НИИ школьного оборудования и технических средств обучения АН СССР, 1989. 85 с.<br />
<br />
4. Комплексная программа научно-технического прогресса стран – членов СЭВ до 2000 г., проблема 1.2.7 “Совершенствование системы образования на основе применения средств вычислительной техники на 1986–1990 гг.”. М., 1990.<br />
<br />
5. Временные санитарно-гигиенические нормы и правила устройства, оборудования, содержания и режима работы на персональных электронно-вычислительных машинах и видеодисплейных терминалах в кабинетах вычислительной техники и дисплейных классах всех типов учебных заведений: Временные СанПин №5146-89. М.: Минздрав СССР, ГКНО СССР. 1989. 38 с.<br />
<br />
6. Христочевский С.А. Рекомендации по применению средств вычислительной техники и информатики в сфере образования. Препринт ИПИАН. М., 1988. 45 с.</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5_%D0%B8_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B_%D1%80%D0%B0%D0%B7%D0%B2%D0%B8%D1%82%D0%B8%D1%8F_%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D1%85_%D0%AD%D0%92%D0%9C_1992&diff=3717Современное состояние и проблемы развития учебных ЭВМ 19922023-11-18T10:07:42Z<p>Nzeemin: Новая страница: «{{ДИ| Источник = Системы и средства информатики – Вып. 3 – 1992. с. 255-271 }} '''Современное состояние и проблемы развития учебных ЭВМ'''<br/> ''М. Л. Гуткин, А. В. Иванов, С. А. Христочевский'' == 1. Концепция КУВТ. Современные отечественные ПЭВМ учебного назначения и КУВ...»</p>
<hr />
<div>{{ДИ| Источник = Системы и средства информатики – Вып. 3 – 1992. с. 255-271 }}<br />
<br />
'''Современное состояние и проблемы развития учебных ЭВМ'''<br/><br />
''М. Л. Гуткин, А. В. Иванов, С. А. Христочевский''<br />
<br />
== 1. Концепция КУВТ. Современные отечественные ПЭВМ учебного назначения и КУВТ ==<br />
Формальное разделение ПЭВМ на бытовые, учебные, профессиональные и т.д. существует только в Советском Союзе, фактически же речь идет о различиях в составе программно-аппаратных средств, оптимальных с точки зрения применения в конкретных областях человеческой деятельности. Таким образом, логично начать с анализа, для чего и как используются ПЭВМ в учебном процессе.<br />
<br />
Мировой опыт использования ПЭВМ в образовании можно классифицировать в виде трех областей:<br />
<br />
а) ПЭВМ и спстемы программирования как предмет изучения;<br />
<br />
б) ПЭВМ и спсциализированше пакеты прикладных программ как редство обучения;<br />
<br />
в) применение средств вычислительной техники (СВТ) как средств новых информационных технологий (НИТ): коммуникации, настольные издательства и т.д.<br />
<br />
Каждое из направлений определяет собственный набор основных минимально необходимых программно-аппаратных средств. Общими для всех направлений являются требования надежности, соответствия санитарно-гигиеническим нормам и т.п.<br />
<br />
Практика показывает, что в тех случаях, когда ПЭВМ используется как предмет изучения, можно ограничиться минимальными характеристиками.<br />
<br />
При использовании СВТ как средства обучения и НИТ следует говорить не об учебных ПЭВМ, а о профессиональных ПЭВМ со своей специфической областью применения. При этом в комплект должно входить значительное количество программно-аппаратных инструментальных средств, позволяющих эффективно создавать учебные курсы по самым различным предметам. К таким средствам, например, можно отнести системы ввода-вывода графической и текстовой информации (микро- видео, сканеры, электронные доски), манипуляторы, интегрированные пакеты, средства искусственного интеллекта и т.п. Следует также отметить, что нормальное развитие этого этапа использования СВТ невозможно без достижения достаточной компьютерной грамотности пользователей при работе с аппаратурой и программным обеспечением первого этапа.<br />
<br />
В соответствии с разработанной в СССР концепцией применения ПЭВМ в учебном процессе основной используемой в школе единицей является “комплект учебной вычислительной техники” (КУВТ), включающий в себя компьютеры (от 9 до 16 рабочих мест), объединенные локальной сетью и использующие общую периферию: печатающее устройство (ПУ) и накопитель на гибких магнитных дисках (НМГД).<br />
<br />
В настоящее время по линии Государственного комитета по народному образованию СССР закуплены и используются в учебном процессе следующие виды отечественных КУВТ: КУВТ-86, УКНЦ и “Корвет”. В ряде республик и областей для целей образования используются УПЭВМ и КУВТ других типов и архитектур (в РСФСР комплект вычислительной техники “Агат, исполнение 7”, в БССР – КУВТ “Немига”, в АзССР – КУВТ “Каспий” и т.д.).<br />
<br />
Практически нет совместимости между различными моделями КУВТов как на аппаратном (разные разъемы, форматы на дискетах и т.д.), так и на программном уровне (разные системы команд и разные операционные системы). Теоретически возможен перенос исходных текстов программ на магнитофонной кассете.<br />
<br />
Рассмотрим характеристики перечисленных КУВТов более подробно.<br />
<br />
=== 1.1. КУВТ-86 ===<br />
<br />
КУВТ-86 включает в в себя в качестве РМП одну ПЭВМ типа “Электроника НЦ-80-20/2M” (ДВК-2М) и до 12 ПЭВМ БК-0010Ш (РМУ), комплектуемых монохромными мониторами “Электроника МС-6105” и объединенных локальной сетью через порты последовательного интерфейса типа стык-С2. По ряду параметров КУВТ-86 не удовлетворяет не только внутрисоюзному уровню развития средств учебной вычислительной техники (не говоря о международном), но и ГОСТ 27201-87, регламентирующему основные требования к ПЭВМ.<br />
<br />
ДВК-2М включает в себя системный блок, спаренный дисковод НГМД-6022 и профессиональный алфавитно-цифровой дисплей “Электроника-15И300013”, использующийся как удаленный терминал, связанный с ПЭВМ последовательным интерфейсом, и принтер. В системном блоке установлены: 16-разрядная одноплатная ЭВМ “Электроника НЦ-80-20”, включающая в себя микропроцессор КМ1801ВМ1, 56 Кбайт доступного пользователю ОЗУ, последовательный и параллельный порты, плата контроллера дисковода и две платы КТЛК-6, включающие в себя по шесть последовательных портов каждая. ПЭВМ не допускает графических режимов, видеоОЗУ отсутствует.<br />
<br />
В БК-0010Ш используется одноплатная ЭВМ на основе микропроцессора КМ1801ВМ1 с производительностью 0,3 млн оп/с, 32 Кбайт ОЗУ, из которых видеоОЗУ занимает 16 Кбайт, а 16 Кбайт предоставляется программе пользователя, около 32 Кбайт ПЗУ ВК заняты системным монитором языка Бейсик, часть которого может быть отключена через системный слот и заменена ПЗУ тестов. Объем памяти, предоставляемой пользователю, может быть увеличен за счет части видеоОЗУ (12 Кбайт), однако при этом графика, по сути дела, исключается.<br />
<br />
В качестве ОЗУ предусматривается бытовой кассетный магнитофон. Контроллер НМЛ допускает запись/чтение со скоростью 1,2 Кбод. Контроллер монитора позволяет подключать как черно-белый (“Видео”), так и цветной монитор, но пользователю доступен только выход “Видео” (выход аналогового RGB не выведен на внешний разъем). Пользователю доступны также слот системной шины и порты: параллельный асинхрон- ный на 16 линий разделенного ввода/вывода, последовательный в виде отдельного устройства подключаемого через системный слот (поставляется в составе КУВТ для организации локальной сети).<br />
<br />
БК-0010Ш допускает графические режимы: одноцветный с 512 × 256 точек и 256 × 256 точек с четырьмя цветами.<br />
<br />
Программно-аппаратная поддержка локальной сети типа “звезда” реализует протоколы канального и прикладного уровней. Основные недостатки КУВТ-86 следующие:<br />
<br />
1. Надежность КУВТ-86 не выдерживает никакой критики. Наиболее часты отказы дисководов; регулярны сбои клавиатуры. Так как совершенствование конструкций не предусмотрено ни планами министерства, НИ планами завода-изготовителя, низкая надежность КУВТ-86 является основным аргументом за запрет их использования в сфере образования.<br />
<br />
2. Использование архитектурно различных ПЭВМ в качестве РМП и РМУ, ДВК-2М и БК-0010Ш объединяет только одинаковый микропроцессор, используемый в обоих конструкциях. Несоответствие адресов внешних устройств, принципиально различные карты памяти и отсутствие у РМП графических режимов привел к высокой степени несовместимости ПЭВМ между собой. По сути дела, РМП используется лишь как файлсервер, непомерно дорогой для таких целей, не обеспечивающий обмена между рабочими местами и других функций локальной сети.<br />
<br />
3. На рабочих местах используются компьютеры, которые в лучшем случае могут быть рассмотрены как игровые (и то с параметрами, далекими от достигнутого в этой области уровня). Слишком малое ОЗУ (недостаточное даже для нормального использования Бейсика) создает серьезные трудности при программировании.<br />
<br />
4. Форматы записи данных на дискете несоместимы со стандартными форматами, применяемыми на других учебных ПЭВМ и на большинстве профессиональных ПЭВМ.<br />
<br />
=== 1.2. КУВТ УКНЦ (“Электроника МС-0202”) ===<br />
<br />
КУВТ УКНЦ состоит из однотипных ПЭВМ “Электроника МС0511”, комплектуемых монохромными мониторами “Электроника МС-6105” и объединенных в локальную сеть. Базовый класс предусматривает 13 ПЭВМ (одно РМП и 12 РМУ), контроллер НГМД, реализованный в виде отдельного устройства, подключаемого через слот, спаренный НГМД типа 6022 (в последних модификациях используется НГМД-5305) и принтер (в настоящее время типа ROBOTRON-6329.01. Форматы 5,25” 400 Кбайтных дискет совместимы с форматами, принятыми на ЭВМ серии PDP-11 фирмы DEC. Контроллер НМД, имеющийся на каждой ПЭВМ, позволяет осуществлять запись/считывание информации со скоростью 1,2 Кбод.<br />
<br />
Каждая ПЭВМ построена по двухпроцессорной двухмагистральной архитектуре. В качестве центрального процессора (ЦП) и периферийного (ПП) используются микропроцессоры КМ1801ВМ2, причем ПП используется, по сути дела, как процессор ввода/вывода. Обмен информацией между ЦП и ПП осуществляется через скоростной байтовый параллельный интерфейс и регистры. Совмещенная 16-разрядная шина адреса/данных позволяет каждому из процессоров адресовать 64 Кбайт. Имеется приоритетная система прерываний. Наличие у БИС КМ1801BM2 двух режимов работы “USER” и “HALT” позволяет включать в адресное пространство различные области памяти и организовывать арбитраж. Для решения задач арбитража используется также буфер магистрали ПП. Производительность ЦП (согласно “Техническим условиям”) составляет 0,7 млн оп/с, ПП – 0,5 млн оп/с. Объем ОЗУ составляет 192 Кбайт, из них 64 Кбайта принадлежат ЦП, 32 – ПП, 96 – видеоОЗУ. Управление каждым ОЗУ осуществляется своей БИС управления. Из-за ограниченности адресного пространства каждого из процессоров часть памяти, в том числе видеоОЗУ, адресуется через регистры. Системное ПЗУ объем 32 Кбайт принадлежит адресному пространству ПП и содержит программу начального загрузчика и тесты. Контроллер клавиатуры обслуживает матрицу 8 х 12 клавиш встроенной клавиатуры. Имеется 10 функциональных кодов. ПЭВМ включает в себя таймер и генератор звука, работающий в полосе частот 60 Гц–16 кГц.<br />
<br />
Контроллер монитора позволяет подключать как черно-белый (“Видео”), так и цветной (аналоговый RGBI, I – яркость строки) выход. КУВТ стандартно комплектуется монохромными мониторами “Электроника-6105”.<br />
<br />
Графические режимы позволяют адресовать экран до 640 × 288 точек 8 цветами из 16, время закрашивания экрана около 1 с. Доступен текстовый режим 26 строк по 80 символов в строке.<br />
<br />
Имеется 3 системных слота расширения, один из которых предназначен для подключения контроллера локальной сети.<br />
<br />
Сеть типа “Кольцо” производительностью до 57,6 Кбод представляет собой, по сути дела, стандартный последовательный порт с улучшенными характеристиками за счет применения более совершенных оптронных развязок.<br />
<br />
Основным достоинством КУВТ являются усилия разработчиков и завода-изготовителя, направленные на повышение надежности и качества серийных изделий. С точки зрения пользователя, достоинствами КУВТ УКНЦ является также унификация составляющих его ПЭВМ (в отличие от КУВТ-86); удобная для программирования, полная и симметричная система команд процессора; ориентация на интегральные схемы большой степени интеграции (полузаказные БИС серии 1515) и связанное с этим малое количество корпусов, что даст возможность повысить в перспективе надежность изделия.<br />
<br />
Основными недостатками УКНЦ являются:<br />
<br />
1. Несбалансированность тепловых режимов (частые сбои и выход из из строя в результате перегрева) части серийных моделей. Причина, по-видимому, заключается в несовершенстве используемого блока питания (классического типа). В настоящее время разработан новый блок питания (импульсного типа) с существенно более высоким КПД и низким уровнем рассеиваемой мощности, однако в серийные модели он пока не устанавливается.<br />
<br />
2. Неотработанность технологии некоторых комплектующих, в частности контроллера НМГД, резко снижает надежность КУВТ. В выпускаемых в настоящее время ПЭВМ используется новая БИС контроллера НМГД. Время покажет, повысило ли это надежность изделия.<br />
<br />
3. Использование несовершенных дисководов (например, НГМД 6022). Частые обращения к дискам, характерные для ПЭВМ DEC - архитектуры, выдвигают особые требования к надежности внешних ЗУ. В последней модификации КУВТ УКНЦ используются дисководы типа 5305, что позволяет отчасти смягчить проблему надежности КУВТ. Кардинальное решение этой проблемы возможно только при комплектации КУВТ НМД типа “Винчестер”, что не предусматривается планами завода-изготовителя. Тревожным является и тот факт, что использование “Винчестера” не предусматривается и в следующем КУВТ-90 (фактически представляющем собой модифицикацию КУВТ УКНЦ). Следует при этом отметить, что комплектация КУВТ одним “Винчестером” обходится дешевле, чем комплектация каждой ПЭВМ НГМД (последнее, возможно, будет реализовано в КУВТ-90).<br />
<br />
4. Хотя изначальная идея разделения функций центрального и периферийного процессоров несомненно здравая и соответствует тенденциям мирового развития, ее конкретная реализация в УКНЦ принесла больше осложнений, чем пользы. Основная причина этого состоит, на наш взгляд, во-первых, в отсутствии соответствующего программного обеспечения, во-вторых, в несоответствии целей и применяемых средств. Качественно иные функции ПП предполагают, что его структура, принципы работы и используемые им ресурсы принципиально отличаются от структуры, принципов работы и ресурсов ЦП, обеспечивая существенно более высокую производительность на операциях обмена данными и развитость функций контроллера внешних устройств за счет других, “чисто процессорных” функций (например, математических операций). Так, принцип развития ПЭВМ класса IBM-PC, как представляется, заключается в раздельном увеличении ресурсов и совершенствования функций центрального процессора и периферийных контроллеров при соблюдении программной совместимости в семействе снизу вверх по каждому из устройств. Использованная в УКНЦ архитектура предопределила “замораживание” ресурсов ЦП на уровне младших моделей ДВК и несоответствие функций ПП его задачам. На наш взгляд, это может привести к появлению программного обеспечения, не имеющего будущего. Хотя подобные архитектурные недоработки неизбежны, пока действует остаточный принцип финансирования, снабжения и контроля средств учебной информатики, считаем необходимым подчеркнуть архитектурную и, что еще важнее, экономическую неоправданность использования двух совершенно одинаковых процессоров в качестве ЦУП и ПП. Возможно, разработчики КУВТ УКНЦ стремились наработать опыт использования в учебных ПЭВМ мультипроцессорных систем. В этом случае следует предпочесть более серьезную проработку вопросов арбитража и распределения ресурсов организации промежуточного буфера и регистрового доступа к страницам ОЗУ.<br />
<br />
5. Своеобразие архитектуры и вызванная этим уникальность ПЭВМ привели к тому, что к настоящему времени КУВТ УКНЦ не полностью укомплектован даже базовым программным обеспечением. Большую часть программного обеспечения, включая поддержку локальной сети, необходимо разрабатывать заново. Использование профессиональных производительных ЭВМ для разработки ПО УКНЦ крайне затруднено. Более того, для создания прикладных пакетов, ориентированных на возможности собственно УКНЦ, из языков программирования в настоящее время может быть использован только макроассемблер.<br />
<br />
6. Хотя микропроцессоры, используемые в ПЭВМ, могут работать с тактовой частотой 9 МГц и достигать при этом скорости выполнения регистровых операций 1,2 млн оп./с, реальное быстродействие компьютера не превышает 0,4 млн оп./с. Для повышения скорости работы программ разработчики рекомендуют записывать программы в ПЗУ, а также распараллеливать их работу с использованием одновременно двух процессоров, однако такой режим не является штатным и на практике мало реален.<br />
<br />
=== 1.3. КУВТ “Корвет” ===<br />
<br />
КУВТ состоит из одного РМП типа ПК8020 и 12 РМУ ПК8010, объединенных локальной сетью, в комплект входят также сдвоенный дисковод и принтер западного производства. Комплект НГМД 5.25” обслуживает дисководы с емкостью данных на неформатированной дискете до 1 Мбайт (800 Кбайт на форматированной). Контроллер НМЛ допускает запись на кассетный магнитофон со скоростью 1.2 Кбод.<br />
<br />
В ПЭВМ использован микропроцессор КР580ВМ80А с производительностью 0,625 млн оп./с, карта памяти с регистровым переключением страниц, реализованы режимы прерываний, таймер, различные контроллеры, ПЭВМ представляет программе пользователя 64 Кбайта ОЗУ, видеоОЗУ, подразделяемое на графическое (ГЗУ) объемом 192 или 48 Кбайт в зависимости от используемых микросхем памяти и алфавитно-цифровое (АЦЗУ) объемом 1 Кбайт × 9 бит, ПЗУ объемом 24 Кбайт, из которых ВК заняты системой (драйверы), а 16 Кбайт – интерпретатором языка Бейсик.<br />
<br />
Контроллер монитора обеспечивает подключение черно-белого монитора по выходу “Видео” и цветного по выходу цифрового RGBI (I – интенсивность). Выход аналогового RGBI реализован, но недоступен пользователю.<br />
<br />
Реализованы (и доступны) порты параллельного (ИРПР-М) и последовательного (ИРПС и СТЫК-С2, выделены оба) интерфейсов. На плате имеются выходы для двух двухкоординатных джойстиков (не выведены на внешний разъем).<br />
<br />
Имеется несколько графических режимов, до 512 × 256 точек восьми цветов (3 плана по 16 Кбайт), время закрашивания области экрана – 2 с, существует текстовый режим, допускающий 80 символов в строке, формат знакомест 8 × 11 точек, так как графическое ЗУ и алфавитно-цифровое ЗУ физически разнесены, совмещение графического и текстового режимов не составляет проблем.<br />
<br />
Локальная сеть (KERMIT) типа “Общая шина” реализует байториентированный протокол. Скорость передачи по сети 19,6 Кбод.<br />
<br />
ПЭВМ содержит 126 корпусов микросхем, из которых БИС – 62 корпуса (4 корпуса – программируемые логические матрицы).<br />
<br />
Достоинства “Корвета” заключаются в сбалансированности его ресурсов и достижении на относительно скромной и недефицитной элементной базе достаточно высоких пользовательских характеристик, как-то: полная совместимость с пакетами, разработанными в рамках операционных систем CP/M и МикроДОС; наличие встроенного (в отличие от УКНЦ) интерпретатора Бейсика; щадящий режим работы с дисковым накопителем и др. Важными являются усилия разработчиков по дальнейшему совершенствованию модели, что в условиях быстро меняющейся ситуации гарантирует его жизнеспособность в течение некоторого времени. Несомненным достоинством является совместимость ПЭВМ по форматам данных на внешних носителях со множеством отечественных и зарубежных ПЭВМ, а также появление профессиональных и бытовых моделей архитектуры “Корвет”.<br />
<br />
К недостаткам ПЭВМ относятся:<br />
<br />
1) большое количество корпусов и недостаточная автоматизация производства. По мнению авторов, такая ситуация во многом является следствием дефицитности многих комплектующих изделий, в первую очередь микросхем, что оказывает влияние на разработку и выпуск;<br />
<br />
2) низкая надежность, обусловленная некачественной сборкой в заводских условиях;<br />
<br />
3) недоработанность базового программного обеспечения, что вызывает определенные трудности при создании программ, работающих с локальной сетью;<br />
<br />
4) наличие импортной периферии (дисководы, принтеры), закупаемой на валюту, при том что совершенно нереальны в обозримом будущем экспортные поставки “Корвета” за валюту.<br />
<br />
=== 1.4. Другие КУВТ, используемые в системе среднего образования СССР ===<br />
<br />
'''Комплект “Агат”'''. Поставляемые в школы РСФСР комплекты “Агат” представляют собой 13 ПЭВМ “Агат, исполнение”, каждая из которых оснащена дисководом и профессиональным монитором “Электроника-32ВТЦ101”, в комплект входит также матричное печатающее устройство (D100). Компьютеры не объединены локальной сетью. В качестве центрального процессора используется импортный микропроцессор MCS6502 с производительностью около 0,5 млн оп./с. В модели, поставляемой в школы, объем ОЗУ 64 Кбайт, из которых видеоОЗУ занимает от 2 до 8 Кбайт. Системное ПЗУ объемом 2 Кбайта состоит из программы начального загрузчика и драйверов. Существует режим эмулирования ПЗУ из части ОЗУ (в ПЭВМ, поставляемых в школы, такое “псевдоПЗУ” составляет 12 Кбайт и содержит программу “Монитор” и интерпретатор языка Бейсик). НГМД ЕС-5088 производства НРБ обеспечивает объем данных 109,4 Кбайт на 5,25” дискете. В качестве ВЗУ может быть использован бытовой кассетный магнитофон. ПЭВМ “Агат” имеет порты параллельного и последовательного интерфейсов. ПЭВМ реализует графические режимы до 256 × 2576 монохромных точек, 128 × 128 восьми цветов и другие, а также ряд текстовых режимов. Основными достоинствами ПЭВМ являются простая система команд, достаточно гибкая архитектура, наличие НГМД на каждом РМУ. Среди недостатков следует отметить следующие:<br />
<br />
1) ненадежность работы как самой ПЭВМ (перегрев, сбои в работе контроллера ОЗУ), так и периферии, в, в особенности болгарских дисководов;<br />
<br />
2) низкое качество НГМД привело к проблеме переносимости программного обеспечения с одного экземпляра ПЭВМ на другой, что в условиях частых сбоев и организации учебного процесса в советской школе приводит к неприемлемым условиям работы;<br />
<br />
3) из-за отсутствия локальной сети во время урока преподаватель вынужден тратить большую часть учебного времени на устранение сбоев и перезагрузки системы на отдельных экземплярах ПЭВМ;<br />
<br />
4) используемая реализация языка Бейсик несовместима с реализациями на других ПЭВМ;<br />
<br />
5) цена компьютера столь велика, что обычная школа не в состоянии приобрести комплект без помощи шефов.<br />
<br />
Напрашивается вывод, что “Агат” по сути своей не предназначен для задач образования. Его положительные стороны зачеркиваются недостатками, имеющими принципиальное значение для этой сферы деятельности.<br />
<br />
'''КУВТ “Немига”.''' Разработанный для использования в системе среднего образования БССР КУВТ “Немига” состоит из одного РМП и 12 РМУ, представляющих собой однотипные ПЭВМ “Немига”, оснащенные монохромными мониторами и объединенные локальной сетью производительностью до 620 Кбод. РМП оснащается НГМД и принтером. ПЭВМ “Немига” построена в рамках архитектуры ЭВМ семейства PDP-11 фирмы DEC на базе микропроцессорного комплекта К588/1824, выполненного по КМОП-технологии. В состав ПЭВМ входят: построенный на БИС серии К588 микропроцессор производительностью 0,4 млн оп./с; ОЗУ пользователя объемом 64 Кбайт, видеоОЗУ 32 Кбайт и “электронный диск” 32 Кбайт; системное ПЗУ, содержащее программы начального пуска и дискового загрузчика, пультового терминала, системной консоли и графических примитивов; аппаратный умножитель; контроллеры устройств. Реализованы графические (до 512 × 256 точек четырех градаций яркости) и текстовые (до 25 строк по 64 символа) режимы. Форматы дискет совместимы с применяемыми в ЭВМ “Электроника-60”.<br />
<br />
Достоинством КУВТ “Немига” является в первую очередь реализованная на нем локальная сеть. Это первый случай использования в отечественном КУВТ локальной сети, удовлетворяющей современным требовшпи к учебным средствам вычислительной техники. Хотя соответствующая БИС (К588ВГ6) вьшускается отечествеъшой промьпшіеъшоспю, до сих пор разработчики ограничивались использованием для этих целей БИС последовательного порта СТЫК-С2, имеющего в 10-30 раз более низкую производительность. Другим важнейшим достоинством является используемая низкоэнергетическая элементная база, что, по-видимому, позволит избежать проблем, связанных с перегревом ПЭВМ (потребляемых одноі ПЭВМ мощность составляет всего 6 Вт). Конечно, это не служит абсолютной гарантией надежности ПЭВМ. Реальная надежность определится в процессе эксплуатации КУВТ. К дестоинсгвам можно также отнестии обеспеченную, по словам разработчиков, высокую совместимостьс программным обеспечением ПЭВМ серии “Эпектроника-60” – “Электрошн-80” – ДВК.<br />
<br />
Основным недостатком, по мнению авторов, является ориентация разработчиков на линию DEC в архитектуре КУВТ. Происходящий в стране постепенный отказ от использования этой архитектуры в ПЭЗВМ вообще и в учебных ПЭВМ в частности лишает КУВТ “Немига” перспективы. Кроме того, аналогично другим КУВТ отечественного производства, используемые в КУВТ “Немига” ВЗУ явно недостаточны по объему хранимых данных и надежности.<br />
<br />
== 2. Применение ПЭВМ для обучения за рубежом ==<br />
<br />
За рубежом в образовании используются практически все виды персональных ЭВМ (исключение составляют лишь мощные графические станции и компьютеры-игрушки). Следует отметить, что не во всех странах принято само понятие учебной ПЭВМ. О программах создания ПЭВМ, ориентированных на применение в обучении, объявлено в Великобритании (BBC Acorn и Archimedes), во Франции (Nanorezo и Nanorezo-II), в Австралии (Micro Bee), в странах Восточной Европы (Правец-8, Праввец-16, Роботрон-1715, PMD-85, IQ-151, PP-01, PP-01.16). К странам, широко использующим ПЭВМ в образовании, относятся также США, Япония и ФРГ. При этом понятие КУВТ, как правило, не используется, хотя многие фирмы объединяют свои учебные компьютеры в локальные сети, обеспечивая пользователем коллективный доступ к периферии. Специально для целей школьного образования созданы такие ПЭВМ как IBM-PS/2 mod 25 (фирма IBM, США), Apple-IIGS (Apple, США), “Archimedes” (фирмы BBC и Acorn, Великобритания). Стремясь использовать накопленное программное обеспечение, многие школы ориентируются на IBM-PC-подобные модели (характерным примером здесь является класс Nanorezo-II, состоящий из одной ПЭВМ типа ІВМ РС/ХТ и 10-20 ПЭВМ типа ІВМ РС, объединенных локальной сетью со скоростью передачи данных до 1 Мбод). Следует отметить, что фирма IBM, учитывая перспективы развития рынка, уделяет большое внимание разработке аппаратных и программных средств для школьных ПЭВМ. Как отмечалось на семинаре этой фирмы (Москва, сентябрь 1989 г.), в настоящее время в школах США установлено около 1 млн ПЭВМ архитектуры ІВМ-РС и 0,5 млн ІВМ-РЅ/2. Состав наиболее массового учебного класса IBM-PS/2 включает в себя рабочие места (до 30 шт. и более), представляющие собой IBM-PS/2 mod. 25/30 с ОЗУ 512- 640 Кбайт, видеоконтроллером MCGA, адресующим видеоОЗУ объемом 64 Кбайт и обеспечивающим графические режимы с числом точек 640 × 200 шестнадцати цветов, а также режимы с числом цветов до 256, и цветовые мониторы и файл-сервер IВM-PS/2 mod. 60/80 с “Винчестером” 20 Мбайт и монохромным монитором. Для полноты картины отметим, что вопросами образования только в фирме IBM занимаются 5050 сотрудников и 200 консультантов, а в 1988 г. США затратили на компьютеризацию образования около 220 млрд долл.<br />
<br />
В университетах, а в последнее время и в школах США получают широкое распространение Macintosh-Plus и Macintosh-SE фирмы Apple. Это ПЭВМ из семейства, включающего в себя на сегодняшний день модели – Macintosh, Macintosh-Plus, Macintosh-SE и Macintosh-II, охватывающие широкий спектр применений от бытовых до профессиональных, Macintosh-Plus и Macintosh-SE представляют 32-разрядные ПЭВМ с процессором Motorolla МС-68000, работающие на тактовой частоте 7,8 МГц и разработанные в соответствии с концепцией открытой архитектуры. ПЭВМ поддерживают монохромный графический режим с 512 × 342 точками экрана и звуковой выход на четыре голоса; Macintosh-SE, кроме того, поддерживает и цветную графику. ПЭВМ имеют два разъема расширения Apple Destop Bus, два контроллера последовательного интерфейса RS-232/RS-422 (с максимальной производительностью 230,4 Кбод), контроллер дисковода и сам дисковод 3,5”, “мышь”. ПЭВМ Macintosh-Plus оснащается 128 Кбайтным ОЗУ и 64 Кбайтным ПЗУ. Macintosh-SE (System Expansion) представляет собой расширение ПЭВМ Macintosh-Plus и обычно комплектуется 1 Мбайтным ОЗУ (расширяемым до 4 Мбайт), 256 Кбайтным ПЗУ и портом SCSI.<br />
<br />
В конце 1988 г. фирма NEXT анонсировала новую модель рассчитанную на систему высшего образования, “NEXT” использующую самую современную технологию, в частности 32-разрядный микропроцессор Motorolla-68030 и оптические диски.<br />
<br />
Общей тенденцией использования ПЭВПМ в системах обучения западных стран является стремление наращивать предоставляемые пользователю ресурсы без кардинальной смены архитектуры, что позволяет использовать уже созданное и апробированное программное обеспечение, как общего назначения (операционные системы, трансляторы), так и прикладного. Как следствие, класс ПЭВМ IBM-PS/2 разработан таким образом, что на машинах этой серии выполняется без доработок большинство разработанных для IBM-РС пакетов, а ПЭВМ Apple-IIGS совместима с программным обеспечением Аpple-II, хотя по своим параметрам и архитектурным особенностям отличается от ПЭВМ этого класса.<br />
<br />
Однако со временем развитие аппаратной части приходит в противоречие с условием программной совместимости, что приводит к появлению новых архитектур, отрицающих применение разработанного ПО, но более приспособленных к процессу обучения. Таким “скачком вперед” явилось в последние годы появление семейства ПЭВМ “Archimedes” (“Архимед”), использующих RISC-процессор.<br />
<br />
Более подробно в настоящей работе рассмотрены следующие модели: “Archimedes” серии A300 – серии, которую ряд специалистов рассматривает как наиболее перспективную в области образования, и ПЭВМ “Apple-IIGS”, продолжающую семейство Apple-II, накопившее наибольшее число учебных программ.<br />
<br />
=== 2.1. Учебная ПЭВМ “Archimedes” ===<br />
<br />
Широко известная своими учебными компьютерами фирма Acorn Computers приступила во второй половине 1987 г. К выпуску семейства 32-разрядных ПЭВМ “Archimedes”, состоящего из двух серий компьютеров – A300 для использования в обучении и в быту и A400 для профессиональной деятельности. В настоящее время вшускаются 4 модели: A305, A310, A410, A440. Фирма подчеркивает, что обучение – основная сфера применения новой ПЭВМ, и проводит соответствующую политику, включающую установление для школ льготных тарифов.<br />
<br />
В компьютерах семейства используется микропроцессор производительностью 10 млн оп./с, построенный по RISC-технологии, и получивший название ARM (Acorn RISC Machine), с системой команд, во многом аналогичной системе команд микропроцессора 6502. Система однотактовых команд ARM состоит в основном из операций обмена между регистрами и ОЗУ. Быстрая обработка прерываний позволяет реализовать все функции ввода/вывода через микропроцессор, не используя дополнительного оборудования. Простота конструкции и высокая производительность ARM во многом достигнуты благодаря перераспределению функций между процессором и БИС управления памятью MEMC, на которую возложены функции общей синхронизации, контроллера режима прямого доступа к памяти, формирования 22-битового физического адреса, мультиплексирования микросхем ОЗУ и др. Кроме центрального микропроцессора, используется еще 3 сопроцессора: управление ОЗУ – MEMC, управления видеопамятью – VIDC и ввода/вывода – IOC. MEMC адресует до 4 Мбайт ОЗУ с тремя уровнями защиты памяти: “супервизор”, “операционная система”, “пользователь”.<br />
<br />
Объем ОЗУ в существующих моделях составляет от 0,5 М до 4 Мбайт в зависимости от модели (в A305 – 0,5 М байт) ПЗУ – 512 Кбайт, имеется также CMON-ОЗУ объемом 256 байт для часов реального времени с питанием от литиевых батарей. Системное ПЗУ содержит монитор операционной системы MOS, дисковую файловую систему ADFS, сетевую файловую систему ANFC, BBC Basic V, Basic Editor, программу работы с “окнами” Desk Top Manager и несколько кодовых наборов символов.<br />
<br />
Каждая из моделей комплектуется вмонтированным в системный блок 3,5” дисководом для 1 Мбайтных (неформатированных) дискет. Возможно подключение второго дисковода или диска типа “Винчестер” емкостью до 20 Мбайт (в ПЭВМ серии A300 для подключения “Винчестера” требуется дополнительный контроллер). Кроме того, имеется доступ к 20 Мбайтному “Винчестеру” через локальную сеть.<br />
<br />
ПЭВМ имеет контроллеры последовательного (RS-423) и параллельного (Centronics) интерфейса, комплектуется трехклавишной “мышью”.<br />
<br />
Видеопроцессор VIDC поддерживает 187 экранных режимов с максимальным числом цветов 256 из палитры 4096 для мониторов с обычной скоростью сканирования и 3 режима для высокоскоростных мониторов. Всего поддерживается 22 экранных режима, в том числе 3 с высоким разрешением (640 × 512 точек). Число цветов – до 256 из палитры 4096. Имеется система программных спрайтов. Скорость передачи на дисплей может изменяться программно переключением частоты передачи с 8 до 24 МГц. Использование в микропроцессоре 32-разрядного циклического сдвигового регистра обеспечивает необходимый для графики высокого разрешения набор битовых операций.<br />
<br />
ПЭВМ имеет канал стереозвука на 8 голосов. Клавиатура (расширенная IBM-PC) содержит 103 клавиши, из которых 12 программируются пользователем. Монитор может подключаться как через аналоговый, так и через цифровой RGB-входы.<br />
<br />
В машинах серии A300 пользователю предоставляется один 64-контактный системный расширитель магистрали (слот), допускающий 2 слота расширения, в A400 – 4 (6) системных слотов.<br />
<br />
“Archimedes” поддерживает традиционную для Acorn локальную сеть ECONET с сетевым интерфейсом RS-423 (скорость передачи до 350 Кбод); предоставляющую пользователю доступ к периферии в режиме разделения времени. Стоит отметить, что RS-423 распространен в основном только в Великобритании.<br />
<br />
Из дополнительно поставляемых устройств можно выделить плату сопроцессора с Intel-80186 для поддержки программного обеспечения фирмы IBM (совместимость с ПО IBM-PC достигается за счет потери многих преимуществ “Archimedes”), а также сопроцессор арифметики с плавающей точкой (для серии A300 использование этой платы недопустимо).<br />
<br />
“Archimedes” рекламируется как ПЭВМ, имеющая вдвое большую производительность, чем VAX-780, и сопоставимая с последними 32-разрядными моделями, построенными на Intel-80386 и Motorola-68020.<br />
<br />
“Archimedes” достаточно хорошо оснащена программными средствами. Уже сейчас имеются трансляторы языков Лисп, Пролог, Смолток и др. В списке обучающих программ и пакетов (занимающем почти половину каталога прикладного программного обеспечения) есть программы для всех возрастов – от обучения чтению 5-летних до сложных пакетов по физике, биологии, экономике для студентов. Практически все учебные программы созданы фирмами Longman, Scetlander и Resource. Следует отметить, что большинство обучающих программ – это ситуационные модели, ролевые игры, требующие от обучаемого принятия решений и демонтсрирующие ближайшие и отдаленные результаты этих решений, что позволяет, не отвлекаясь на несущественные частности, понять суть изучаемых проблем и их взаимосвязи.<br />
<br />
Следует отметить, что при всех своих преимуществах ПЭВМ “Archimedes” не завоевала английского рынка, на котором имеет место сильная ориентация на IBM-PC-совместимые модели.<br />
<br />
=== 2.2. ПЭВМ Apple-IIGS ===<br />
<br />
В настоящее время наиболее распространенными компьютерами, применяемыми в школах США (более 50% парка машин), являются ПЭВМ семейства Apple-II. Несмотря на “возраст” (первая модель Apple-II была разработана более 11 лет назад), компьютеры этого класса сохраняют лидирующее положение в основном за счет относительно низкой цены и развитости программного обеспечения. В настоящее время семейство Apple-II состоит из моделей: Apple-II, Apple-II+, Apple-IIe, Apple-IIc и Apple-IIGS. Появившуюся в конце 1986 г. Модель Apple-IIGS отличают такие высокие качества, как открытость архитектуры, использование наряду с 8-разрядной 16-разрядной арифметики, технологии монтажа на поверхности. Относительно невысокая стоимость (цена базовой модели $999), доступность богатейшего программного обеспечения Apple-II и другие достоинства позволяют компьютерам серии Apple и до сих пор занимать одно из ведущих мест среди ПЭВМ для учебных и бытовых применений.<br />
<br />
Apple-IIGS состоит из системного блока, выносной клавиатуры, “мыши”, дисплея, утилит, операционной системы ProDOS 8/16 и документации. В качестве центрального процессора используется микросхема 65C816 производительностью более 1 млн он./с. Это 16-разрядная БИС, имеющая, кроме того, режим эмуляции системы команд 8-разрядного микропроцессора 6502, что позволяет использовать программное обеспечение Apple-II без каких-либо переделок. Аналогично “Archimedes” повышение реального быстродействия ПЭВМ во многом определяется разделением фукнций между микпропроцессором и специальной БИС Mega-II, осуществляющей ввод/вывод и ряд других операций. Адресное пространство микропроцессора составляет 16 Мбайт, системная шина Apple-IIGS обеспечивает доступ лишь к 8 Мбайт. Стандартная поставка включает в себя 320 Кбайт ОЗУ, из которых 128 Кбайт “быстрого” ОЗУ принадлежат ЦП, 128 Кбайт “медленного” ОЗУ – БИС Mega-II, а 64 Кбайт представляют собой специализированное ОЗУ звукового синтезатора. Это существенно превышает объем ОЗУ в Apple-IIe (128 Кбайт). Объем встроенного ПЗУ также больше, чем в любой другой ПЭВМ серии Apple (128 Кбайт), и включает в себя Applesoft Бейсик, инструментальные средства, фукнции обмена с монитором, клавиатурой, портами ввода/вывода, а также драйвер локальной сети AppleTalk.<br />
<br />
Контроллер дисковода обеспечивает работу с 800 К байтными форматами 3,5” дискет, а также (для совместимости с Apple-II) с 143 Кбайтным 5,25” дискетами. Поддержки “Винчестера” в стандартной поставке не предусмотрено, однако фирма Apple продает соответствующую аппаратуру в виде отдельного продукта.<br />
<br />
Имеются два последовательных порта ввода/вывода, “мышь”, выходы на монохромный и цветной мониторы (последний может подключаться как через RGB, так и через видеовход). В стандартную поставку входит монохромный монитор.<br />
<br />
Клавиатура модифицирована по сравнению с Apple-II для обеспечения большего удобства пользователя и совместимости с клавиатурой Macintosh. Запрограммированные в ПЗУ фунции обслуживания клавиатуры включают в себя все системные входы из применяемого в Macintosh набора Control Planet, а также дают возможность переключать тактовую частоту 1/2, 8 МГц. Возможны варианты кодировки клавиш для неанглоязычных стран.<br />
<br />
Принципиально новой особенностью Apple-IIGS по сравнению с другими ПЭВМ серии Apple-II является наличие слотов расширения шины Apple-IIe и слота расширения ОЗУ до 8 Мбайт.<br />
<br />
Встроенное расширение ОЗУ делает невозможным использование ряда разработанных для ранних моделей интерфейсных плат, например платы прямого доступа к памяти. Следует отметить, что с появлением ПЭВМ типа Apple-IIGS (а также Mac-SE, Mac-II, Commodore Amiga-2000 и др.) снова проявилась тенденция к открытой, “гибкой” архитектуре, позволяющей пользователю варьировать ресурсы в широких пределах в зависимости от своих нужд и не менять компьютер, как только он перестал удовлетворять возросшим потребностям. Дешевизна моделей с минимальной комплектацией, возможность наращивания ресурсов по мере роста сложности решаемых задач, доступность богатого программного обеспечения (особенно в области учебного использования ПЭВМ), несомненно, повышают конъюнктурные преимущества этих ПЭВМ в условиях рынка.<br />
<br />
Разъемы и кабели унифицироываны, т.е. кабель для подключения в ПЭВМ принтера может быть использован для подключения к ней модема и наоборот, а также для подключения принтера непосредственно к модему. Порт для подключения 3,5” и 5,25” дисководов (Smart Port) может быть использован для других блочных операций, например для обмена с “Винчестером” или файлсервером (т.е. устройством, организующим доступ к ресурсам внешней памяти). “Винчестер”, кроме того может быть подключен через локальную сеть AppleTalk, через SCSI-порт или специализированную интерфейсную плату.<br />
<br />
Apple-IIGS поддерживает все текстовые и графические режимы ПЭВМ серии Apple: текстовые режимы на 40 × 80 символов в строке (24 строки, 6 × 8 точек в знакоместе), графические режимы с низким, высоким (280 × 192) и двойным (560 × 1092) разрешением, комбинации текстовых и графических режимов. Добавлены два новых режима высокого разрешения: 320 × 200 точек с 16 цветами и 640 × 200 точек с 4 цветами.<br />
<br />
Особенностью Apple-IIGS, отличающей ее от аналогичных ПЭВМ, является наличие звукового спецпроцессора фирмы Ensoniq с 64 Кбайт памяти, что позволяет записывать в цифровом виде и воспроизводить одновременно до 32 голосов, а также высококачественную речь и пение. Возможен цифровой синтез звуков с введением данных из файла в в виде частотных гармоник, нотного текста или непосредственно с музыкального инструмента.<br />
<br />
Технологическим успехом фирмы Apple следует считать высокую степень интеграции, достигнутую в Apple-IIGS. Большинство “обрамления”, на которое в Apple-II уходило 70 корпусов МС малой интеграции, а в Apple-IIe – 20 корпусов, Apple-IIGS сведено в одной микросхеме SMD-технологии (технология монтажа на поверхности). Это означает, что Apple-IIGS является более надежной ПЭВМ по сравнению со своими предшественницами, однако в случае поломки практически неремонтноспособной: микросхема может быть заменена только вместе с печатной платой. Технология SMD, требующая высокой роботизации производства, удешевляет конструкцию и одновременно страхует от несанкционированного копирования аппаратуры мелкими производителями.<br />
<br />
=== 2.3. Прогноз развития зарубежных УПЭВМ ===<br />
<br />
При составлении прогнозов развития средств вычислительной техники учебного назначения, создаваемых в развитых капиталистических странах, в период до 1995 г. учитывались следующие соображения:<br />
<br />
1) в большинстве западных стран нет концепции КУВТ или специальных УПЭВМ. Просто в систему образования поставляются более дешевые модели;<br />
<br />
2) прогноз на 5 лет вперед целесообразно давать с учетом того, что было 5 лет назад по сравнению с данным моментом.<br />
<br />
На основе анализа сведений из зарубежных журналов можно сделать вывод, что УПЭВМ будут комплектоваться следующими периферийными устройствами: накопитель на жестком магнитном диске диаметром 89 мм емкостью не менее 20 Мбайт (рост объема продаж за 1988 г. 110%); накопитель на гибком магнитном диске диаметром 89 мм, емкостью не менее 1,44 Мбайт (рост объема продаж за 1988 г. 30%); оптические диски однократной записи не менее 1 Гбайт (рост объема продаж 91%); цветной монитор (рост объема продаж 30%); лазерный принтер (рост объема продаж 13%).<br />
<br />
Все УПЭВМ будут комплектоваться манипуляторами типа “мышь”. В качестве схем ЗУПВ будут использоваться как минимум динамические схемы емкостью 1 Мбит (рост объема продаж 174%, а объем продаж схем 256 Кбит уменьшился на 16%). Однако скорее всего, к 1995 г. самыми распространенными (и самыми дешевыми) схемами памяти будут схемы емкостью 4Мбит. Ведь 7 лет назад самыми дешевыми были схемы 167 Кбит, а сейчас – 256 Кбит, т.е. за 7 лет емкость схем ЗУПВ возросла в 16 раз.<br />
<br />
В качестве микропроцессора при таких объемах оперативной памяти (не менее 1 Мбайт) будут использоваться 32-разрядные микропроцессоры типа Intel-80386 (или 80486), Motorola-68040 или, что более вероятно, РИСК-процессоры, так как при существенно более простой технологии изготовления они обладают наиболее высоким быстродействием.<br />
<br />
Большие объемы оперативной памяти позволят существенно повысить производительность УПЭВМ путем организации электронного диска.<br />
<br />
Можно ожидать значительного улучшения графических характеристик УПЭВМ. При разрешающей способности порядка 1024 × 1024 пиксел будет не менее 256 цветов (если будет решена проблема создания недорогих мониторов, допускающих такое разрешение).<br />
<br />
== 3. Перспективы использования ПЭВМ в учебном процессе в СССР ==<br />
<br />
Комплексное применение вычислительной техники в классе, обеспечивающее работу учителя и индивидуальную работу учеников, требует наличия ПЭВМ значительно большей мощности по сравнению с используемыми в настоящее время. Это относится и к объему оперативной памяти, и к быстродействию, и к графическим возможностям. Тенденция к увеличению мощности ПЭВМ прослеживается во всех проработках, касающихся перспективного компьютера для системы образования.<br />
<br />
Вместе с тем речь о комплексном примененеии ПЭВМ может идти только при достаточном насыщении школы вычислительной техникой. Если одна ПЭВМ приходится на 100 учеников (а это примерно полмиллиона машин), то каждый ученик может общаться с компьютером не более одного часа за три недели, считая по шесть уроков в день. Естественно, что никакого комплексного применения ПЭВМ в этом случае нет и быть не может. Нет в этом случае и необходимости в разработке более мощной ПЭВМ. На первый план здесь выходит не увеличение вычислительных возможностей, а снижение стоимости при сохранении уже достигнутых характеристик. И самое важное здесь – обеспечение массового производства ПЭВМ.<br />
<br />
Таким образом, при наличии в школе только одного кабинета вычислительной техники с 12-15 компьютерами можно всерьез говорить только об изучении основ информатики и вычислительной техники, причем для этих целей достаточно (по функциональным возможностям) имеющихся в настоящее время КУВТ “Корвет” и УКНЦ.<br />
<br />
Только когда в системе образования на 30-10 учеников будет приходится по 1 компьютеру, можно будет всерьез ставить задачу комплексного использования вычислительной техники со всеми вытекающими последствиями.<br />
<br />
== 4. Требования к перспективным учебным ПЭВМ ==<br />
<br />
Все УПВМ и КУВТ, построенные на их основе, независимо от изготовителя должны быть максимально унифицированы аппаратно и иметь одинаковое базовое и прикладное программное обеспечение. Различие можно допустить на уровне операционных систем при одинаковом интерфейсе с пользователем, и обязательно должны существовать программы преобразования файловой структуры одной операционной системы в другую, и наоборот.<br />
<br />
Программное обеспечение КУВТ должно быть в максимальной степени близко к точному подмножеству программного обеспечения профессиональных ПЭВМ. Это позволит поручить производство КУВТ различным министерствам и ведомствам, не создавая проблем для унифицированного учебного процесса, а также облегчить создание прикладного программного обеспечения.<br />
<br />
При разработке КУВТ обязательно следует учесть и то обстоятельство, что ряд учебных пакетов будет создаваться на ПЭВМ, входящих в состав КУВТ. Поэтому каждый КУВТ должен иметь определенные ресурсы, включая инструментальные средства, для разработки пакетов прикладных программ.<br />
<br />
Характерной особенностью класса УПЭВМ в отличие от ПЭВМ вообще является однообразие характеристик при большом объеме производтсва. Так, в текущей пятилетке около 50% всех выпущенных ПЭВМ намечено направить в систему образования.<br />
<br />
Отечественная УПЭВМ 1995 г. с оптимистичным учетом возможностей нашей промышленности должна обладать следующими характеристиками:<br />
<br />
наработка на отказ – не менее 20 000 ч;<br />
<br />
количество корпусов на плате – не более 40;<br />
<br />
микропроцессор – 1801ВМ86, 181ВМ88 или РИСК-процессор;<br />
<br />
графический процессор, обеспечивающий разрешение не менее 640 × 400 пикселей при 16 цветах, аппаратно реализующий наиболее употребительные функции (изображение линий, окружностей, заливка области определенным цветом, масштабирование и т.д.), а также поддерживающий средства динамической графики;<br />
<br />
объем ОЗУ, включая видеоОЗУ, – не менее 1 Мбайт для РМУ и не менее 3 Мбайт для РМП;<br />
<br />
внешняя память РМП – жесткий диск емкостью не менее 10 Мбайт и НГМД емкостью не менее 80 Кбайт, внешняя память РМУ – НГМД емкостью 800 Кбайт;<br />
<br />
цветной монитор с разрешающей способностью 640 × 400 пикселей;<br />
<br />
принтер ударный, матричный, со скоростью вывода 150 символов в 1 с;<br />
<br />
локальная сеть со скоростью передачи не менее 100 Кбод;<br />
<br />
базовое программное обеспечение должно включать операционную систему, закрытую от преподавателя и учеников, учебную среду для преподавателя, учебную среду для учеников, языки программирования Бейсик, Паскаль, Лого, Лисп, Пролог, Си, учебные, базы данных, системы текстообработки, электронные таблицы, экспертные системы, средства поддержки локальной сети.<br />
<br />
== Литература ==<br />
1. Тенденции развития учебных ПЭВМ (обзор архитектуры). Препринт ИПИАН. 1989. 56 с.<br />
<br />
2. Отчет по теме “Школа”. М.: ИПИАН, 1988. 126 с.<br />
<br />
3. Перспективный комплект учебной вычислительной техники. Исходные требования. Проект. М.: НИИ школьного оборудования и технических средств обучения АН СССР, 1989. 85 с.<br />
<br />
4. Комплексная программа научно-технического прогресса стран – членов СЭВ до 2000 г., проблема 1.2.7 “Совершенствование системы образования на основе применения средств вычислительной техники на 1986–1990 гг.”. М., 1990.<br />
<br />
5. Временные санитарно-гигиенические нормы и правила устройства, оборудования, содержания и режима работы на персональных электронно-вычислительных машинах и видеодисплейных терминалах в кабинетах вычислительной техники и дисплейных классах всех типов учебных заведений: Временные СанПин №5146-89. М.: Минздрав СССР, ГКНО СССР. 1989. 38 с.<br />
<br />
6. Христочевский С.А. Рекомендации по применению средств вычислительной техники и информатики в сфере образования. Препринт ИПИАН. М., 1988. 45 с.</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3715Союз-Неон ПК-11/162023-11-02T10:12:38Z<p>Nzeemin: /* Шильдики */</p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ, две [[КМ1801РР1]]<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Контроллер прерываний [[КР580ВН59]]<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш [[КР580ВВ79]]<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Часы реального времени [[КР512ВИ1]]<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД [[КР1810ВГ72А]] и КНЖМД (MFM) [[КМ1809ВГ7]]<br />
** Последовательный порт [[КР580ВИ51]]<br />
** Мышь стандарта MSX<br />
<br />
== Видео режим ==<br />
Разрешение 832 на 300, Кадровая частота 50Гц, Строчная частота 15.625КГц, Пиксельклок 16МГц, точек в строке 1024, видимых 832. Строк в кадре 312, видимых 300.<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Шильдики ==<br />
* ??.??г 00053 ("точно до сотки") был у DmitryDWG<br />
* ??.92г 00063 — у Sandro<br />
* ??.??г 00122 — был показан на Демодуляции<br />
* 06.92г 00196 — у nzeemin, получен от М.Гусева<br />
* 06.92г 00197 — был распаян для создания реплики<br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = https://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* {{pdf||Союз-Неон ПК-11/16 ТО|computers/souz-neon/docs/PK11-16-TO.pdf}} Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
* [https://github.com/troosh/pk11-16 Документация и исходники ПЗУ]<br />
* [https://habr.com/ru/articles/535936/ PAL, GAL и путешествие в цифровое ретро]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
* [https://archive.pdp-11.org.ru/vid/PK11_NEON/ Сборник софта в хламнике Хобота]<br />
* [http://mirrors.pdp-11.ru/_pk11-16/ Сборник софта на pdp-11.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
* {{rom|Образы |PLM|computers/souz-neon/firmware/pk1116-firmware-08-10-2018.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_406_ROM_disasm&diff=3714Немига 406 ROM disasm2023-10-27T18:18:33Z<p>Nzeemin: </p>
<hr />
<div>{{Emuverse}}<br />
Источник: https://github.com/nzeemin/nemigabtl/blob/master/docs/nemiga-406.lst<br />
<pre><br />
; Дизассемблированное ПЗУ компьютера НЕМИГА ПК 588 версия 4.06<br />
;<br />
<br />
000004: DW ; Адрес прерывания<br />
000006: DW ; PSW прерывания<br />
000010: DW ; Адрес прерывания<br />
000012: DW ; PSW прерывания<br />
000014: DW ; Адрес прерывания - прерывание по T-разряду или команда BPT<br />
000016: DW ; PSW прерывания<br />
000020: DW ; Адрес прерывания - команда IOT<br />
000022: DW ; PSW прерывания<br />
000024: DW ; Адрес прерывания - питание<br />
000026: DW ; PSW прерывания<br />
000030: DW ; Адрес прерывания - команда EMT<br />
000032: DW ; PSW прерывания<br />
000034: DW ; Адрес прерывания - команда TRAP<br />
000036: DW ; PSW прерывания<br />
<br />
000060: DW ; Прерывание клавиатура<br />
000062: DW ; PSW прерывания<br />
000064: DW ; Прерывание дисплей<br />
000066: DW ; PSW прерывания<br />
<br />
000100: DW ; Адрес прерывания - таймер<br />
<br />
000104: DW ; Адрес подпрограммы обработки сигнала Н4 - от сетевой карты<br />
000110; DW ; Прерывание "мелодия закончилась кодом 040"<br />
000112: DW ; PSW прерывания<br />
<br />
000204: DW ; WORK - рабочий регистр<br />
000206: DW ; VFORM - регистр вертикального формата<br />
000210: DW ; BRIGHT - регистр яркости (0..3)<br />
000212: DW ; XNEW - регистр новой X-координаты<br />
000214: DW ; YNEW - регистр новой Y-координаты<br />
000216: DW ; XOLD - регистр старой X-координаты<br />
000220: DW ; YOLD - регистр старой Y-координаты<br />
<br />
; ==== Начало ПЗУ - см. PULT.MAC =====================================================<br />
<br />
160000: DW 177570 ; ??<br />
160002: DW 160210, 000341 ; Вектор прерывания сигнала/команды HALT<br />
160006: DW 161726, 000340 ; Вектор прерывания - дв.ошибка канала, запуск<br />
160012: DW 161142, 000340 ; Вектор прерывания - ошибка ввода адреса вектора<br />
160016: JMP @#163466 ; MODE3 - Вызов с запретом системных прерываний<br />
160022: JMP @#163504 ; SYSLIN - Вывод в служебную строку<br />
160026: JMP @#163722 ; TT.OUT - Системный вывод через MODE<br />
160032: JMP @#163726 ; SYSOUT - Системный вывод<br />
160036: JMP @#162274 ; PRINT - Вывод текста<br />
160042: JMP @#165346 ; DRAW - Нарисовать линию, сохранив XOLD,YOLD<br />
160046: JMP @#165340 ; QDRAW то же для QUASIC<br />
160052: JMP @#165342 ; FDRAW то же для FORTRAN<br />
160056: JMP @#165376 ; LINE - Нарисовать линию<br />
160062: JMP @#165370 ; QLINE то же для QUASIC<br />
160066: JMP @#165372 ; FLINE то же для FORTRAN<br />
160072: JMP @#165606 ; POINT - Нарисовать точку<br />
160076: JMP @#165600 ; QPOINT то же для QUASIC<br />
160102: JMP @#165602 ; FPOINT то же для FORTRAN<br />
160106: JMP @#165672 ; RPOINT - Читать яркость точки<br />
160112: JMP @#162236 ; QRPOIN то же для QUASIC<br />
160116: JMP @#165664 ; FRPOIN то же для FORTRAN<br />
160122: JMP @#162236 ; DUMP - напечатать восьмеричное число R3<br />
160126: JMP @177754 ; SOUND<br />
<br />
; ==== HALT MONITOR<br />
<br />
.RESET - Обработка канального сигнала СБРОС<br />
160142: MOV #000357, @#000206 ; 239. -> VFORM<br />
160150: CLR @#177560 ; Сброс состояния клавиатуры<br />
160154: MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания<br />
160162: CLR @#177770<br />
160166: BIC #177541, @#177766 ; Режим дисплея - оставляем только флаги #136<br />
HOUT:<br />
160174: MOV (SP)+, R0<br />
160176: JMP @#161074 ; .PULT - Завершаем обработку прерывания HALT<br />
;<br />
; Обработка нажатия СТОП и кнопки ОСТ<br />
PULT: ; УПР/СТОП или команда HALT<br />
160202: MOV (SP)+, R0 ; Восстанавливаем R0<br />
160204: JMP @#161142 ; Переходим к сохранению регистров и пульту<br />
;<br />
; Обработчик прерывания по сигналу/команде HALT<br />
HMON:: ; диспетчер HALT прерываний.<br />
160210: CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
160216: BEQ 160224 ; да, настроена<br />
160220: JMP @#161720 ; нет => DOUBL - перезапуск<br />
O.K.:<br />
160224: MOV R0, -(SP) ; Сохраняем R0 чтобы не испортить<br />
160226: BIS #000200, @#177564 ; ТТ: всегда готов !<br />
160234: BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT<br />
160242: BMI 160142 ; была команда RESET<br />
160244: BEQ 160202 ; была команда HALT<br />
160246: BIT #004000, @#170006 ; Сигнал Н4? - адаптер локальной сети<br />
160254: BEQ 160262 ; нет<br />
160256: CALL @000104 ; SH4 - локальная сеть.<br />
.DISP:<br />
160262: BIT #040000, @#170006 ; SH1 - по записи в TTD<br />
160270: BEQ 160302 ; нет => переходим<br />
160272: MOV @#177566, R0 ; Регистр данных терминала - символ для вывода на экран<br />
160276: CALL @#163726 ; SYSOUT Вывод символа R0 на экран<br />
.RDKEY:<br />
160302: BIT #020000, @#170006 ; SH2 - по чтению из KBD<br />
160310: BEQ 160334 ; нет => переходим<br />
160312: MOVB @#177767, R0 ; Провека буферной ячейки клавиатуры<br />
160316: BEQ 160326 ; буфер пуст => переходим<br />
160320: CLRB @#177767 ; Очищаем буфер<br />
160324: BR 160526 ; вывод второй части.<br />
EMPTY:<br />
160326: BIC #177677, @#177560 ; сброс бита прерывания клавиатуры.<br />
.KEY::<br />
160334: MOV @#170006, R0 ; KEY - по нажатию клавиши.<br />
160340: BIT #002000, R0 ; Пришёл байт с клавиатуры?<br />
160344: BEQ 160606 ; нет =><br />
160346: BIC #177400, R0 ; код КОИ-8<br />
160352: BEQ 160202 ; код 0 -- УПР/СТОП.<br />
160354: TSTB @#177560 ; Состояние клавиатуры - готов к приёму?<br />
160360: BMI 160606 ; нет =><br />
; Нажата клавиша - выдаём звук нажатия клавиши<br />
160362: MOV R1, -(SP)<br />
160364: MOV R2, -(SP)<br />
160366: TSTB @#177761 ; Флаг блокировки вызова SOUND<br />
160372: BNE 160410 ; играет мелодия.<br />
160374: CALL @#160126 ; SOUND<br />
160400: BR 160410 ;<br />
160402: DW 160404 ; Адрес мелодии нажатия клавиши<br />
160404: DB 011, 214, 001, 000 ; Мелодия - звук длиной 1/50 сек<br />
; Обработка нажатой клавиши<br />
160410: MOV #177766, R1 ; Адрес Режим дисплея<br />
160414: MOV #000100, R2<br />
160420: TSTB (R1) ; проверяем бит 7 в Режим дисплея<br />
160422: BPL 160522 l бит 7 = 0 ? => переход<br />
160424: BITB #000300, R0<br />
160430: BEQ 160500<br />
160432: BPL 160462<br />
160434: BIT R2, R0<br />
160436: BEQ 160522<br />
160440: BIC #177600, R0<br />
160444: BITB R2, (R1)+<br />
160446: BNE 160522<br />
160450: MOVB R0, (R1)<br />
160452: MOV #000016, R0<br />
160456: BISB R2, -(R1)<br />
160460: BR 160522<br />
LAT:<br />
160462: BITB R2, (R1)+ ; лат. регистр установлен ?<br />
160464: BEQ 160522<br />
160466: MOVB R0, (R1) ; нет - двойной код: ЛАТ-символ.<br />
160470: MOV #000017, R0<br />
160474: BICB R2, -(R1)<br />
160476: BR 160522<br />
160500: CMPB R0, #000040 ; >= ' ' ?<br />
160504: BHIS 160522 ; да => <br />
160506: MOVB 161102(R0), @#177767 ; управляющие последовательности.<br />
160514: BEQ 160522 ; типа: АР2-код.<br />
160516: MOV #000033, R0 ; код ESC<br />
REG2:<br />
160522: MOV (SP)+, R2<br />
160524: MOV (SP)+, R1<br />
160526: MOV R0, @#177562 ; стандартная клавиатура.<br />
160532: MOV (SP)+, R0<br />
160534: BIS #000200, @#177560 ; Состояние клавиатуры - сброс бита готовности<br />
160542: BIT #000100, @#177560 ; Состояние клавиатуры - разрешено прерывание?<br />
160550: BEQ 161074 ; нет => Завершаем обработку прерывания HALT<br />
160552: BISB #000001, @#177766 ; Запрещаем прерывание по вектору 000064<br />
160560: TSTB 000002(SP)<br />
160564: BMI 161074 ; => Завершаем обработку прерывания HALT<br />
INT.K: ; эмуляция прерывания от клавиатуры.<br />
160566: BICB #000001, @#177766 ; Разрешаем прерывание по вектору 000064<br />
160574: MOV @#000062, -(SP) ; Кладём в стек PSW<br />
160600: MOV @#000060, -(SP) ; адрес прерывания по вектору 60<br />
160604: BR 161074 ; HOUT1 - Завершаем обработку прерывания HALT<br />
.CLOCK:: ; SH3 - по системным часам.<br />
160606: MOV (SP)+, R0 ; Восстанавливаем R0<br />
160610: BIT #010000, @#170006 ; Сигнал Н3?<br />
160616: BEQ 161074 ; нет => Завершаем обработку прерывания HALT<br />
; Обработка сигнала Н3<br />
160620: MOV R4, -(SP) ; Сохраняем R4<br />
160622: TST @#177760 ; Флаг блокировки SOUND<br />
160626: BPL 160750 ; bit7=0 => переходим<br />
160630: MOV @#177752, R4 ; Берём адрес продолжения мелодии<br />
160634: INCB @#177760 ; Увеличиваем счётчик длительности ноты<br />
160640: CMPB @#177760, 177777(R4) ; Сравниваем с длительностью ноты<br />
160646: BLO 160750 ; пока не кончилась => переходим<br />
160650: TSTB (R4) ; 200 ?<br />
160652: BMI 160744 ; да => переходим<br />
160654: BITB #000037, (R4) ; Есть ещё нота мелодии?<br />
160660: BNE 160740 ; да => переходим<br />
160662: BIC #100000, @#177760 ; Снимаем флаг блокировки SOUND<br />
; Обработка флагов завершения мелодии<br />
160670: BITB #000040, (R4) ; 040 и 140 ?<br />
160674: BNE 160712 ; да => переходим<br />
160676: TSTB (R4) ; 000 ? (никаких действий по окончании мелодии)<br />
160700: BEQ 160750 ; да => переходим<br />
160702: CALL @#160126 ; SOUND<br />
160706: BR 160750<br />
160710: DW 000000<br />
; Окончание мелодии байтом 040 либо 140<br />
160712: BITB #000100, (R4)+ ; байт 140?<br />
160716: BNE 160734 ; да => переход<br />
160720: MOV (SP)+, R4<br />
160722: MOV @#000112, -(SP) ; Сохраняем в стеке переход<br />
160726: MOV @#000110, -(SP) ; на прерывание по вектору 110<br />
160732: BR 161074 ; к разрешению прерываний и RTI<br />
; Окончание мелодии байтом 140<br />
160734: CLRB (R4) ; Очистка байта после конца мелодии<br />
160736: BR 160750 ; переходим к работе с курсором<br />
;<br />
160740: MOVB (R4)+, @#170030 ; Октава и громкость<br />
160744: CALL @#162520 ; Обработка продолжения мелодии<br />
; Мигание курсора<br />
160750: DECB @#177756 ; Уменьшаем счётчик мигания<br />
160754: BPL 161034 ; значение >= 0 ? => переходим<br />
160756: MOVB #000007, @#177756 ; Новое значение счётчика<br />
160764: COMB @#177757 ; Инвертировать состояние курсора при мигании<br />
160770: MOV @#177772, R4 ; Смещение курсора<br />
160774: BMI 161034<br />
160776: TSTB @#177771 ; Состояние курсора??<br />
161002: BMI 161034<br />
161004: ADD @#177746, R4 ; + адрес 25-й строки экрана<br />
161010: BMI 161034<br />
161012: ROL R4<br />
161014: BMI 161034<br />
161016: BIS #000001, @#177574 ; Включаем экран в основную память<br />
161024: COM (R4) ; Инвертирование восьми пикселей - курсор<br />
161026: BIC #000001, @#177574 ; Отключаем экран из основной памяти<br />
161034: MOV (SP)+, R4 ; Восстанавливаем R4<br />
161036: TSTB 000002(SP) ; приоритет ССП < 4 ?<br />
161042: BMI 161074 ; ?? => Завершаем обработку прерывания HALT<br />
161044: BITB #000001, @#177766 ; был запрос от клавиатуры ?<br />
161052: BNE 160566<br />
161054: BIT #000100, @#177564 ; прерывание от дисплея нужно ?<br />
161062: BEQ 161074 ; нет => Завершаем обработку прерывания HALT<br />
; Эмуляция прерывания от дисплея<br />
161064: MOV @#000066, -(SP) ; сохраняем PSW<br />
161070: MOV @#000064, -(SP) ; и адрес для перехода по вектору 000064<br />
; HOUT1: Завершение обработки прерывания HALT<br />
161074: CLRB @#170006 ; Разрешаем системные прерывания<br />
161100: RTI<br />
; Таблица байт - маппинг кодов клавиш 000..037 в ESC-коды<br />
; TCK: таблица перекодировки управяющиx клавиш в режимe VT-52<br />
161102: DB ...<br />
<br />
; Обработка прерывания по вектору 160012 - Сохранение регистров и переход к пульту<br />
.PULT::<br />
161142: MOV (SP)+, @#177736 ; убрать вектор состояния.<br />
161146: MOV (SP)+, @#177740 ; из стека.<br />
161152: MOV SP, @#177734 ; установить системный стек.<br />
161156: MOV #177734, SP ;<br />
161162: MOV R5, -(SP) ; -> 177732<br />
161164: MOV R4, -(SP) ; -> 177730<br />
161166: MOV R3, -(SP) ; -> 177726<br />
161170: MOV R2, -(SP) ; -> 177724<br />
161172: MOV R1, -(SP) ; -> 177722<br />
161174: MOV R0, -(SP) ; -> 177720 - начало блока регистров<br />
161176: MOV @#000004, -(SP) ; Адрес прерывания<br />
161202: MOV @#000006, -(SP) ; PSW прерывания<br />
161206: MOV @#177766, -(SP) ; Сохраняем Режим дисплея<br />
161212: CLR @#177766 ; Очищаем Режим дисплея - режим немига.<br />
161216: MOV #000340, @#000006 ; есть ли локальная сеть ?<br />
161224: MOV #161444, @#000004 ; <br />
161232: MOV #000060, @#170010 ; в сети - режим останов.<br />
161240: BR 161444 ; ..CSI - Переход к пультовому терминалу<br />
;<br />
; ==== Программа пультового терминала<br />
;<br />
; NEXT: Просмотр ячеек памяти - переход к следующему слову<br />
161242: INC R2 ; открыть следующую.<br />
161244: INC R2<br />
; Команда '/' - просмотр ячеек памяти<br />
; OPEN: ; открыть ячейку.<br />
161246: CMP R2, @#177744 ; Сравниваем с нижней границей<br />
161252: BLO 161270 ; меньше => переходим<br />
161254: CMP R2, #177600<br />
161260: BHIS 161546 ; => выводим признак ошибки и в пульт<br />
161262: CMP R2, #170000<br />
161266: BLO 161546 ; => выводим признак ошибки и в пульт<br />
161270: MOV #162716, R5 ; Строка<br />
161274: CALL @# ; PRINT<br />
161300: MOV R2, R3 ; Печатаем адрес<br />
161302: CALL @#162236 ; DUMP Вывод R3 как 8-ричного числа<br />
161306: MOV (R2), R3 ; Печатаем значение<br />
161310: CALL @#162236 ; DUMP Вывод R3 как 8-ричного числа<br />
161314: CALL @#162310<br />
161320: TST R1<br />
161322: BEQ 161326<br />
161324: MOV R5, (R2) ; Заносим новое значение<br />
161326: CMPB #000012, R0 ; Нажали ПС?<br />
161332: BEQ 161242 ; Да, переходим к следующему слову памяти<br />
161334: CMPB #000015, R0 ; Нажали ВВОД?<br />
161340: BEQ 161444 ; Да, возвращамся в пульт<br />
161342: CMPB #000136, R0 ; Нажали '^' ?<br />
161346: BNE 161546 ; Нет - выводим признак ошибки и в пульт<br />
161350: DEC R2 ; Переходим к предыдущему слову памяти<br />
161352: DEC R2<br />
161354: BR 161246<br />
;<br />
; Команда 'G' - продолжение выполнения программы<br />
GO: ; старт/продолжение программы.<br />
161356: MOV (SP)+, @#177766 ; Восстанавливаем Режим дисплея<br />
161362: TST R1 ; Параметр задан?<br />
161364: BEQ 161400 ; нет => восстановление регистров и возврат<br />
161366: CLR @#177740<br />
161372: MOV R5, @#177736 ; Адрес запуска<br />
161376: RESET <br />
; Восстановление всех регистров, возврат из прерывания<br />
EXIT:<br />
161400: MOV (SP)+, @#000006<br />
161404: MOV (SP)+, @#000004<br />
161410: MOV (SP)+, R0<br />
161412: MOV (SP)+, R1<br />
161414: MOV (SP)+, R2<br />
161416: MOV (SP)+, R3<br />
161420: MOV (SP)+, R4<br />
161422: MOV (SP)+, R5<br />
161424: MOV (SP), SP<br />
161426: MOV @#177740, -(SP) ; PSW<br />
161432: MOV @#177736, -(SP) ; PC<br />
161436: RTI <br />
;<br />
; Вывод символа и переход к пульту<br />
CLEAR: ; очистить экран.<br />
161440: CALL @#163722 ; TT.OUT Вывод символа<br />
; Вывод приглашения пульта и ожидание команды<br />
; ..CSI: ; прием и интерпретация команд.<br />
161444: MOV #162704, R5 ; Строка "Пульт>"<br />
PRIERR:<br />
161450: MOV #177712, SP<br />
161454: MOV #000340, @#000006 ; PSW для прерывания<br />
161462: MOV #161546, @#000004 ; Адрес прерывания по вектору 4<br />
161470: CALL @#162274 ; PRINT Вывод строки, адрес в R5<br />
161474: CALL @#162310 ; Получаем команду с клавиатуры<br />
161500: MOV R5, R2<br />
161502: CMPB #000057, R0 ; Символ '/' - просмотр ячеек памяти<br />
161506: BEQ 161246<br />
161510: CMPB #000123, R0 ; Символ 'S' - вывод регистров ЦП<br />
161514: BEQ 161554<br />
161516: CMPB #000107, R0 ; Символ 'G' - выполнение программы<br />
161522: BEQ 161356<br />
161524: CMPB #000104, R0 ; Символ 'D' - загрузка с диска MD<br />
161530: BEQ 161676<br />
161532: CMPB #000116, R0 ; Символ 'N' - загрузка с сети<br />
161536: BEQ 161726 ; => начальный пуск<br />
161540: CMPB #000014, R0 ; Нажат УПР + L - очистка экрана<br />
161544: BEQ 161440<br />
; Вывод знака вопроса (ошибка выполнения команды) и возврат в пультовый режим<br />
ERROR: ; ошибочная команда.<br />
; также используется как адрес прерывания по вектору 4<br />
161546: MOV #162703, R5 ; Строка " ?"<br />
161552: BR 161450<br />
;<br />
; Команда 'S' - вывод на экран регистров процессора<br />
; LOOK: ; просмотр регистров.<br />
161554: MOV #000011, R2 ; 9 регистров<br />
161560: MOV #161606, R5 ; Строка с названиями регистров<br />
161564: CALL @#162274 ; Вывод строки<br />
161570: MOV #177720, R4<br />
161574: MOV (R4)+, R3<br />
161576: CALL @#162236 ; Вывод R3 как 8-ричного числа<br />
161602: SOB R2, 161574<br />
161604: BR 161444 ; Возврат в пульт<br />
161606: DB ... ; Строка с названиями регистров ЦП<br />
<br />
;NOTE: Команда 'X' - загрузка с устройства DX - удалена<br />
;<br />
; Команда 'D' - загрузка с диска MD<br />
BOOT: ; загрузка с дисков MD<br />
161676: CMP R5, #7 ; Номер устройства больше 7?<br />
161702: BHI 161546 ; да => ERROR<br />
161704: CALL @#162726 ; MDBOOT - Загрузка данных с дисковода<br />
161710: MOV #000200, @#177766 ; Режим дисплея = VT52<br />
161716: CLR PC ; Запуск полученного блока<br />
;<br />
161720: MOV #160000, @#177744 ; Нижняя граница памяти доступной для команд пульта<br />
;<br />
; ==== Программа холодного старта - COLD START & BOOTSTRAP FROM LOCNET<br />
;<br />
; Холодный старт при включении питания<br />
DOUBLE::<br />
LOCNET: <br />
161726: MOV #001000, SP ; Устанавливаем стек<br />
161732: CLR R0<br />
161734: MOV #056364, -(R0) ; -> (177776)<br />
161740: MOV #164042, -(R0) ; Адрес стандартной п/п вывода символа -> (177774)<br />
161744: CLR @#177574 ; Отключаем экран из основной памяти<br />
161750: MOV #000007, R1<br />
161754: CLR -(R0) ; <|<br />
161756: SOB R1, 161754 ; / Очищаем 7 слов 177756-177773<br />
161760: MOV #162516, -(R0) ; -> (177754)<br />
161764: MOV #162002, @#000004 ; Адрес прерывания 4<br />
161772: CLR @#170024 ; Сброс длительности<br />
161776: MOV #162426, (R0) ; Адрес SOUND -> (177754)<br />
162002: MOV #165036, -(R0) ; Адрес мелодии BELL -> (177752)<br />
162006: MOV (R0), -(R0) ; тот же адрес -> (177750)<br />
162010: MOV #003100, -(R0) ; #003100 -> (177746)<br />
162014: RESET ; сброс всех устройств<br />
162016: MOV #000021, R0 ; символ "очистка экрана"<br />
162022: CALL @#163722 ; TT.OUT Вывод символа<br />
162026: MOV #161142, @#000004 ; Адрес прерывания 4 - сохранить регистры и выход в пульт<br />
162034: MOV #000340, @#000006 ; PSW для прерывания<br />
; Попытка загрузки из сети<br />
162042: MOV #170010, R4 ; Адрес регистра состояния локальной сети<br />
162046: CALL @#163504 ; SYSLIN - Вывод в служебную строку<br />
162052: BR 162056<br />
162056: MOV #000014, (R4) ; Настройка состояния сетевого адаптера<br />
162062: MOV #162671, R5<br />
162066: CALL @#162274<br />
162072: MOV #162226, @#000004<br />
162100: BIT #100040, (R4)<br />
162104: BMI 162226<br />
162106: BEQ 162100<br />
162110: TST (R4)<br />
162112: MOVB #000003, @#170006 ; Запрещение прерываний<br />
162120: MOV #000016, (R4)<br />
162124: CALL @#162206 ; Ожидаем слово из сети<br />
162130: MOV 000002(R4), R2<br />
162134: MOV #177712, SP<br />
162140: MOV #177572, R0<br />
162144: CLR (R0)<br />
162146: CALL @#162206 ; Ожидаем слово из сети<br />
162152: MOV 000002(R4), 177776(R0)<br />
162160: INC (R0)<br />
162162: SOB R2, 162146<br />
162164: MOV #000020, (R4)<br />
162170: CLR -(SP)<br />
162172: CLR -(SP)<br />
162174: BIS #000200, @#177766 ; Режим дисплея<br />
162202: JMP @#161074<br />
; Подпрограмма - ожидание слова из сети<br />
162206: CLR R1 ; счётчик ожидания<br />
162210: BIT #100040, (R4)<br />
162214: BMI 162226 ; ошибка сети, выходим<br />
162216: BEQ 162224<br />
162220: TST (R4)<br />
162222: RETURN <br />
162224: SOB R1, 162210 ; продолжаем цикл ожидания<br />
ERRLN:<br />
162226: MOV #002060, (R4) ; ошибка в сети, ОСТАНОВ.<br />
162232: JMP @#161546<br />
;<br />
; ==== Программы вывода на экран чисел и строк<br />
;<br />
; Подпрограмма DUMP Вывод слова как 8-ричного числа; R3 = число<br />
DUMP::<br />
162236: MOV #000006, R1 ; Шесть разрядов<br />
DUMP1::<br />
162242: CLR R0<br />
162244: ROL R3<br />
162246: ROL R0<br />
162250: ADD #000060, R0 ; '0'<br />
162254: CALL @#163722 ; TT.OUT Вывод символа<br />
162260: CLR R0<br />
162262: ROL R3<br />
162264: ROL R0<br />
162266: ROL R3<br />
162270: ROL R0<br />
162272: SOB R1, 162244<br />
; Подпрограмма PRINT - Вывод строки на экран; R5 = адрес строки<br />
PRINT::<br />
162274: MOVB (R5)+, R0 ; Очередной символ<br />
162276: BNE 162302 ; Не ноль? => продолжаем<br />
162300: RETURN ; Конец строки, выходим<br />
162302: CALL @#163722 ; TT.OUT Вывод символа<br />
162306: BR 162274 ; Продолжаем вывод строки<br />
;<br />
; Ввод команды; команда это символ либо 8-ричное число (параметр) и символ<br />
GET: ; ввод строки.<br />
162310: CLR R1 ; R0 - последний введенный код.<br />
162312: CLR R5 ; R1 - число введенных цифр.<br />
162314: TSTB @#177560 ; R5 - введенное значение, OCT<br />
162320: BPL 162314<br />
162322: MOVB @#177562, R3 ; Считываем символ<br />
162326: CMPB R3, #000177 ; забой ?<br />
162332: BNE 162362<br />
162334: DEC R1<br />
162336: BMI 162310<br />
162340: ASH R5, #177775<br />
162344: BIC #160000, R5<br />
162350: MOV #000134, R0<br />
162354: CALL @#163722 ; TT.OUT Вывод символа<br />
162360: BR 162314<br />
162362: MOV R3, R0<br />
162364: CMPB R0, #000040<br />
162370: BLO 162300<br />
162372: CALL @#163722 ; TT.OUT Вывод символа<br />
162376: BIC #177407, R3<br />
162402: CMP #000060, R3 ; символ '0' ?<br />
162406: BNE 162300<br />
162410: BIC #177770, R0<br />
162414: ASH R5, #000003<br />
162420: BIS R0, R5<br />
162422: INC R1<br />
162424: BR 162314<br />
;<br />
; Подпрограмма SOUND<br />
SOUND:: ; музыка.<br />
162426: MOV R4, -(SP) ; Сохраняем R4<br />
162430: BICB #000200, @#177761<br />
162436: CLR @#170024 ; Сброс длительности<br />
162442: MOV 000002(SP), R4 ; Откуда вызвали SOUND<br />
162446: MOV 000002(R4), R4 ; Получаем адрес мелодии <br />
162452: BNE 162460<br />
162454: MOV @#177750, R4<br />
162460: TSTB (R4)<br />
162462: BEQ 162514<br />
162464: MOV R4, @#177750 ; Запоминаем адрес начала мелодии<br />
162470: MOV #001516, @#170020 ; Пишем в регистр состояния таймера<br />
162476: MOVB (R4)+, @#170030 ; Октава и громкость<br />
162502: CALL @#162520 ; Обработка продолжения мелодии<br />
162506: BISB #000200, @#177761 ; Возвращаем флаг блокировки SOUND: bit7=1<br />
162514: MOV (SP)+, R4 ; Восстанавливаем R4<br />
162516: RETURN <br />
; Обработка продолжения мелодии<br />
162520: MOV R3, -(SP) ; Сохраняем R3<br />
162522: MOVB (R4)+, R3<br />
162524: BIC #177760, R3 ; Оставляем нижние 4 бита - 00..17<br />
162530: ASL R3 ; и умножаем на 2<br />
162532: MOV 162564(R3), @#170022 ; Выбираем по R3 слово и пишем в регистр частоты<br />
162540: MOVB (R4)+, @#170024 ; Задаём длительность звука<br />
162544: CLRB @#177760 ; Очищаем счётчик длительности ноты<br />
162550: MOV R4, @#177752 ; Запоминаем адрес продолжения мелодии<br />
162554: TST @#170026 ; Включение звука<br />
162560: MOV (SP)+, R3 ; Восстанавливаем R3<br />
162562: RETURN <br />
; Значения задержки первого таймера для нот<br />
NOTY:<br />
162564: DW 000000, 002253, 002150, 002050, 001755, 001664, 001577, 001515<br />
162604: DW 001435, 001361, 001306, 001237, 001171, 000000, 000000, 000000<br />
<br />
; Строковые буферы<br />
HELLO:: .BYTE 4,6,5<br />
AUTOR: .RUS <mrti><br />
.BYTE 11,11,11<br />
NAME: .RUS <kw><br />
.BYTE 5<br />
.RUS < nemiga><br />
VERS: .BYTE 5<br />
.ASCII / 4.07/<br />
.BYTE 6,11<br />
H.END:: .BYTE 40,0<br />
RMP:: .RUS <rmp ><br />
.BYTE 0<br />
RMU:: .RUS <rmu ><br />
.BYTE 0<br />
<br />
LOCBO: .BYTE 14<br />
.RUS <VDITE...><br />
.BYTE 0<br />
ERR: .ASCII /?/<br />
PROMPT: .BYTE 6,15,12<br />
.RUS <pULXT><br />
.ASCIZ />/<br />
<br />
MODI: .BYTE 12,15,,':,40,,40,0<br />
<br />
;<br />
; ==== Подпрограммы работы с дисководом MD - см. BOOT.MAC ============================<br />
;<br />
; Чтение с дисковода для загрузки; R5 = номер устройства<br />
MDBOOT::<br />
162726: CALL @#163466 ; MODE3<br />
162732: MOV #000001, R4<br />
162736: MOV R5, -(SP) ; логический No устройства.<br />
162740: ASR R5<br />
162742: BHIS 162750<br />
162750: MOV R5, @#004002 ; -> B$PDN Физический номер устройства.<br />
162754: MOV #000400, -(SP) ; один блок по адресу 0 с 1-го сектора<br />
162760: CLR -(SP)<br />
162762: MOV R4, -(SP)<br />
162764: MOV #000006, R1<br />
162770: MOV #000070, R0<br />
162774: CALL @#163256<br />
163000: SOB R1, 162770<br />
163002: MOV #000030, R0<br />
163006: CALL @#163256<br />
163012: CLR @#177106<br />
163016: BIT R4, @#177106<br />
163022: BNE 163016<br />
163024: BIT #000010, (R5)<br />
163030: BNE 163002<br />
163032: CLR @#177106<br />
163036: BIT R4, (R5)<br />
163040: BEQ 163046<br />
163042: SOB R2, 163032<br />
163044: HALT <br />
; Мы на 0-й дорожке, читаем первый сектор<br />
ERR1::<br />
163046: MOVB R4, R0 ; чтение описателя<br />
163050: MOV #004004, R3 ; B$Area<br />
163054: CALL @#163316<br />
163060: CLR @#004000 ; B$Trck<br />
163064: MOV @#004000, R0 ; B$Trck<br />
163070: MOVB 004016(R0), R0 ; дорожка в буфер.<br />
163074: MOV #004140, R3<br />
163100: CALL @#163316<br />
163104: CLR R1<br />
163106: MOV #004016, R5<br />
163112: MOV #000120, R4<br />
163116: MOVB (R5)+, R2<br />
163120: MOV R1, R0<br />
163122: ADD R2, R1<br />
163124: CMP R1, (SP)<br />
163126: BHI 163134<br />
163130: SOB R4, 163116<br />
163132: HALT <br />
ERR2::<br />
163134: MOV (SP), R3 ; абсолютный No сектора.<br />
163136: SUB R0, R3 ; относительный No сектора на дорожке.<br />
163140: SUB #000120, R4 ; (-No) нужной дорожки.<br />
163144: ADD @#004000, R4<br />
163150: BEQ 163204<br />
163152: MOV #000030, R0<br />
163156: SUB R4, @#004000<br />
163162: TST R4<br />
163164: BPL 163174<br />
163166: MOV #000070, R0<br />
163172: NEG R4<br />
163174: CALL @#163256<br />
163200: SOB R4, 163174<br />
163202: BR 163064<br />
;<br />
163204: INC R3<br />
163206: MOV #003750, R5<br />
163212: ADD #000202, R5<br />
163216: SOB R3, 163212<br />
163220: MOV #000100, R4<br />
163224: MOV (SP)+, R3<br />
163226: MOV (SP)+, R2<br />
163230: MOV (R5)+, (R2)+<br />
163232: DEC (SP)<br />
163234: BEQ 163250<br />
163236: SOB R4, 163230<br />
163240: INC R3<br />
163242: MOV R2, -(SP)<br />
163244: MOV R3, -(SP)<br />
163246: BR 163104<br />
163250: TST (SP)+<br />
163252: MOV (SP)+, R0<br />
163254: RETURN <br />
;<br />
; Подготовка и запуск операции; R0 = операция<br />
.SCOM:<br />
163256: MOV #177106, R5<br />
163262: MOV #000006, R2<br />
163266: CLR (R5)<br />
163270: BIT #000001, (R5)<br />
163274: BNE 163270<br />
163276: SOB R2, 163266<br />
163300: BIS @#004002, R0<br />
163304: MOV R0, -(R5)<br />
163306: TST -(R5)<br />
163310: MOV #000001, -(R5)<br />
163314: RETURN <br />
;<br />
; Чтение секторов; R0 = кол-во секторов, R3 = адрес буфера куда читать<br />
.RDTR:<br />
163316: MOV R3, R1<br />
163320: MOV R0, -(SP)<br />
163322: MOV #000012, R4<br />
163326: ADD #000202, R4<br />
163332: SOB R0, 163326<br />
163334: MOV #000010, R0<br />
163340: CALL @#163256<br />
163344: MOV #177102, R2<br />
163350: TSTB (R5)<br />
163352: BPL 163350<br />
163354: MOVB (R2), (R1)+<br />
163356: SOB R4, 163350<br />
163360: MOV (R5), R0<br />
163362: CLR (R5) ; Окончание операции чтения<br />
163364: BIT #000141, R0 ; RELOAD или OP-FAILED или LOST-DATA ?<br />
163370: BEQ 163374 ; Нет => переходим<br />
<br />
163374: ADD #000012, R3<br />
163400: MOV #000100, R0<br />
163404: CLR R2 ; Начинаем считать контрольную сумму<br />
163406: MOVB @#004007, R4 ; Берём байт для ксорирования<br />
163412: MOV @#004012, R5 ; Берём слово для ксорирования<br />
163416: COM R5 ; инвертируем слово для ксорирования<br />
163420: CLC <br />
163422: XOR R4, (R3)<br />
163424: XOR R5, (R3)<br />
163426: ROL R4<br />
163430: ROR R5<br />
163432: ROL R0<br />
163434: MOVB (R3)+, R1<br />
163436: ADD R1, R2 ; Добавляем к сумме<br />
163440: MOVB (R3)+, R1<br />
163442: ADD R1, R2 ; Добавляем к сумме<br />
163444: ASR R0<br />
163446: SOB R0, 163422<br />
163450: CMP R2, (R3)+<br />
163452: BEQ 163456<br />
163454: HALT ; Выход в Пульт<br />
163456: DEC (SP)<br />
163460: BNE 163400<br />
163462: TST (SP)+<br />
163464: RETURN <br />
<br />
; ==== Эмуляция дисплея - см. TTIO.MAC ===============================================<br />
<br />
; MODE3 - Переключение моды HALT-монитора.<br />
163466: MOVB #000003, @#170006 ; Запрещение прерываний<br />
163474: CALL @(SP)+<br />
163476: CLRB @#170006 ; Разрешение прерываний<br />
163502: RETURN <br />
;<br />
; SYSLIN - Вывод служебной строки.<br />
163504: CALL @#163466 ; MODE3<br />
163510: MOV R0, -(SP)<br />
163512: MOV R1, -(SP)<br />
163514: MOV #177772, R0 ; POSITN<br />
163520: MOV (R0), -(SP) ; сохранить позицию,<br />
163522: MOV -(R0), -(SP) ; AR2,RGMOUT<br />
163524: MOV 000012(SP), R1 ; параметр.<br />
163530: CMP (R0)+, (R1)+ ; R0=@POSITN<br />
163532: MOV (R1), R1 ; R1=@STRING<br />
163534: MOVB (R1)+, (R0)+ ; POSITN+1<br />
163536: CLRB (R0)+ ; POS+2<br />
163540: ADD #176000, -(R0) ; POS<br />
163544: CLR -(R0) ; AR2,RGMOUT=0<br />
163546: BIS #000010, -(R0) ; RGMIOT - вывод сл.строки.<br />
163552: CMP @#177772, #176060 ; CMP POSITN,#BEG.SL+LENGHT<br />
163560: BGE 163574 ; выход за пределы.<br />
163562: MOVB (R1)+, R0 ; Получаем следующий символ<br />
163564: BEQ 163700 ; конец строки.<br />
163566: CALL @#163726 ; SYSOUT Вывод символа на экран<br />
163572: BR 163552<br />
163574: MOV R1, -(SP)<br />
163576: MOV #162702, R5<br />
163602: MOV @#167776, R3<br />
163606: CALL @#162236<br />
163612: MOV (SP)+, R1<br />
163614: MOV (R4), R3<br />
163616: INC @#177772<br />
163622: MOV #000004, R2<br />
163626: BIC #102777, R3<br />
163632: BEQ 163700<br />
163634: ROL R3<br />
163636: COM R3<br />
163640: BIC #007777, R3<br />
163644: BEQ 163650<br />
163650: MOVB (R1)+, R0 ; Получаем следующий символ<br />
163652: CALL @#163726 ; SYSOUT Вывод символа на экран<br />
163656: SOB R2, 163650<br />
163660: TST R3<br />
163662: BEQ 163700<br />
163700: MOV #177766, R0 ; Адрес Режим дисплея<br />
163704: BIC #000010, (R0)+<br />
163710: MOV (SP)+, (R0)+<br />
163712: MOV (SP)+, (R0)+<br />
163714: MOV (SP)+, R1<br />
163716: MOV (SP)+, R0<br />
163720: RETURN <br />
;<br />
; Программа вывода символов на экран<br />
; TT.OUT Вывод символа на экран с переключением моды; мл.байт R0 = символ<br />
163722: CALL @#163466 ; MODE3<br />
; SYSOUT - Системный вывод - вывод символа R0 на экран<br />
163726: MOV SP, @#177642<br />
163732: MOV #177642, SP<br />
163736: BIS #000001, @#177574 ; Включаем экран в основную память<br />
163744: CALL @177774 ; Вызов процедуры вывода символа<br />
163750: BIC #000001, @#177574 ; Отключаем экран от основной памяти<br />
163756: MOV (SP), SP<br />
163760: RETURN <br />
; SETCRS - Прямая адресация курсора.<br />
163762: MOV #177772, R4<br />
163766: SUB #000040, R5<br />
163772: BPL 163776<br />
163774: CLR R5<br />
163776: DECB @#177770<br />
164002: BEQ 164026<br />
164004: CMP R5, #000027 ; 23. = макс. номер строки.<br />
164010: BHI 164360<br />
164012: MUL R5, #001200 ; вычислить отн.адрес.<br />
164016: BIC #177700, (R4)<br />
164022: BIS R5, (R4)<br />
164024: BR 164360<br />
164026: CMP R5, #000077 ; макс. номер позиции.<br />
164032: BHI 164360<br />
164034: BIC #000077, (R4)<br />
164040: BR 164022<br />
; Стандартная п/п вывода символа, ставится по умолчанию в 177774 SYMGEN<br />
; MODOUT - Вывод символов режиме переключения памяти.<br />
164042: MOV R0, -(SP)<br />
164044: MOV R1, -(SP)<br />
164046: MOV R2, -(SP)<br />
164050: MOV R3, -(SP)<br />
164052: MOV R4, -(SP)<br />
164054: MOV R5, -(SP)<br />
164056: CALL @#165206 ; CURSOR: Убрать курсор если он виден<br />
164062: MOV 000012(SP), R5<br />
164066: BIC #177400, R5<br />
164072: MOV #000100, R1<br />
164076: MOV #177770, R2 ; Адрес SIZE<br />
164102: TSTB (R2) ; авторегистр ?<br />
164104: BPL 164136<br />
164106: CLRB (R2)<br />
164110: CMP R5, #000131 ; коды командных последова-<br />
164114: BEQ 164354 ; тельностей VT-52<br />
164116: CMP R5, #000113<br />
164122: BHI 164360<br />
164124: SUB R1, R5<br />
164126: BMI 164360<br />
164130: MOVB 165310(R5), R4<br />
164134: BR 164340<br />
164136: BNE 163762 ; АР2>0 --> прям.адр.курсора.<br />
164140: MOVB @#177766, R4 ; Режим дисплея VT52 или Немига ?<br />
164144: BPL 164176 ; Немига.<br />
164146: CLR @#177762<br />
164152: CLR @#177764<br />
164156: ROLB R5<br />
164160: CLC <br />
164162: BPL 164174 ; не буква.<br />
164164: BITB #000040, R4<br />
164170: BEQ 164174 ; латинский регистр.<br />
164172: SEC ; русская.<br />
164174: RORB R5<br />
164176: CMP R5, #000040<br />
164202: BLO 164302 ; не отображаемый символ.<br />
VISI:<br />
164204: ROLB R5<br />
164206: BPL 164212<br />
164210: BIC R1, R5<br />
164212: BHIS 164216<br />
164214: BIS R1, R5<br />
164216: ASR R5<br />
164220: ADD #002000, R3 ; абсол. адрес позиции.<br />
164224: ASL R3<br />
164226: SUB #000040, R5<br />
164232: MUL R5, #000012<br />
164236: ADD #166064, R5 ; адрес матрицы в знакогенераторе.<br />
164242: MOV #000012, R4 ; 10. кол-во линий.<br />
164246: ASL R1<br />
LOOP:<br />
164250: MOVB (R5), R2 ; линия матрицы символа.<br />
164252: SWAB R2<br />
164254: CLRB R2<br />
164256: BISB (R5)+, R2 ; в обоих байтах: 3/3 яркости.<br />
164260: BIC @#177764, R2 ; код яркости.<br />
164264: MOV @#177762, R0 ; инверсия.<br />
164270: XOR R0, R2<br />
164272: MOV R2, (R3)<br />
164274: ADD R1, R3<br />
164276: SOB R4, 164250<br />
164300: BR 164470 ; STEP смещение курсора.<br />
; Отработка управляющих кодов - символов с кодом меньше #040<br />
164302: MOV #165324, R2 ; T.SYLN - таблица разрешенных кодов.<br />
164306: BITB #000010, R4 ; R4 = RGMIOT<br />
164312: BNE 164324 ; " SYSLIN "<br />
164314: CMP (R2)+, (R2)+ ; "VT-52"<br />
164316: TSTB R4<br />
164320: BMI 164324<br />
164322: CMP (R2)+, (R2)+ ; "NEMIGA"<br />
164324: MOV (R2)+, R0 ; ст.слово.<br />
164326: MOV (R2), R1 ; мл.слово.<br />
164330: ASHC R0, R5 ; сдвинуть до нужного бита.<br />
164332: BPL 164600 ; .OUTT функция разрешена.<br />
164334: MOVB 165250(R5), R4<br />
164340: BIC #177400, R4 ; переход на отработку функции.<br />
164344: ASL R4<br />
164346: MOV #177770, R2<br />
164352: ADD R4, PC<br />
; ..PC.. ;** ключ прямой адрес.курсора.<br />
164354: MOVB #2, (R2)<br />
164360: BR 164600 ; .OUTT<br />
; CL.SL: ;** очистка служ. строки.<br />
164362: CLR R5<br />
164364: MOV #002000, R3<br />
164370: CLR (R5)+<br />
164372: SOB R3, 164370<br />
164374: BR 164600<br />
; VT52: ;** переход в режим VT-52<br />
164376: BIC #000400, (R2)<br />
164402: BIS #000200, -(R2)<br />
164406: BR 164600<br />
; ..AR2:: ;** авторегистр.<br />
164410: BIT #000200, 177776(R2)<br />
164416: BNE 164432<br />
; CLRRS: ; ВКЛ/ВЫКЛ звука.<br />
164420: MOV #040000, R5<br />
164424: XOR R5, @#177760<br />
164430: BR 164600<br />
; NOCLR: DECB @R2 ; -1 - ключ авторегистра.<br />
164432: DECB (R2)<br />
164434: BR 164600<br />
; RRGM: ;** сброс режимов вывода.<br />
164436: CLR (R2)<br />
164440: TST -(R2)<br />
164442: CLR -(R2) ; M.BIC = 0<br />
164444: CLR -(R2) ; M.XOR = 0<br />
164446: BR 164600<br />
; SRGM: ;** установка режима вывода.<br />
164450: COMB 177760(R5)<br />
164454: BR 164600<br />
; IC: ;** ВКЛ/ВЫКЛ курсора.<br />
164456: MOV #000200, R5<br />
; ROLLON: ;** ВКЛ/ВЫКЛ ролика.<br />
164462: SWAB R5<br />
164464: XOR R5, (R2)<br />
164466: BR 164600<br />
; STEP: ;** шаг вправо.<br />
164470: MOV #177772, R2 ; Текущая позиция курсора<br />
164474: INC (R2) ; Следующая позиция<br />
164476: MOV (R2), R3 ; R3=POSITN<br />
164500: MOV R3, R4<br />
164502: BIC #177700, R4 ; Позиция в пределах строки<br />
164506: BNE 164600<br />
; LF: ;** LINE FEED - перевод строки.<br />
164516: ADD #001200, R3<br />
164522: CMP R3, #034700 ; конец строки ?<br />
164526: BLO 164606<br />
164600: BR 165116<br />
; ???<br />
164602: BIC #000077, R3 ; на первую позицию.<br />
164606: MOV R3, @#177772<br />
164612: BR 165116<br />
; HT: ;** горизонтальная табуляция.<br />
164614: MOV R3, R4<br />
164616: BIC #177700, R4<br />
164622: CMP R4, #000077 ; табуляция невозможна.<br />
164626: BHIS 165116<br />
164630: ADD #000010, R3<br />
164634: BIC #000007, R3<br />
164640: BR 164606<br />
; R.RUS ; ** русский регистр.<br />
164642: BIS #000040, -(R2)<br />
164646: BR 165116<br />
; R.LAT ; ** латинский регистр.<br />
164650: BIC #000040, -(R2)<br />
164654: BR 165116<br />
; NEMIGA ; ** переход в режим "Немига".<br />
164656: BIC #177600, -(R2)<br />
164662: BR 165116<br />
164664: ADD #000200, R3<br />
164670: SUB #000100, R3<br />
164674: BMI 164664<br />
164676: CMP R3, #034700<br />
164702: BHIS 164670<br />
164704: BR 164714<br />
164706: SUB #001200, R3<br />
164712: BMI 165116<br />
164714: MOV R3, @#177772<br />
164720: BR 165116<br />
164722: ADD #001200, R3<br />
164726: CMP R3, #034700<br />
164732: BHIS 165116<br />
164734: BR 164714<br />
164736: INC R3<br />
164740: MOV R3, R4<br />
164742: BIC #177700, R4<br />
164746: BEQ 165116<br />
164750: BR 164714<br />
164752: CLR R3<br />
164754: BR 164714<br />
164756: SUB #001200, R3<br />
164762: BPL 164714<br />
; Скроллинг экрана<br />
164764: MOV #100000, R5 ; Адрес куда копировать<br />
164770: MOV #075400, R3 ; Адрес откуда копировать<br />
164774: MOV #034600, R2 ; Сколько слов копировать<br />
165000: MOV -(R3), -(R5) ; копируем слово<br />
165002: SOB R2, 165000 ; повторяем<br />
; Очистка строки<br />
165004: MOV #001200, R2 ; Сколько слов очищать<br />
165010: CLR (R3)+ ; стираем слово<br />
165012: SOB R2, 165010 ; повторяем<br />
165014: BR 165116 ; => к завершению обработки символа<br />
; COD7:: ;** звук.<br />
165016: BITB #000100, @#177761 ; Проверяем байт блокировки SOUND<br />
165024: BNE 165116 ; => к завершению обработки символа<br />
165026: CALL @#160126 ; SOUND<br />
165032: BR 165116 ; => к завершению обработки символа<br />
165034: DW 165036 ; адрес мелодии<br />
165036: DB 001, 205, 017, 000 ; .COD7 - мелодия<br />
; DELL: ;** стирание строки от позиции курсора.<br />
165042: CALL @#165140 ; Очистка строки от текущей позиции до конца строки<br />
165046: BR 165116 ; => к завершению обработки символа<br />
; DELS: ;** стирание кадра от позиции курсора.<br />
165050: CALL @#165140 ; Очистка строки от текущей позиции до конца строки<br />
165054: BIC #000077, R3<br />
165060: MOV R3, R5<br />
165062: ADD #002000, R5<br />
165066: BMI 165116 ; => к завершению обработки символа<br />
165070: BR 165106<br />
; ES: ;** очистка экрана.<br />
165072: CLR R5<br />
165074: BR 165102 ; => EES<br />
; FF: ;** FORM FEED - очистка кадра.<br />
165076: MOV #002000, R5<br />
165102: CLR @#177772<br />
165106: ASL R5<br />
165110: CLR (R5)+<br />
165112: TST R5<br />
165114: BPL 165110<br />
; +???<br />
; OUTT - Завершение обработки символа<br />
165116: CALL @#165206 ; Восстановление курсора<br />
165122: MOV (SP)+, R5<br />
165124: MOV (SP)+, R4<br />
165126: MOV (SP)+, R3<br />
165130: MOV (SP)+, R2<br />
165132: MOV (SP)+, R1<br />
165134: MOV (SP)+, R0<br />
165136: RETURN <br />
; Очистка строки от текущей позиции до конца строки<br />
; DL: ; удаление части строки.<br />
165140: MOV #000012, R2 ; 10. итераций<br />
165144: MOV R3, R5<br />
165146: MOV #000100, R4 ; 64. позиции в строке<br />
165152: BIC #177700, R5<br />
165156: SUB R5, R4<br />
165160: BLE 165176<br />
165162: MOV R3, R5<br />
165164: ADD #002000, R5 ; Начало основной части экрана<br />
165170: ASL R5<br />
165172: CLR (R5)+ ; стираем слово<br />
165174: SOB R4, 165172 ; повторяем<br />
165176: ADD #000100, R3 ; к следующей пиксельной строке<br />
165202: SOB R2, 165144 ; продолжаем цикл<br />
165204: RETURN <br />
;<br />
; CURSOR - гашение/засветка курсора.<br />
165206: MOV @#177772, R3 ; Место курсора от начала ГЗУ<br />
165212: BMI 165246<br />
165214: TSTB @#177771 ; Состояние курсора??<br />
165220: BMI 165246<br />
165222: TST @#177756 ; Счётчик мигания курсора<br />
165226: BPL 165246 ; не виден => не нужно убирать<br />
165230: MOV R3, R4<br />
165232: ADD @#177746, R4 ; + адрес 25-й строки экрана<br />
165236: BMI 165246<br />
165240: ROL R4<br />
165242: BMI 165246<br />
165244: COM (R4) ; Инвертируем восемь пикселей - курсор<br />
165246: RETURN <br />
; Таблицы смещений программ обработки управл. кодов.<br />
; TABL - Таблица смещений переходов для обработки спецсимволов<br />
165250: DB 261, 043, 036, 036, 036, 036, 031, 221 ; 00..07<br />
165260: DB 105, 120, 061, 233, 251, 113, 133, 136 ; 10..17<br />
165270: DB 000, 247, 155, 144, 146, 177, 163, 011 ; 20..27<br />
165300: DB 041, 171, 105, 016, 201, 061, 003, 236 ; 30..37<br />
; TAR2 - Таблица смещений переходов для обработки символов ESC + 100..113<br />
165310: DB 141, 155, 163, 171, 105, 261, 022, 261 ; 100..107<br />
165320: DB 177, 201, 236, 233<br />
<br />
; Таблицы разрешенных кодов.<br />
T.SYLN: .WORD ^B0011111011000011,^B0000000000000010<br />
T.VT52: .WORD ^B0000001111101111,^B0000000010010010 ; 0-17,20-37<br />
T.NEMG: .WORD ^B1111111111111100,^B1111111111111111<br />
<br />
; ==== Графические примитивы - см. GRAF.MAC ==========================================<br />
;<br />
; Рисование линии из точки с координатами (XOLD,YOLD)<br />
; в точку с координатами (X2,Y2). После выполнения операции:<br />
; XOLD=X2,YOLD=Y2.<br />
; DRAW BRIGHT,X2,Y2 [,XOLD,YOLD]<br />
; Точка входа QDRAW - DRAW для QUASIC<br />
165340: MOV (SP), R5<br />
; Точка входа FDRAW - DRAW для FORTRAN<br />
165342: CALL @#166040<br />
; Точка входа DRAW - нарисовать линию из (XOLD,YOLD) в (XNEW,YNEW)<br />
; После выполнения операции XNEW=XOLD, YNEW=YOLD.<br />
165346: CALL @#165376<br />
165352: MOV @#000212, @#000216 ; XNEW -> XOLD<br />
165360: MOV @#000214, @#000220 ; YNEW -> YOLD<br />
165366: RETURN <br />
;<br />
; Рисование линии из точки (X2,Y2) в точку (X1,Y1)<br />
; LINE BRIGHT [,X1 [,Y1 [,X2 [,Y2]]]]<br />
; Точка входа QLINE - LINE для QAUSIC<br />
165370: MOV (SP), R5<br />
; Точка входа FLINE - LINE для FORTRAN<br />
165372: CALL @#166040<br />
; Точка входа LINE - нарисовать линию из (XOLD,YOLD) в (XNEW,YNEW)<br />
165376: MOV #000212, R5 ; Адрес XNEW<br />
165402: MOV (R5)+, R0 ; X NEW<br />
165404: MOV (R5)+, R1 ; Y NEW<br />
165406: MOV (R5)+, R2 ; X OLD<br />
165410: MOV (R5)+, R3 ; Y OLD<br />
165412: CLR @#000204 ; реверс: меньше или больше П/4.<br />
165416: MOV #1, R4<br />
165422: MOV R4, R5<br />
165424: SUB R2, R0 ; DELTA X= XN-XO<br />
165426: BPL 165434<br />
165430: NEG R0 ; модуль приращения DX<br />
165432: NEG R5 ; знак DX +/-1<br />
165434: SUB R3, R1 ; DELTA Y=YN-YO<br />
165436: BPL 165444<br />
165440: NEG R1 ; модуль DY<br />
165442: NEG R4 ; SIGN DY +/-1<br />
165444: CMP R0, R1 ; IF DX<DY THEN<br />
165446: BGE 165476 ; реверс :<br />
165450: MOV R0, -(SP)<br />
165452: MOV R1, R0<br />
165454: MOV (SP), R1 ; DX <-> DY<br />
165456: MOV R4, (SP)<br />
165460: MOV R5, R4<br />
165462: MOV (SP), R5 ; SX <-> SY<br />
165464: MOV R2, (SP)<br />
165466: MOV R3, R2<br />
165470: MOV (SP)+, R3 ; XO <-> YO<br />
165472: INC @#000204 ; флаг реверса.<br />
165476: TST R0 ; IF DX=0<br />
165500: BEQ 165544 ; THEN DY=0 - единственная точка.<br />
165502: ASL R1 ; 2DY<br />
165504: MOV R0, -(SP)<br />
165506: ASL (SP) ; 2DX<br />
165510: MOV R1, -(SP)<br />
165512: SUB R0, (SP) ; 2DY-2DX=D - флаг наклона.<br />
165514: CALL @#165544 ; вывод точки.<br />
165520: TST (SP)<br />
165522: BMI 165532<br />
165524: SUB 000002(SP), (SP) ; D=D-2DX<br />
165530: ADD R4, R3 ; YO=YO+SY<br />
165532: ADD R1, (SP) ; D=D+2DY<br />
165534: ADD R5, R2 ; XO=XO+SX<br />
165536: SOB R0, 165514 ; счетчик=DX<br />
165540: CMP (SP)+, (SP)+ ; восстановить стек.<br />
165542: RETURN <br />
; OUT - вывод точки<br />
165544: MOV R1, -(SP)<br />
165546: MOV R2, -(SP)<br />
165550: MOV R3, -(SP)<br />
165552: TST @#000204 ; реверс ?<br />
165556: BEQ 165564<br />
165560: MOV R2, R3 ; восстановить X,Y<br />
165562: MOV (SP), R2<br />
165564: CALL @#165616 ; записать точку.<br />
165570: MOV (SP)+, R3<br />
165572: MOV (SP)+, R2<br />
165574: MOV (SP)+, R1<br />
165576: RETURN <br />
;<br />
; Нарисовать точку.<br />
; POINT BRIGHT [,X [,Y]]<br />
; Точка входа QPOINT - POINT для QUASIC<br />
165600: MOV (SP), R5<br />
; Точка входа FPOINT - POINT для FORTRAN<br />
165602: CALL @#166040<br />
; Точка входа POINT - нарисовать точку<br />
165606: MOV @#000212, R2<br />
165612: MOV @#000214, R3<br />
165616: CALL @#163466 ; MODE3<br />
165622: CALL @#165750 ; Находим точку на экране<br />
165626: BLO 165660<br />
165630: TST (R1)+<br />
165632: MOV @#000210, R2 ; BRIGHT<br />
165636: ASR R2<br />
165640: BLO 165650<br />
165642: BIC R3, @#177570 ; Пишем в экран<br />
165646: BR 165654<br />
165650: BIS R3, @#177570 ; Пишем в экран<br />
165654: SWAB R3<br />
165656: SOB R1, 165636<br />
165660: RETURN <br />
;<br />
; Чтение яркости точки с координатами (X,Y)<br />
; RPOINT BRIGHT,X,Y<br />
; Точка входа QRPOIN - RPOINT для QUASIC<br />
165662: MOV (SP), R5<br />
; Точка входа FRPOIN - RPOINT для FORTRAN<br />
165664: CALL @#166040<br />
165670: BR 165676<br />
; Точка входа RPOINT - прочитать яркость точки<br />
165672: MOV #000210, R4 ; адрес кода яркости.<br />
165676: MOV @#000212, R2 ; XNEW<br />
165702: MOV @#000214, R3 ; YNEW<br />
165706: CLR (R4)<br />
165710: CALL @#163466 ; MODE3<br />
165714: CALL @#165750 ; Находим точку на экране<br />
165720: BLO 165744<br />
165722: MOV #000002, R1<br />
165726: SWAB R3 ; чтение яркости.<br />
165730: BIT R3, @#177570<br />
165734: BEQ 165740<br />
165736: ADD R1, (R4)<br />
165740: SOB R1, 165726<br />
165742: RETURN <br />
165744: DEC (R4) ; яркость -1 -- за экраном.<br />
165746: RETURN <br />
; COORD - Нахождение точки на экране; устанавливает адрес, возвращает маску в R3<br />
165750: MOV R2, R1<br />
165752: CMP #000777, R2<br />
165756: BLO 166036<br />
165760: ASH R2, #177775<br />
165764: CMP #000377, R3<br />
165770: BLO 166036<br />
165772: CMP @#000206, R3 ; Сравниваем с VFORM<br />
165776: BLO 166036<br />
166000: COMB R3<br />
166002: SWAB R3<br />
166004: SEC <br />
166006: ROR R3<br />
166010: ASR R3<br />
166012: BIS R3, R2<br />
166014: MOV R2, @#177572 ; Устанавливаем косвенный адрес<br />
166020: BIC #177770, R1<br />
166024: INC R1<br />
166026: CLR R3<br />
166030: SEC <br />
166032: ROR R3<br />
166034: SOB R1, 166032<br />
166036: RETURN <br />
; FORT - Подготовка перед вызовом для FORTRAN<br />
166040: MOV (R5)+, R0 ; число параметров.<br />
166042: MOV (R5), R4 ; адрес яркости.<br />
166044: BIC #177770, R0<br />
166050: BEQ 166062<br />
166052: MOV #000210, R3 ; внутренние значения.<br />
166056: MOV @(R5)+, (R3)+ ; область заполнения.<br />
166060: SOB R0, 166056<br />
166062: RETURN <br />
;<br />
; ==== Стандартный знакогенератор - см. SYMG.MAC ====<br />
166064: DB ; Знакогенератор, 96 символов (0x20..0x80), 10 байт/символ<br />
<br />
; ==== Регистры ====<br />
170000: DW ; Используется м/с умножителя<br />
170002: DW ; Используется м/с умножителя<br />
170004: DW ; Используется м/с умножителя<br />
170006: DW ; Регистр данных клавиатуры / фиксации HALT запросов<br />
170010: DW ; Регистр состояния адаптера локальной сети<br />
170012: DW ; Регистр данных адаптера локальной сети<br />
170014: DW ; ??<br />
<br />
170020: DW ; RgStSnd - регистр состояния таймера<br />
170022: DW ; RgF - регистр частоты<br />
170024: DW ; RgLength - регистр длительности<br />
170026: DW ; RgOn - включение звука (обращение)<br />
170030: DW ; RgOct - регистр октавы и громкости<br />
170032: DW ; RgOff - выключение звука (обращение)<br />
<br />
177100: DW ; RgStat - регистр состояния контроллера дисковода<br />
177102: DW ; RgData - регистр данных<br />
177104: DW ; RgCntrl - регистр управления<br />
177106: DW ; RgTime - регистр таймера контроллера дисковода<br />
<br />
177514: DW ; Регистр данных устройства сопряжения<br />
177516: DW ; Регистр состояния усройства сопряжения<br />
<br />
177560: DW ; KBS - регистр состояния клавиатуры<br />
177562: DW ; KBD - регистр данных клавиатуры<br />
177564: DW ; TTS - регистр состояния дисплея<br />
177566: DW ; TTD - регистр данных дисплея<br />
<br />
177570: DW ; VDATA - регистр данных косвенного доступа<br />
177572: DW ; VADDR - регистр адреса косвенного доступа<br />
177574: DW ; Регистр управления; бит 0 - маппинг видеопамяти на нижнюю память<br />
<br />
; ==== Блок переменных ====<br />
177720: DW ; R0 при останове<br />
177722: DW ; R1 при останове<br />
177724: DW ; R2 при останове<br />
177726: DW ; R3 при останове<br />
177730: DW ; R4 при останове<br />
177732: DW ; R5 при останове<br />
177734: DW ; SP при останове<br />
177736: DW ; PC при останове<br />
177740: DW ; PSW при останове<br />
177744: DW ; Нижняя граница памяти доступной для команд пульта<br />
177746: DW ; Значение #003100 - адрес 25-й строки экрана<br />
177750: DW ; Адрес начала мелодии<br />
177752: DW ; Адрес продолжения мелодии<br />
177754: DW ; Адрес подпрограммы SOUND<br />
177756: DB ; Счётчик мигания курсора<br />
177757: DB ; Состояние курсора: 000 - не виден, 377 - виден<br />
177760: DB ; Счётчик мелодии<br />
177761: DB ; Байт блокировки вызова SOUND<br />
; бит7 = мелодия играет<br />
; бит6 = звук выключен<br />
177762: DW ; FRG Маска фона для вывода символа (M.XOR)<br />
177764: DW ; COL Маска гашения символа перед выводом (M.BIC)<br />
177766: DB ; Режим дисплея<br />
; bit0 - запрос от клавиатуры, прерывание по вектору 000064<br />
; bit3 - работа со служебной строкой<br />
; bit4 - работа с цветом в режиме VT52<br />
; bit5 - русский регистр вывода<br />
; bit6 - русский регистр ввода<br />
; bit7 - режим эмуляции VT52<br />
177767: DB ; Буферная ячейка клавиатуры<br />
177770: DW ; SIZE Размер экрана в байтах, начиная от начала ГЗУ<br />
177772: DW ; CUR Место курсора от начала ГЗУ<br />
177774: DW ; SYGEN Адрес подпрограммы вывода символа, по умолчанию 163674<br />
177776: DW ; Значение #056364<br />
</pre><br />
<br />
[[Категория:Немига|*]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3713Союз-Неон ПК-11/162023-10-23T21:04:01Z<p>Nzeemin: /* Шильдики */</p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ, две [[КМ1801РР1]]<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Контроллер прерываний [[КР580ВН59]]<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш [[КР580ВВ79]]<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Часы реального времени [[КР512ВИ1]]<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД [[КР1810ВГ72А]] и КНЖМД (MFM) [[КМ1809ВГ7]]<br />
** Последовательный порт [[КР580ВИ51]]<br />
** Мышь стандарта MSX<br />
<br />
== Видео режим ==<br />
Разрешение 832 на 300, Кадровая частота 50Гц, Строчная частота 15.625КГц, Пиксельклок 16МГц, точек в строке 1024, видимых 832. Строк в кадре 312, видимых 300.<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Шильдики ==<br />
* ??.92г 00063 — у Sandro<br />
* ??.??г 00122 — был показан на Демодуляции<br />
* 06.92г 00196 — у nzeemin, получен от М.Гусева<br />
* 06.92г 00197 — был распаян для создания реплики<br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = https://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* {{pdf||Союз-Неон ПК-11/16 ТО|computers/souz-neon/docs/PK11-16-TO.pdf}} Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
* [https://github.com/troosh/pk11-16 Документация и исходники ПЗУ]<br />
* [https://habr.com/ru/articles/535936/ PAL, GAL и путешествие в цифровое ретро]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
* [https://archive.pdp-11.org.ru/vid/PK11_NEON/ Сборник софта в хламнике Хобота]<br />
* [http://mirrors.pdp-11.ru/_pk11-16/ Сборник софта на pdp-11.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
* {{rom|Образы |PLM|computers/souz-neon/firmware/pk1116-firmware-08-10-2018.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%91%D0%B5%D0%B9%D1%81%D0%B8%D0%BA_%D0%92%D0%B8%D0%BB%D1%8C%D0%BD%D1%8E%D1%81_%D1%82%D0%B5%D0%B7%D0%B8%D1%81%D1%8B_%D0%B4%D0%BE%D0%BA%D0%BB%D0%B0%D0%B4%D0%B0_1986&diff=3712Бейсик Вильнюс тезисы доклада 19862023-10-10T00:08:04Z<p>Nzeemin: Новая страница: «{{ДИ|Источник=XXVII Конференция Литовского математического общества. Каунас, 26-27 июня 1986 г.: тезисы докладов. Том 2. с.155}} БЕЙСИК-СИСТЕМА ДЛЯ МИКРО-ЭВМ "ЭЛЕКТРОНИКА БК 0010" Р. АЛИШАУСКАС , Г. ЗЛАТКУС (ВГУ) Среди вычислительной техники, используемой для поддержк...»</p>
<hr />
<div>{{ДИ|Источник=XXVII Конференция Литовского математического общества. Каунас, 26-27 июня 1986 г.: тезисы докладов. Том 2. с.155}}<br />
<br />
БЕЙСИК-СИСТЕМА ДЛЯ МИКРО-ЭВМ "ЭЛЕКТРОНИКА БК 0010"<br />
<br />
Р. АЛИШАУСКАС , Г. ЗЛАТКУС (ВГУ)<br />
<br />
Среди вычислительной техники, используемой для поддержки курса основ информатики, в средних школах страны используются как отдельные микро-ЭВМ "Электроника БК 0010" (БК) [1], так и учебные классы, созданные на их основе. Особенность машины состоит в том, что она ориентирована на подключение бытовых приборов в качестве внешних устройств. Из-за особенностей организации оперативной и постоянной памяти БК невозможно адаптировать существующее на машинах, программное обеспечение. Таким образом возникает проблема создания системного программного обеспечения, удовлетворяющего потребности как начинающих, так и квалифицированных пользователей.<br />
<br />
Частично решить проблему позволяет система программирования БЕЙСИК, разработана для начинающих, но получившая широкое распространение и среди профессионалов. За основу системы БЕЙСИК для БК была взята система MSX - Basic разработанная фирмой Microsoft для персональных ЭВМ на основе процессора Z80 [3]. Созданная Бейсик-система предназначена для размещения в постоянной памяти БК. В 1986 году начнется выпуск БК с Бейсик-системой.<br />
<br />
Отличительной чертой созданной Бейсик-системы является тот факт, что она перед выполнением программу транслирует в один из видов так называемого сшитого кода [2] что позволяет значительно увеличить скорость выполнения программ. Система поддерживает четыре режима работы: калькуляторный, программный, шаговый и режим трассировки. Последние два режима существенно облегчают отладку, что очень важно для новичков, том числе и для школьников.<br />
<br />
В системе возможно использование символьных и трех типов числовых данных (в формате плавающей запятой одинарной и двойной точности и в формате фиксированной запятой — целых чисел). Причем с последними можно работать как в десятичной, так и восьмеричной, двоичной или шестнадцатеричной системе счисления. Кроме операторов, входящих в ядро языка БЕЙСИК, в систему включены операторы графики, позволяющие поставить на экране точку, провести линию, начертить прямоугольник и окружность или закрасить область. Созданная система позволяет работать с регистрами внешних устройств и памятью машины, использовать подпрограммы, написанные на машинном языке, работать с данными на кассетной магнитной ленте.<br />
<br />
Литература<br />
<br />
1. Косенков С.М., Полосин А.Н., Счепицкий З.А., Дябин М.И., Половянюк А.И. Бытовая персональная микро-ЭВМ "Электроника БК 0010". — В кн.: Микропроцессорные средства и системы, М., 1985, No 1, с. 22-25.<br />
<br />
2. Брусенцов Н.П. Микрокомпьютеры . — М .: Наука, 1985 .<br />
<br />
3. MSX Technical Data Book. Hardware / Software Specifications. Microsoft Corporation, 1984.</div>Nzeeminhttps://emuverse.ru/w/index.php?title=Labtam_3000&diff=3438Labtam 30002023-07-14T15:56:06Z<p>Nzeemin: </p>
<hr />
<div>{{emuverse}}<br />
'''Labtam 3000''' — гибридный Z80A + 8086 компьютер, производившийся а Австралии. Ограниченные партии поставлялись в СССР, в основном, в научные учреждения.<br />
<br />
== Модели ==<br />
; 3003 — 1983 г.<br />
Исполнение Desktop.<br />
Корзина Miltibus I на три платы:<br />
* Z80SBC, одна<br />
* 8086VDU/COMM, одна<br />
* WD1002-HDO подключен к Z80SBC — J4 (такая же у Kaypro-10)<br />
* FDD 5’25 — один, подключен к контролёру WD1002<br />
* MFM HDD 5’25 NEC D5124 10MB — один, подключен к контролёру WD1002<br />
<br />
; 3006 — 1983 г.<br />
Исполнение Monoblock.<br />
Корзина Miltibus I на шесть плат:<br />
* Z80SBC, одна<br />
* 8086VDU/COMM, одна<br />
* 8086CPU, одна<br />
* FDD 8" — два, подключены к плате Z80SBC — J2<br />
* FDD 5"25 — один, подключен к плате Z80SBC — J3<br />
<br />
; 3015-V32 — 1985 г.<br />
Исполнение Tower.<br />
Корзина Miltibus I на пятнадцать плат:<br />
* Z80SBC, одна<br />
* 8086VDU/COMM, четыре<br />
* V32, одна (main processor board on CPU — NS32032, MMU — NS32082, FPU — NS32081, 2 Megabyte RAM), Optional SCSI contoler on board.<br />
* Расширение RAM, одна или две по 6 Мегабайт на каждой.<br />
* INTERPHASE SMD 2190, один (Controller SMD HDD)<br />
* Xylogics 472, один (Controller 1/2 inch TAPE with PERTEC interface)<br />
<br />
== Платы ==<br />
* Z80SBC: Z80A — 5MHz, 128KB (64Kb*16), FDC — WD2793A, 2x Z80DMA, Z80SIO, Timer — AM9513PC, RTC — MM58167AN, PIC — AM9519APC<br />
* Расширение RAM 128K (плата от Z80SBC, собранная только часть памяти)<br />
* 8086VDU/COMM i8086 8MHz, 128KB (64Kb*16), 2x Timer — AM9513PC, 2x i8274 UART, PIC — i8259A, CRTC — MC6845P 800x600 2-цвета; 800x300 4-цвета; 80x25 текст.<br />
* 8086CPU (плата таже, что и 8086VDU/COMM, но другое ПЗУ (Slave v1) и другая конфигурация перемычек)<br />
* V32(3232) CPU — NS32032, MMU — NS32082, FPU — NS32081, 2 MB DRAM), SCSI.<br />
* Расширение RAM-V32 6MB DRAM<br />
* Labtam 840501 FFT/AD : i8086, i8087, PIC — i8259A, Timer — AM9513PC, DRAM Controler — SN74S408, 256KB (64Kb*32),AD ADC80-12, ROM Slave V2.0<br />
* Labtam 840517’1 MPIOB — Multipurpouse Input-Output Board (TS68230 / SC87845; AD ADC80-12)<br />
* Analog Devices DATA ACQUISITION MODULES (DAS1151)<br />
<br />
== ОС ==<br />
* CP/M 2.2<br />
* CP/M-86<br />
* Concurrent CP/M-86 c дополнительной 8086CPU платой<br />
* UNIX 5.2 Veriosn 2 — IDRIS для 3015-V32(3232)<br />
<br />
== Форматы носителей информации ==<br />
* 8" дюймовые дискеты : DS/DD Двойная плотность, две стороны; дорожек на одной стороне 77; секторов 8; размер сектора 1024, ISO MFM.<br />
* 5,25" дюймовые дискеты : DS/DD Двойная плотность, две стороны; дорожек на одной стороне 80; секторов 5; размер сектора 1024, ISO MFM.<br />
* MFM HDD NEC D5124 : Поверхностей 4; дорожек 309; секторов 17; размер сектора 512, Intel_iSBC_214_512B (--header_crc 0xffff,0x1021,16,0 --data_crc 0xffffffff,0x140a0445,32,6).<br />
<br />
== Документация ==<br />
* {{pdf|Labtam 3000. |System Manual|computers/Labtam/docs/Labtam_3000_system_manual.pdf}}<br />
* {{pdf|Labtam 3000. |8086 card: Принципиальная схема, схема расположения элементов|computers/Labtam/docs/Labtam_3000_8086_card_E3.pdf}}<br />
* {{txt}} [http://emuverse.ru/downloads/computers/Labtam/docs/Labtam_VDUCOMM_BOM.txt Labtam 3000. 8086 VDUCOM: Список элементов]<br />
* {{pdf|Labtam 3000. |Z80 SBC card: Принципиальная схема, схема расположения элементов|computers/Labtam/docs/Labtam_3000_Z80_SBC_Card_E3.pdf}}<br />
* {{txt}} [http://emuverse.ru/downloads/computers/Labtam/docs/Labtam_Z80SBC_BOM.txt Labtam 3000. Z80SBC: Список элементов]<br />
* {{rom|Labtam Z80SBC: |Прошивка ПЗУ платы Z80SBC (2 варианта: A85; C85)|computers/Labtam/firmware/labtam_z80sbc.zip}}<br />
* {{rom|Labtam 8086VDUCOM: |Прошивка ПЗУ платы 8086VDUCOM (2 варианта: I83; K84)|computers/Labtam/firmware/labtam_vducom.zip}}<br />
* {{rom|Labtam 8086CPU: |Прошивка ПЗУ платы 8086CPU|computers/Labtam/firmware/labtam_8086cpu.zip}}<br />
* {{rom|Labtam 3232: |Прошивка ПЗУ платы 3232 (2 варианта: G87; I87)|computers/Labtam/firmware/labtam_3232.zip}}<br />
<br />
== Ссылки ==<br />
* {{www}} [https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=118997&page=1 Обсуждение на форуме]<br />
<br />
[[Категория:Зарубежные компьютеры]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0&diff=3393Немига2023-06-20T14:57:36Z<p>Nzeemin: /* Производительность */</p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:800px-NEMIGA class.jpg|thumb]]<br />
[[Файл:Nemiga PK588 loading.jpg|thumb]]<br />
'''Немига''' — советский 16-разрядный персональный компьютер, выпускался на белорусских предприятиях с 1989 года. Предназначался для поставки в учебные заведения в составе КУВТ. По системе команд совместим с PDP-11 и его советскими клонами — [[Электроника-60]], [[ДВК]].<br />
<br />
Процессор машины реализован на [[Микропроцессорный комплект 588|наборе микросхем серии 588]] — эти микросхемы выпускались на минском ПО «Интеграл».<br />
<br />
Существовало как минимум три версии Немиги, отличающихся схемотехникой и ПЗУ: 3.03, 4.05, 4.06.<br />
<br />
== Пульт ==<br />
При запуске машины начинается загрузка из сети, но если она не удалась, мы попадаем в пультовый режим с приглашением <code>ПУЛЬТ&gt;</code>.<br />
<br />
Пультовый режим воспринимает команды; каждая команда это либо символ, либо 8-ричное число и символ.<br />
<br />
Полный набор команд пульта для версии 3.03:<br />
* <code>S</code> — просмотр регистров<br />
* <code>/</code> либо <code>000000/</code> — просмотр ячеек памяти, c указанием адреса или без; ПС — след адрес, <code>^</code> (клавиша <code>Ч</code>) — пред адрес, <code>ВВОД</code> — выход<br />
* <code>G</code> — продолжить выполнение программы, <code>10000G</code> — продолжить с заданного адреса<br />
* <code>D</code> либо <code>1D</code> — загрузка с диска MD, с указанием номера диска 0..7 либо без<br />
* <code>X</code> либо <code>1X</code> — загрузка с диска DX, с указанием номера диска 0..1 либо без (только в прошивке 3.03)<br />
* <code>N</code> — загрузка из сети, реально просто переход к процедуре холодного старта<br />
* <code>УПР+L</code> — очистка экрана<br />
<br />
В любой момент выполнение программы можно прервать нажатием УПР+ФСД/СТОП, система переходит в пультовый режим. При этом содержимое всех регистров сохраняется, их можно просмотреть командой <code>S</code>. Команда <code>/</code> позволяет просмотреть/изменить отдельные ячейки памяти. А команда <code>G</code> восстанавливает регистры и продолжает выполнение прерванной программы с того же места.<br />
<br />
== Процессор ==<br />
<br />
Процессор реализован на [[Микропроцессорный комплект 588|микросхемах серии 588]]:<br />
* [[588ВС2|КР588ВС2]] (D1) — арифметико-логическое устройство (АЛУ), управляется 12-разрядными микрокомандами из КР588ВУ2-0001, −0002, −0004<br />
* [[588ВУ2|КР588ВУ2]]-0001, −0002, −0006, −0004, −0007 (D2..D6) — управляющая память (УП) — микропрограммы для D1, D17, D18<br />
* [[588ВГ1|КР588ВГ1]] (D18) — системный контроллер (СК) — обеспечивает внутренний интерфейс процессора и его связь с Q-шиной (МПИ, OCT 11305.903-80), управляется микрокодом из КР588ВУ2-0007<br />
* [[588ВР2|К588ВР2]] (D17) — арифметический умножитель 16×16 (УМ), управляется 5-разрядными микрокомандами из КР588ВУ2-0006 (D4); умножение и деление задействует память по адресам 170000-170005<br />
* [[588ВА1|КР588ВА1]] (D21, D24) — 8-разрядный магистральный приёмо-передатчик (МПП)<br />
* [[588ВГ2|КР588ВГ2]] (D15, D16) — контроллер запоминающего устройства (КЗУ)<br />
<br />
Начальный пуск: сброс устройств, затем чтение PC и PSW из 160006 и 160010, запуск в режиме HALT.<br />
<br />
; Система команд<br />
<br />
Процессор реализует систему команд компьютера Электроника-60 (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой). Есть команды расширенной арифметики (MUL, DIV, ASH, ASHC), реализуются микрокодом в D4 и умножителем D17.<br />
Набор команд описан в ТО и в справочниках по БИС сериии КР588.<br />
<br />
: '''''См. также: [[Немига/EIS]]'''''<br />
<br />
; Режимы USER и HALT<br />
Процессор поддерживает работу в двух режимах — USER и HALT.<br />
<br />
Ситуации перехода в режим HALT (согласно ТО):<br />
* появление сигнала СБРОС (INIT)<br />
* запрос на обслуживание локальной сети<br />
* обращение к области памяти 177560-177566 (регистры системной консоли)<br />
* нажатие клавиши на клавиатуре<br />
* выполнение команды HALT<br />
<br />
В режиме HALT область ОЗУ 177600-177777 замещается ОЗУ из другой области (предположительно, эти ячейки памяти лежат «под» системным ПЗУ и поэтому не используются обычным образом).<br />
<br />
'''''NOTE:''''' В документации не описан механизм возврата из режима HALT в USER. По коду прошивки ПЗУ видно, что к этому приводит запись байта 0 по адресу 170006; запись 3 в 170006 приводит к переходу из USER в HALT.<br />
<br />
; Прерывания<br />
Прерывания по описанию КР588ВГ1 (D18), в порядке убывания приоритета, использование определено по схеме:<br />
{|class=standard<br />
! Code !! Прерывание !! pin !! Использование<br />
|-<br />
| 1010 || Режим начального пуска / двойная ошибка канала<br />
|-<br />
| 1110 || Прерывание по T-разряду / ошибка канала<br />
|-<br />
| 1111 || Пропадание питания / ошибка канала || 30 || НЕ используется<br />
|-<br />
| 0111 || HLT — Прерывание по входу ОСТАНОВ / ошибка канала || 36 || используется<br />
|-<br />
| 0101 || INR0 — Требование прерывания от ВУ || 31 || НЕ используется<br />
|-<br />
| 0100 || INR1 — Требование прерывания от ВУ || 34 || НЕ используется<br />
|-<br />
| 0110 || INR2 — Требование прерывания от ВУ || 33 || используется<br />
|-<br />
| 0010 || INR3 — Требование прерывания от ВУ || 32 || используется<br />
|-<br />
| 0011 || EVNT — Прерывание по внешнему событию || 35 || используется<br />
|-<br />
| 0001 || RQ — Запрос прерывания от ВУ || 28 || используется<br />
|-<br />
|}<br />
<br />
Вектора прерываний:<br />
* 160002 — сигнал/команда HALT в режиме HALT<br />
* 160006 — прерывание начального пуска<br />
* 160012 — ошибка при приёме вектора прерывания<br />
* 000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR<br />
* 000010 — резерный код команды<br />
* 000014 — прерывание по T-разряду или команда BPT<br />
* 000020 — команда IOT<br />
* 000024 — питание<br />
* 000030 — команда EMT<br />
* 000034 — команда TRAP<br />
* 000060 — терминал клавиатура (вызывается из кода ПЗУ)<br />
* 000064 — терминал дисплей (вызывается из кода ПЗУ)<br />
* 000100 — прерывание EVNT<br />
* 000104 — адрес обработчика сигнала Н4 от сетевой карты (вызывается из кода ПЗУ)<br />
* 000110 — мелодия закончилась кодом 040 (вызывается из кода ПЗУ)<br />
<br />
== Регистры (порты) ==<br />
{| class=standard<br />
! Регистр !! Назначение !! Примечание !! Значение в пульте 4.06<br />
|-<br />
| 170000 ||rowspan=3| Память ||rowspan=3| Используются микросхемой,<br />выполняющей операции умножения/делениия || 000000<br />
|-<br />
| 170002 || 000000<br />
|-<br />
| 170004 || 047764<br />
|-<br />
| 170006 || || Регистр данных клавиатуры (байт 170006),<br /> регистр фиксации HALT-запросов (байт 170007, D27) || 001412<br />
|-<br />
| 170010 ||rowspan=2| Адаптер<br />локальной сети || состояние || 074010<br />
|-<br />
| 170012 || данные || 000000<br />
|-<br />
| 170014 || ??? || || 000000<br />
|-<br />
| 170020 ||rowspan=6| Таймер и звук || состояние программируемого таймера || 001261<br />
|-<br />
| 170022 || первый счётчик || 000000<br />
|-<br />
| 170024 || второй счётчик || 000000<br />
|-<br />
| 170026 || включение звука || 000000<br />
|-<br />
| 170030 || управляющее слово выбора громкости и октавы || 000000<br />
|-<br />
| 170032 || отключение звука || 000000<br />
|-<br />
| 177100 ||rowspan=4| Контроллер<br />дисковода MD || состояние || 000271<br />
|-<br />
| 177102 || данные || 000377<br />
|-<br />
| 177104 || управление || 000127<br />
|-<br />
| 177106 || таймер || 000106<br />
|-<br />
| 177170* ||rowspan=2| Контроллер<br />дисковода DX* || состояние<br />
|-<br />
| 177172* || данные<br />
|-<br />
| 177514 ||rowspan=2| Устройство<br />сопряжения || состояние параллельного порта<br />
|-<br />
| 177516 || данные параллельного порта<br />
|-<br />
| 177560 ||rowspan=4| Регистры<br />системной консоли || состояние клавиатуры || 000000<br />
|-<br />
| 177562 || данные клавиатуры || 000012<br />
|-<br />
| 177564 || состояние терминала || 000200<br />
|-<br />
| 177566 || данные терминала || 000000<br />
|-<br />
| 177570 ||rowspan=2| Косвенный доступ<br />к памяти || данные || 000000<br />
|-<br />
| 177572 || адрес || 000000<br />
|-<br />
| 177574** || || Регистр управления || 000000<br />
|-<br />
|}<br />
<nowiki>*</nowiki> — код загрузки с дисковода формата DX обнаружен в прошивке версии 3.03; для загрузки с него используется команда «X».<br /><br />
<nowiki>**</nowiki> — аппаратная версия 4.x<br />
<br />
Результат прогона программы IOSCAN на реальной машине с прошивкой 4.06 [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570] (здесь детектируется регистр 170014, которого нет в документации):<br />
<pre>160000-170014<br />
170020-170032<br />
177100-177106<br />
177514-177516<br />
177560-177574<br />
177600-177776</pre><br />
<br />
;Регистр 170006<br />
Старший байт регистра 170006 — это регистр фиксации HALT-запросов, отдельные его биты отвечают за различные причины вызова HALT-прерывания. Младший байт регистра 170006 — регистр данных клавиатуры.<br />
<pre><br />
170006 (R) Регистр фиксации HALT и данных клавиатуры<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─1┴─1┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
СБРОС│ │ │ │ │ └── Данные клавиатуры ──┘<br />
Н1 Н2 Н3 Н4 Клавиатура<br />
</pre><br />
Младший байт регистра это байт с клавиатуры (регистр D27); если установлен бит 10, то символ готов для чтения.<br /><br />
Старший байт регистра это регистр фиксации HALT (D28, биты регистра идут в обратном порядке) — определяет причину появления прерывания HALT.<br />
* бит 15 — признак канального сигнала СБРОС;<br />
* бит 14 — сигнал Н1 — обращение к регистру данных терминала 177566;<br />
* бит 13 — сигнал Н2 — обращение к регистру данных клавиатуры 177562;<br />
* бит 12 — сигнал Н3 — кадровый синхроимпульс, 50 Гц<br />
* бит 11 — сигнал Н4 от платы адаптера локальной сети;<br />
* бит 10 — сигнал готовности очередного байта с клавиатуры, поступает с триггера D37.2;<br />
* биты 8,9 заземлены = 1.<br />
<br />
'''''NOTE:''''' В коде прошивки ПЗУ регистр 170006 также используют на запись, записывая в него байтовое значение 3 для маскирования системных прерываний.<br />
По записи в 170006 сбрасывается регистр D27 (видно по схеме).<br />
<br />
;Регистры системной консоли<br />
При разработке Немиги предусмотрели совместимость с «Электроника-60» по адресам и работе регистров системной консоли — это регистры 177560/177562 (состояние/данные клавиатуры) и 177564/177566 (состояние/данные терминала). Это просто ячейки ОЗУ, но обращение к ним приводит к вызову прерывания HALT с установкой соответствующих флагов в регистре 177006 (чтение регистра данных клавиатуры 177562, запись в регистр данных терминала 177566). Программа обработки прерывания HALT анализирует флаги и эмулирует работу регистров консоли, а также выполняет прерывания по векторам 60 и 64, если стоят соответствующие флаги в регистрах состояния.<br />
<pre><br />
177560 Регистр состояния клавиатуры<br />
177564 Регистр состояния терминала<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴──┴──┴──┴──┴──┴──┘<br />
│ └─ Разрешение прерывания: 1 = разрешено<br />
└──── Готовность к приёму/передаче: 0 = готов<br />
</pre><br />
<br />
; Регистр управления 177574 (только 4.xx)<br />
* бит 0 — специальная адресация памяти: экран проецируется на нижнюю память.<br />
<br />
== Память ==<br />
* Адреса 000000-137777 — ОЗУ<br />
* Адреса 140000-157777 — зарезервированы под дополнительные 8 КБ ПЗУ (D11-D14)<br />
* Адреса 160000-167777 — системное ПЗУ, 4 КБ (D9-D10)<br />
* Адреса 170000-177777 — ОЗУ и порты<br />
** Адреса 177600-177777 — окно памяти, включаемое только в режиме HALT<br />
<br />
Процессору непосредственно доступно 64 КБ памяти. Помимо этого, существует возможность «косвенного» обращения ко всем 128 КБ ОЗУ, через регистры косвенной адресации 177570 (адрес) и 177572 (данные). Адрес косвенной адресации получается сдвигом на один разряд вниз обычного адреса «прямой» адресации.<br />
<pre><br />
Адрес Косв. адрес<br />
000000 ┌────────────────────┐ 000000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ О З У │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
140000 ├────────────────────┤ 060000<br />
│ Дополнит. ПЗУ 8К │<br />
│ │<br />
160000 ├────────────────────┤ 070000<br />
│ Системное ПЗУ 4К │<br />
170000 ├────────────────────┤<br />
│ ОЗУ и порты │<br />
200000 ╞════════════════════╡ 100000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
├────────────────────┤ 140000<br />
│ │<br />
│ │<br />
│ │<br />
│ Э К Р А Н │<br />
│ │<br />
│ 32К │<br />
│ │<br />
│ │<br />
│ │<br />
└────────────────────┘ 200000<br />
</pre><br />
В аппаратной версии 4.x появилась возможность включить проецирование 32К экрана на нижние 32К обычной памяти (этим управляет новый регистр 177574, бит 0) — сделано это, очевидно, для ускорения вывода на экран.<br />
<br />
== Видео ==<br />
[[Файл:NemigaTO-pic9.png|thumb]]<br />
Видео-контроллер формирует растр размером 512×312 точек, в котором «полезной» площадью является блок 512×256 точек. Экран хранится в верхней части памяти, доступной по косвенному адресу 140000, занимает 32 КБ. Каждые 8 точек растра занимают 2 соседних байта — каждый байт это отдельный битплан, то есть каждая точка это два бита, лежащие в соседних байтах, что даёт 4 градации яркости на точку.<br />
<br />
Знакогенератор содержит символы размером 8×8 точек, при выводе текста между строками оставляют место высотой в два пиксела. Таким образом экран используется как текстовый в 25 строк.<br />
<br />
Прошивка 3.03 использует не всю ширину экрана, а только 416 точек — слева и справа остаются пустые полосы по 48 точек.<br />
Прошивки 4.05 и 4.06 используют уже всю ширину в 512 точек.<br />
<br />
3.03 4.05 и 4.06<br />
┌─ 512 × 312 ────────────────────────┐ ┌─ 512 × 312 ────────────────────────┐<br />
│ │ │ │<br />
│ │ │ │<br />
┌─┌─ 416 × 256 ────────────────────┐─┐ ┌─ 512 × 256 ────────────────────────┐<br />
│ | | │ │ │<br />
│ | 50 символов в строке | │ │ 64 символа в строке │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
└─└────────────────────────────────┘─┘ └────────────────────────────────────┘<br />
│ │ │ │<br />
│ │ │ │<br />
└────────────────────────────────────┘ └────────────────────────────────────┘<br />
<br />
[[Файл:Nemiga 303 pult.png|341px]] [[Файл:Nemiga 406 pult.png|341px]]<br />
<br />
== Клавиатура ==<br />
[[Файл:Nemiga-keyboard.jpg|thumb]]<br />
Раскладка клавиатуры:<br />
<pre><br />
( ) ( ) ( ) ( )<br />
РУС ВЕРХ ЛАТ ЦИФ<br />
┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐<br />
│Ф1 │Ф2 │ │Клю│ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ~ │<─ │ │ЦИФ│СТП│ ─ │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф3 │Ф4 │ │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ : │ Ъ │ ПС│ │ 7 │ 8 │ 9 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф5 │Ф6 │ │УПР│ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ . │ Ё │ВВО│ │ 4 │ 5 │ 6 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф7 │Ф8 │ │ ↑ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ , │ / │ _ │ ↑ │ФПБ│ │ 1 │ 2 │ 3 │<br />
├───┼───┤ ┌───┼───┼───┼───┴───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┘ ├───┼───┼───┤<br />
│Ф9 │Ф10│ │РУС│Р/Л│АЛТ│ │Р/Л│ЛАТ│ ЗБ│ДОП│ │ 0 │ . │ + │<br />
└───┴───┘ └───┴───┴───┴───────────────────────────────┴───┴───┴───┴───┘ └───┴───┴───┘<br />
</pre><br />
<br />
Клавиатура формирует 8-разрядный код клавиши (КОИ-8Р) и передаёт его в процессорный блок по последовательному каналу. Байт данных формируется в регистре D28 и затем передаётся в регистр D27.<br />
<br />
Текущие режимы хранятся в блоке клавиатуры и не могут быть установлены извне.<br />
При включении установлены режимы: ЛАТ, ВЕРХ, ЦИФ.<br />
<br />
Все клавиши кроме служебных составляют матрицу 8×12 контактов, «адрес» каждой клавиши выражается 7-битным значением (3 бита на номер места, 4 бита на номер строки).<br />
ПЗУ блока клавиатуры (D17) объёмом 2048 байт содержит 16 блоков по 128 байт — каждый блок соответствует одной из 16-ти комбинаций режимов.<br />
Код символа, соответствующий нажатой клавише, выбирается по адресу клавиши, из блока, определяемого текущим режимом.<br />
<br />
Автоповтор срабатывает через 1 секунду, с частотой 15 Гц.<br />
<br />
== Дисковод MD/MX ==<br />
ПЗУ версии 3.03 может загружать диски MD и DX; ПЗУ 4.05 и 4.06 — только диски MD.<br />
<br />
<pre><br />
177100 Регистр состояния КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴──┴─┬┴─┬┴──┴─┬┘<br />
TR ─┘ │ │ │ INDEX └─ RELOAD (R) / RUN/STEP (W)<br />
LOST-DATA ─┘ │ └──── TR00/WRPRT<br />
OP-FAILED <br />
<br />
177102 Регистр данных КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
<br />
<br />
177104 Регистр управления КНГМД (W) Операция 5 4<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┴──┴──┴ <br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ 0 0 ЧТЕНИЕ дорожки<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ 1 0 ЗАПИСЬ дорожки<br />
Операция ─┴──┘ │ │ └──┴─ Привод 0 1 ШАГ НАЗАД от центра диска<br />
Мотор └─ Поверхность 1 1 ШАГ ВПЕРЕД к центру диска<br />
<br />
<br />
177106 Регистр таймера КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┘<br />
└─ Пуск (W) / состояние (R)<br />
</pre><br />
Контроллер дисковода управляется на основе операций. Операция выполняется в два шага: (1) подготовка операции установкой в регистре управления битов операции и включения мотора; (2) запуск операции записью «1» в 0-й бит регистра состояния.<br />
<br />
=== Формат MD ===<br />
<br />
Дисковод формата MD, с кодированием FM (в ТО называется модель TEAC FD-55FV-003). Похож на MX, но использует побайтовую передачу данных.<br />
Каждый логический диск занимает только одну сторону физического диска, MD0: и MD1: это первый физический диск, MD2: и MD3: это второй.<br />
<br />
Ёмкость диска 459 КБ — 2 стороны по 80 дорожек, сектора по 128 байт, 23 сектора (или меньше) на дорожку. Диск вращается со скоростью 300 оборотов в минуту = 5 оборотов в секунду. Скорость обмена данными — 125 килобит в секунду (FM) = 125000 бит в секунду = 15625 байт в секунду = 3125 за оборот. Длительность одного цикла обмена: 1с / 5об / 3125 = 64 мкс.<br />
<br />
; Структура дорожки<br />
<pre><br />
──── Заголовок дорожки (10 байт) ─────────────<br />
1 343 — маркер<br />
1 xxx — номер дорожки<br />
1 023 — секторов на дорожку<br />
1 000 *<br />
2 xxx — первый сектор<br />
1 377 *<br />
1 377 *<br />
2 xxx — контрольная сумма<br />
──── Начало сектора 1..23 (130 байт на сектор) ─┐<br />
128 xxx — данные сектора │<br />
2 xxxx — контрольная сумма │<br />
──── Конец сектора ─────────────────────────────┘<br />
...<br />
</pre><br />
<br />
Прошивка 4.06 имеет поддержку «защиты» дискет. Три байта в заголовке дорожки (помечены «*») используются для перекодирования секторов при чтении — это встроено в цикл расчёта контрольной суммы сектора. При значениях этих байт 0/0xff/0xff — перекодирования не происходит.<br />
<br />
Первый сектор нулевой дорожки содержит информацию о количестве секторов на каждой дорожке, начиная с нулевого байта каждый байт описывает одну дорожку.<br />
<br />
=== Формат MX ===<br />
: ''См. [[Немига/System V502#MX.HLP]]'' — описание драйвера MX.SYS<br />
Используются обе стороны диска, поэтому только два устройства — MX0: и MX1:. На каждой дорожке 11 секторов по 128 слов = 256 байт. Односторонний диск = 256 * 11 * 80 = 225280 байт, двусторонний диск = 450560 байт.<br /><br />
Драйвер MX есть в комплекте системы «RT-11SJ V5.02(#)», и этот драйвер может только читать/писать, но не умеет форматировать.<br />
<br />
Структура дорожки для драйвера MX.SYS, называющего себя «ДРАЙВЕР ГМД ФОРМАТА MX40/80 МИКРОЦОС LTD. V2.2»:<br />
<pre><br />
──── Заголовок дорожки (3 байта) ─────────────<br />
1 Маркер 0363<br />
1 0 (этот байт можно рассматривать как старший байт от слова номера дорожки)<br />
1 Номер дорожки<br />
──── Начало сектора 1..11 (258 байт на сектор)<br />
256 128 слов, данные сектора<br />
2 Слово контрольной суммы, полученное обычным сложением всех слов сектора<br />
──── Конец сектора ───────────────────────────<br />
...<br />
──── Концевик ───────────────────────────────<br />
4 20 4F 54 01 (hex)<br />
2 Слово: номер дорожки * 2<br />
</pre><br />
Все слова данных сектора, а также слово контрольной суммы, записываются в формате старший байт затем младший байт, что отличается от обычного представления слов в памяти (младший потом старший), поэтому после чтения сектора и перед записью выполняется SWAB над всеми словами.<br /><br />
Без концевика получается 3 + 11 * (256 + 2) = 2841 байт, именно столько читает драйвер, остальные байты до конца дорожки игнорируются (длина дорожки примерно 3125 байт).<br /><br />
При записи дорожки кроме заголовка и данных секторов пишется ещё 6 байт концевика.<br />
<br />
== Дисковод DX ==<br />
Загрузка с дисков формата DX предусмотрена только в прошивке 3.03 — команда «X».<br />
<br />
DX — драйвер накопителя на гибких магнитных дисках [[ГМД-70]] или [[ГМД-7012]]. Полный объем устройства 494 блока.<br />
<br />
<pre><br />
177170 Регистр команд и состояний КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┌ 000 Заполнение буфера<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ │ 001 Разгрузка буфера<br />
└─┬┴─┬┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ │ 010 Запись сектора<br />
ОШБ └─ ПСБ ТРБ ─┘ │ │ ВБР │ │ │ ПСК │ 011 Чтение сектора<br />
РПР КОП └──┴──┴── КОМ ─┤ 100 Форматирование дорожки<br />
│ 101 Чтение регистра ошибок и состояний<br />
177172 Регистр буфер данных КНГМД (R/W) │ 110 Запись сектора стертых данных<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ └ 111 Чтение регистра ошибок<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
</pre><br />
<br />
На диске 77 дорожек 0..76, на каждой 26 секторов 1..26, по 128 байт на сектор, итого 77×26×128 = 256256 байт.<br />
Формат дорожки (из описаний [http://hobot.pdp-11.ru/BIBLIOTEKA/SM5631_3_060_205_IE_TO/SM5631_3_060_205_TO.rar] и [http://doc.pdp-11.org.ru/DVK/GMD7012/Format_GMD7012.pdf]):<br />
<pre><br />
Промежуток 46b<br />
Индексный маркер FC D7<br />
Начало сектора 1..26<br />
Преамбула 32/33b<br />
Идентификатор<br />
Преамбула 17b<br />
Данные 131b<br />
Конец сектора<br />
</pre><br />
<br />
'''''TODO'''''<br />
<br />
== Таймер и звук ==<br />
: ''См. также: [[Немига/Звук]]''<br />
<br />
Схема таймера построен на микросхеме таймера [[К588ВИ1|588ВИ1]]. Микросхема имеет два независимых 16-разрядных счётчика.<br />
<br />
Таймер 1 — входная частота 4 МГц, задержка задаётся в регистре 170022. Плюс для этого таймера есть делитель на степени двойки, задаваемый битами 0..2 регистра 170030 — это «октава». Так, например, для получения ноты A4 («ля» первой октавы, 440 Гц) мы задаём октаву 4 и задержку 1136, получаем: <code>4000000 / 2/2/2 / 1136 ~= 440.14 Гц</code><br />
<br />
Таймер 2 — на 50 Гц, задержка задаётся в регистре 170024. Используется для контроля длительности ноты.<br />
<br />
<pre><br />
170020 Регистр состояния программируемого таймера<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
Фикс прерывания 2 ─┘ │ │ │ │ │ │ │ │ └─ ??<br />
Фикс прерывания 1 ─┘ │ │ │ │ │ │ └ Режим работы 1-го счётчика<br />
Блокировка ЗПР2 ─┘ │ │ │ └──┴─ Режим пуска 1-го счётчика<br />
Блокировка ЗПР1 ─┘ │ │ 0 1 блокировка счётчика<br />
│ │ 1 0 запуск по CO1<br />
│ │ 1 1 запуск по C1<br />
└──┴─ Режим пуска 2-го счётчика<br />
0 1 блокировка счётчика<br />
1 0 запуск по CO2<br />
1 1 запуск по C2<br />
</pre><br />
<br />
Громкость 0..3 задаётся битами 4..3 регистра 170030.<br />
<br />
<pre><br />
170030 Регистр октавы и громкости<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
│ │ └──┴──┴─ Октава 1..7<br />
└──┴─ Громкость 0..3<br />
</pre><br />
<br />
Обращение к 170026 — включает звук.<br />
Обращение к 170032 — переключает состояние звука вкл/выкл.<br />
При этом таймер работает независимо от того, включен ли звук.<br />
Судя по схеме, звук также выключается по сигналу RESET, либо по окончанию счёта таймера 2 (сигнал ЗПР2).<br />
<br />
'''''NOTE:''''' Значения задержек для нот на прошивке 4.05 отличаются от 3.03 ровно в 1,6 раза. Вероятно, таймер 1 на новых моделях работает на частоте 6,4 МГц против 4 МГц на старой модели.<br />
<br />
== Порт принтера ==<br />
ИРПР построен на микросхеме КР1801ВП1-033.<br />
<br />
При включенном бите разрешения прерывания используется вектор прерывания 0200.<br />
<pre><br />
177514 Регистр состояния устройства сопряжения<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴──┼──┴──┴──┴──┴──┴──┼─┬┴─┬┴─┬┴──┴──┴──┴──┴──┘<br />
│ └─ Нач.уст-ка (W)─┘ │ │ └─ Завершено (R)<br />
└─ Ошибка (R) │ └─ Разрешение прерывания (R/W)<br />
Требование передачи (R) ─┘<br />
<br />
177516 Регистр данных устройства сопряжения <br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└────── Данные (W) ─────┘<br />
</pre><br />
'''''TODO'''''<br />
<br />
== ПЗУ ==<br />
{| class="standard"<br />
! Версия || MD5 checksum !! SHA1 checksum !! Размер !! Примечания<br />
|-<br />
| 3.03 || 9023be6bcac0535b9dea95eeda5ef1f3 || ecb2a5cf3d0af678ad44d87c524eaa8726ea1243 || 4 КБ ||<br />
|-<br />
| 4.05 || cbd626766fac3d80c9c786642277f00a || 97e4ebbe88daedf0eed42ede5ff4c0c0e256316a || 4 КБ ||<br />
|-<br />
| 4.06 || 2b6d7eaf21e8201c434743991a2f9228 || a6cb2c8a401bbcbe434320a883021fc32fa9bba4 || 4 КБ ||<br />
|-<br />
| Клавиатура || b6a893d3e603eed3e41d39ca8006abf2 || a530598653f5de87cc730ac0350a19c51f9e0799 || 2 КБ ||<br />
|}<br />
<br />
== Производительность ==<br />
Тест SPEED показывает, что Немига работает немного быстрее чем УКНЦ.<br />
<br />
Сравнение реальных машин версии 4.06 (MiX [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570], Radon17 [https://zx-pk.ru/threads/12828-uchebnyj-kompleks-nemiga.html?p=1180618&viewfull=1#post1180618]) и двух УКНЦ (Alex_K):<br />
Немига1 Немига2 УКНЦ1 УКНЦ2<br />
сложение рег-рег 760 768 624 672 тыс.оп/сек<br />
сложение рег-пам 328 328 240 289 тыс.оп/сек<br />
умножение рег-рег 152 168 80 64 тыс.оп/сек<br />
деление рег-рег 256 256 80 64 тыс.оп/сек<br />
<br />
== Ссылки ==<br />
* [http://www.emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%83+%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&prefix=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0%2F&namespace=0 Подстраницы этой страницы в Emuverse]<br />
* ТУ 4-ЫД1.700.004ТУ-89 [http://www.1bm.ru/techdocs/kgs/tu/773/info/150570/ Комплекс вычислительный «Немига»]<br />
* [http://myadel-gimnaz.by/sites/default/files/Documents/Instruction/Comp/Nemiga_TO_instrukciya.djvu Комплекс вычислительный «Немига». Компьютеры персональные ПК 588, ПК 588-01. Техническое описание и инструкция по эксплуатации]<br />
* [http://myadel-gimnaz.by/node/107 КУВТ «Немига»]<br />
* [http://www.kaznachey.com/doc/5r1Jfo7tA6r/ Постановление Совета министров Белорусской ССР «О дополнительных мерах по обеспечению учебных заведений республики электронно-вычислительной техникой»]<br />
<br />
[[Категория:Немига|*]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9A%D1%80%D0%B8%D1%81%D1%82%D0%B0&diff=3392Криста2023-06-15T19:02:44Z<p>Nzeemin: /* Ссылки */</p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:20230612151550!Krista computer 0792.jpg|thumb]]<br />
'''«Криста»''' — 8-разрядный советский домашний персональный компьютер на базе процессора [[КР580ВМ80А]], частично совместимый с домашним компьютером [[Радио-86РК]]. Разработан и выпускался на Муромском заводе радиоизмерительных приборов c 1986 года.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[КР580ВМ80А]]<br />
* ПЗУ Монитора: 2 Кбайт<br />
* ОЗУ: 32 Кбайт<br />
* Режим отображения: монохромный, 25 строк на экране по 64 символа в строке, знакогенератор содержит символы псевдографики, что позволяет имитировать графический режим 128 × 50 точек<br />
* Блок питания: Напряжения +5В 1,2А, +12В 60мА (на контакт 28 процессора и для генератора тактовых импульсов), −5В 1мА (на контакт 11 процессора и для усилителя магнитофона)<br />
* Потребляемая мощность: не более 20 Вт<br />
* Масса без упаковки: не более 2,6 кг, масса блока питания: не более 1,5 кг, масса блока высокочастотного: 0,12 кг<br />
* Габаритные размеры компьютера без упаковки 430×240×75 мм, размеры блока питания: 230×110×85 мм, блока высокочастотного: 110×44×33 мм<br />
* Устройство вывода: бытовой телевизор через видеовход либо в антенный вход через отдельный блок модулятора<br />
* Клавиатура: 68 клавиш<br />
* Внешняя память: бытовой кассетный магнитофон<br />
* Порты:<br />
** Параллельный интерфейс<br />
** Магнитофон<br />
** Внутренний интерфейс<br />
** [[Световое перо]]<ref>pchistory.ru/desktop/pevm-personalnye-evm/pk-krista</ref><br />
<br />
== Отличия от Радио-86РК ==<br />
Несмотря на заявленную программную совместимость с Радио-86РК, ПК Криста имеет ряд аппаратных и программных отличий, из-за которых прямое использование ПО от Радио-86РК становится не всегда возможным, требуется адаптация:<br />
<br />
* Внутренние устройства имеют другие адреса.<br />
* Знакогенератор имеет вдвое больший размер, добавлен кириллический шрифт с прописными и строчными буквами (одновременное использование символов из двух наборов невозможно).<br />
* Добавлен таймер [[КР580ВИ53]] для генерации звука и других целей.<br />
* Скорость и формат ввода-вывода на магнитную ленту отличается.<br />
* Программа встроенного Монитора изменена с учётом вышеперечисленных отличий. Также в ней отсутствуют некоторые функции ввода-вывода, имевшиеся в РК.<br />
<br />
=== Распределение памяти ===<br />
{| class="wikitable"<br />
|-<br />
!Адрес<br />
!Устройства<br />
|-<br />
| F800h — FFFFh<br />
| ПЗУ Монитора / Прямой доступ (DMA) к видеопамяти<br />
|-<br />
| Е000h — F7FFh<br />
| Не используется<br />
|-<br />
| D800h — DFFFh<br />
| Регистры таймера ВИ53<br />
|-<br />
| D000h — D7FFh<br />
| Регистры видеоконтроллера ВГ75<br />
|-<br />
| C800h — CFFFh<br />
| Регистры контроллера параллельного интерфейса ВВ55<br />
|-<br />
| C000h — C7FFh<br />
| Регистры контроллера клавиатуры<br />
|-<br />
| 8000h — BFFFh<br />
| область адресов кассеты ПЗУ<br />
|-<br />
| 76D0h — 7FFFh<br />
| Экранная область ОЗУ (Видеопамять)<br />
|-<br />
| 7600h — 76CFh<br />
| Рабочие ячейки монитора<br />
|-<br />
| до 75FFh<br />
| ОЗУ<br />
|-<br />
|<br />
| область стека<br />
|-<br />
|<br />
| область рабочих ячеек Бейсика<br />
|-<br />
|<br />
| Программы на Бейсике<br />
|-<br />
| от 0000h<br />
| Интерпретатор языка Бейсик<br />
|}<br />
<br />
== Примечания ==<br />
<references/><br />
<br />
== Ссылки ==<br />
* [[w:Криста_(компьютер)|Статья в Википедии]]<br />
<br />
[[Категория:Радио-86РК]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9A%D1%80%D0%B8%D1%81%D1%82%D0%B0&diff=3391Криста2023-06-15T19:00:41Z<p>Nzeemin: </p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:20230612151550!Krista computer 0792.jpg|thumb]]<br />
'''«Криста»''' — 8-разрядный советский домашний персональный компьютер на базе процессора [[КР580ВМ80А]], частично совместимый с домашним компьютером [[Радио-86РК]]. Разработан и выпускался на Муромском заводе радиоизмерительных приборов c 1986 года.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[КР580ВМ80А]]<br />
* ПЗУ Монитора: 2 Кбайт<br />
* ОЗУ: 32 Кбайт<br />
* Режим отображения: монохромный, 25 строк на экране по 64 символа в строке, знакогенератор содержит символы псевдографики, что позволяет имитировать графический режим 128 × 50 точек<br />
* Блок питания: Напряжения +5В 1,2А, +12В 60мА (на контакт 28 процессора и для генератора тактовых импульсов), −5В 1мА (на контакт 11 процессора и для усилителя магнитофона)<br />
* Потребляемая мощность: не более 20 Вт<br />
* Масса без упаковки: не более 2,6 кг, масса блока питания: не более 1,5 кг, масса блока высокочастотного: 0,12 кг<br />
* Габаритные размеры компьютера без упаковки 430×240×75 мм, размеры блока питания: 230×110×85 мм, блока высокочастотного: 110×44×33 мм<br />
* Устройство вывода: бытовой телевизор через видеовход либо в антенный вход через отдельный блок модулятора<br />
* Клавиатура: 68 клавиш<br />
* Внешняя память: бытовой кассетный магнитофон<br />
* Порты:<br />
** Параллельный интерфейс<br />
** Магнитофон<br />
** Внутренний интерфейс<br />
** [[Световое перо]]<ref>pchistory.ru/desktop/pevm-personalnye-evm/pk-krista</ref><br />
<br />
== Отличия от Радио-86РК ==<br />
Несмотря на заявленную программную совместимость с Радио-86РК, ПК Криста имеет ряд аппаратных и программных отличий, из-за которых прямое использование ПО от Радио-86РК становится не всегда возможным, требуется адаптация:<br />
<br />
* Внутренние устройства имеют другие адреса.<br />
* Знакогенератор имеет вдвое больший размер, добавлен кириллический шрифт с прописными и строчными буквами (одновременное использование символов из двух наборов невозможно).<br />
* Добавлен таймер [[КР580ВИ53]] для генерации звука и других целей.<br />
* Скорость и формат ввода-вывода на магнитную ленту отличается.<br />
* Программа встроенного Монитора изменена с учётом вышеперечисленных отличий. Также в ней отсутствуют некоторые функции ввода-вывода, имевшиеся в РК.<br />
<br />
=== Распределение памяти ===<br />
{| class="wikitable"<br />
|-<br />
!Адрес<br />
!Устройства<br />
|-<br />
| F800h — FFFFh<br />
| ПЗУ Монитора / Прямой доступ (DMA) к видеопамяти<br />
|-<br />
| Е000h — F7FFh<br />
| Не используется<br />
|-<br />
| D800h — DFFFh<br />
| Регистры таймера ВИ53<br />
|-<br />
| D000h — D7FFh<br />
| Регистры видеоконтроллера ВГ75<br />
|-<br />
| C800h — CFFFh<br />
| Регистры контроллера параллельного интерфейса ВВ55<br />
|-<br />
| C000h — C7FFh<br />
| Регистры контроллера клавиатуры<br />
|-<br />
| 8000h — BFFFh<br />
| область адресов кассеты ПЗУ<br />
|-<br />
| 76D0h — 7FFFh<br />
| Экранная область ОЗУ (Видеопамять)<br />
|-<br />
| 7600h — 76CFh<br />
| Рабочие ячейки монитора<br />
|-<br />
| до 75FFh<br />
| ОЗУ<br />
|-<br />
|<br />
| область стека<br />
|-<br />
|<br />
| область рабочих ячеек Бейсика<br />
|-<br />
|<br />
| Программы на Бейсике<br />
|-<br />
| от 0000h<br />
| Интерпретатор языка Бейсик<br />
|}<br />
<br />
== Примечания ==<br />
<references/><br />
<br />
== Ссылки ==<br />
* [[w:Криста|Статья в Википедии]]<br />
<br />
[[Категория:Радио-86РК]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:20230612151550!Krista_computer_0792.jpg&diff=3390Файл:20230612151550!Krista computer 0792.jpg2023-06-15T18:59:45Z<p>Nzeemin: Компьютер Криста в открытой экспозиции Политехнического музея, Москва.</p>
<hr />
<div>Компьютер Криста в открытой экспозиции Политехнического музея, Москва.</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9F%D0%AD%D0%92%D0%9C_%D0%A0%D1%83%D1%81%D0%B8%D1%87&diff=3377ПЭВМ Русич2023-06-04T14:18:07Z<p>Nzeemin: Новая страница: «{{Википедия}} '''«Русич»''' — 8-разрядный советский учебный персональный компьютер на базе…»</p>
<hr />
<div>{{Википедия}}<br />
<br />
'''«Русич»''' — 8-разрядный советский учебный персональный компьютер на базе процессора [[ИМ1821ВМ85А]] (клон [[Intel 8085]]). Разработан и выпускался на Белгородском опытном радио-приборном заводе «Прогресс».<br />
<br />
== Описание ==<br />
Представляет собой РМУ (рабочее место ученика), не работает автономно, взаимодействует с центральной ЭВМ сети, РМП (рабочим местом преподавателя).<ref>{{Cite web |url=http://www.nedopc.org/forum/viewtopic.php?t=10075 |title=nedoPC.org - КУВТ "Русич" |access-date=2021-12-20 |archive-date=2021-12-20 |archive-url=https://web.archive.org/web/20211220142023/http://www.nedopc.org/forum/viewtopic.php?t=10075 |deadlink=no }}</ref> Оснащался монитором [[МС-6105]] («колокольчик») или [[МС-6106]]. Имел два варианта объёма ПЗУ: 8 Кб (1 × 573РФ4) с сетевым загрузчиком или 24 Кб (3 × 573РФ4) с интерпретатором языка Бейсик, редактором и тестами. Работал под управлением операционной системы [[CP/M-80]]; однако, центральным компьютером выступал IBM PC/XT или IBM PC/AT совместимый ПК.<br />
<br />
== Примечания ==<br />
<references /><br />
<br />
== Ссылки ==<br />
* [https://ru.wikipedia.org/wiki/%D0%9F%D0%AD%D0%92%D0%9C_%D0%A0%D1%83%D1%81%D0%B8%D1%87 Статья в Википедии]<br />
* [http://www.sannata.org/konkurs/2011/kt1112.shtml ПЭВМ "Русич" призрак КУВТ]<br />
<br />
[[Категория:Отечественные компьютеры]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9A%D1%80%D0%B8%D1%81%D1%82%D0%B0&diff=3376Криста2023-06-04T14:00:49Z<p>Nzeemin: /* Отличия от Радио-86РК */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''«Криста»''' — 8-разрядный советский домашний персональный компьютер на базе процессора [[КР580ВМ80А]], частично совместимый с домашним компьютером [[Радио-86РК]]. Разработан и выпускался на Муромском заводе радиоизмерительных приборов c 1986 года.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[КР580ВМ80А]]<br />
* ПЗУ Монитора: 2 Кбайт<br />
* ОЗУ: 32 Кбайт<br />
* Режим отображения: монохромный, 25 строк на экране по 64 символа в строке, знакогенератор содержит символы псевдографики, что позволяет имитировать графический режим 128 × 50 точек<br />
* Блок питания: Напряжения +5В 1,2А, +12В 60мА (на контакт 28 процессора и для генератора тактовых импульсов), −5В 1мА (на контакт 11 процессора и для усилителя магнитофона)<br />
* Потребляемая мощность: не более 20 Вт<br />
* Масса без упаковки: не более 2,6 кг, масса блока питания: не более 1,5 кг, масса блока высокочастотного: 0,12 кг<br />
* Габаритные размеры компьютера без упаковки 430×240×75 мм, размеры блока питания: 230×110×85 мм, блока высокочастотного: 110×44×33 мм<br />
* Устройство вывода: бытовой телевизор через видеовход либо в антенный вход через отдельный блок модулятора<br />
* Клавиатура: 68 клавиш<br />
* Внешняя память: бытовой кассетный магнитофон<br />
* Порты:<br />
** Параллельный интерфейс<br />
** Магнитофон<br />
** Внутренний интерфейс<br />
** [[Световое перо]]<ref>pchistory.ru/desktop/pevm-personalnye-evm/pk-krista</ref><br />
<br />
== Отличия от Радио-86РК ==<br />
Несмотря на заявленную программную совместимость с Радио-86РК, ПК Криста имеет ряд аппаратных и программных отличий, из-за которых прямое использование ПО от Радио-86РК становится не всегда возможным, требуется адаптация:<br />
<br />
* Внутренние устройства имеют другие адреса.<br />
* Знакогенератор имеет вдвое больший размер, добавлен кириллический шрифт с прописными и строчными буквами (одновременное использование символов из двух наборов невозможно).<br />
* Добавлен таймер [[КР580ВИ53]] для генерации звука и других целей.<br />
* Скорость и формат ввода-вывода на магнитную ленту отличается.<br />
* Программа встроенного Монитора изменена с учётом вышеперечисленных отличий. Также в ней отсутствуют некоторые функции ввода-вывода, имевшиеся в РК.<br />
<br />
=== Распределение памяти ===<br />
{| class="wikitable"<br />
|-<br />
!Адрес<br />
!Устройства<br />
|-<br />
| F800h — FFFFh<br />
| ПЗУ Монитора / Прямой доступ (DMA) к видеопамяти<br />
|-<br />
| Е000h — F7FFh<br />
| Не используется<br />
|-<br />
| D800h — DFFFh<br />
| Регистры таймера ВИ53<br />
|-<br />
| D000h — D7FFh<br />
| Регистры видеоконтроллера ВГ75<br />
|-<br />
| C800h — CFFFh<br />
| Регистры контроллера параллельного интерфейса ВВ55<br />
|-<br />
| C000h — C7FFh<br />
| Регистры контроллера клавиатуры<br />
|-<br />
| 8000h — BFFFh<br />
| область адресов кассеты ПЗУ<br />
|-<br />
| 76D0h — 7FFFh<br />
| Экранная область ОЗУ (Видеопамять)<br />
|-<br />
| 7600h — 76CFh<br />
| Рабочие ячейки монитора<br />
|-<br />
| до 75FFh<br />
| ОЗУ<br />
|-<br />
|<br />
| область стека<br />
|-<br />
|<br />
| область рабочих ячеек Бейсика<br />
|-<br />
|<br />
| Программы на Бейсике<br />
|-<br />
| от 0000h<br />
| Интерпретатор языка Бейсик<br />
|}<br />
<br />
== Примечания ==<br />
<references/><br />
<br />
== Ссылки ==<br />
* [[w:Криста|Статья в Википедии]]<br />
<br />
[[Категория:Радио-86РК]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9A%D1%80%D0%B8%D1%81%D1%82%D0%B0&diff=3375Криста2023-06-04T13:55:21Z<p>Nzeemin: </p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''«Криста»''' — 8-разрядный советский домашний персональный компьютер на базе процессора [[КР580ВМ80А]], частично совместимый с домашним компьютером [[Радио-86РК]]. Разработан и выпускался на Муромском заводе радиоизмерительных приборов c 1986 года.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[КР580ВМ80А]]<br />
* ПЗУ Монитора: 2 Кбайт<br />
* ОЗУ: 32 Кбайт<br />
* Режим отображения: монохромный, 25 строк на экране по 64 символа в строке, знакогенератор содержит символы псевдографики, что позволяет имитировать графический режим 128 × 50 точек<br />
* Блок питания: Напряжения +5В 1,2А, +12В 60мА (на контакт 28 процессора и для генератора тактовых импульсов), −5В 1мА (на контакт 11 процессора и для усилителя магнитофона)<br />
* Потребляемая мощность: не более 20 Вт<br />
* Масса без упаковки: не более 2,6 кг, масса блока питания: не более 1,5 кг, масса блока высокочастотного: 0,12 кг<br />
* Габаритные размеры компьютера без упаковки 430×240×75 мм, размеры блока питания: 230×110×85 мм, блока высокочастотного: 110×44×33 мм<br />
* Устройство вывода: бытовой телевизор через видеовход либо в антенный вход через отдельный блок модулятора<br />
* Клавиатура: 68 клавиш<br />
* Внешняя память: бытовой кассетный магнитофон<br />
* Порты:<br />
** Параллельный интерфейс<br />
** Магнитофон<br />
** Внутренний интерфейс<br />
** [[Световое перо]]<ref>pchistory.ru/desktop/pevm-personalnye-evm/pk-krista</ref><br />
<br />
== Отличия от Радио-86РК ==<br />
Несмотря на заявленную программную совместимость с Радио-86РК, ПК Криста имеет ряд аппаратных и программных отличий, из-за которых прямое использование ПО от Радио-86РК становится не всегда возможным, требуется адаптация:<br />
<br />
* Внутренние устройства имеют другие адреса.<br />
* Знакогенератор имеет вдвое больший размер, добавлен кириллический шрифт с прописными и строчными буквами (одновременное использование символов из двух наборов невозможно).<br />
* Добавлен таймер [[КР580ВИ53]] для генерации звука и других целей.<br />
* Скорость и формат ввода-вывода на магнитную ленту отличается.<br />
* Программа встроенного Монитора изменена с учётом вышеперечисленных отличий. Также в ней отсутствуют некоторые функции ввода-вывода, имевшиеся в РК.<br />
<br />
== Примечания ==<br />
<references/><br />
<br />
== Ссылки ==<br />
* [[w:Криста|Статья в Википедии]]<br />
<br />
[[Категория:Радио-86РК]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A&diff=3374Категория:Радио-86РК2023-06-04T10:14:00Z<p>Nzeemin: Контент перенёс в статью Электроника КР</p>
<hr />
<div>[[Категория:Отечественные компьютеры]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9A%D0%A0&diff=3373Электроника КР2023-06-04T10:13:32Z<p>Nzeemin: Новая страница: «{{Википедия}} '''Электроника КР''' — серия радиоконструкторов (наборов для самостоятельно…»</p>
<hr />
<div>{{Википедия}}<br />
'''Электроника КР''' — серия радиоконструкторов (наборов для самостоятельной сборки), выпускавшихся в конце 1980-х — начале 1990-х годов, и позволявших радиолюбителю собрать самодельный домашний компьютер [https://en.wikipedia.org/wiki/Homebuilt_computer]. Буквы КР в названии означают «Компьютер Радиолюбителя». В серию входили радиоконструкторы «Электроника КР-01»… «Электроника КР-04» позволяющие собрать компьютер полностью или частично совместимый с популярным радиолюбительским компьютером [[Радио 86РК]]. Также в эту серию входил радиоконструктор «Электроника КР-05», позволяющий собрать клон игрового компьютера [[ZX-Spectrum]].<br />
<br />
Но наборы '''Электроника КР''', ввиду существенной сложности микропроцессорной техники, были по сути полуфабрикатами, так как содержали полностью готовую настроенную печатную плату и клавиатуру, а иногда блок питания и даже корпус. От радиолюбителя реально требовалось только воткнуть шлейф клавиатуры в разъём на плате и подпаять провода питания, что доступно и малокомпетентному человеку. Для столь сложных конструкций это было вполне разумно и позволило обзавестись самым дешёвым бытовым компьютером не только опытным радиолюбителям.<br />
<br />
Производители конструктора:<br />
* Ульяновский радиоламповый завод (УРЛЗ)<br />
* Завод «Электроприбор», г. Чебоксары<br />
* Завод «Копир», Марийская АССР, г. Козьмодемьянск<br />
<br />
== Модели ==<br />
<br />
=== КР-01 ===<br />
Клавиатура Электроники КР-01 была выполнена из отдельных клавиш, которые были смонтированы на металлической раме. В отличие от последующих моделей, матрица клавиш полностью соответствовала оригиналу «[[Радио-86РК]]», благодаря чему обеспечивалась совместимость со всеми программами для него. Но данная модель выпускалась недолго.<br />
<br />
=== КР-02 и КР-03 ===<br />
«Электроника КР-02» и «КР-03» представляли собой стандартный «[[Радио-86РК]]» с 2 Кб ПЗУ и 16 Кб оперативной памяти.<ref>{{Cite web |url=http://zx.pk.ru/showthread.php?t=9653 |title=zx.pk.ru — Радио-86РК: Навигация по клонам |access-date=2011-08-22 |archive-date=2022-01-13 |archive-url=https://web.archive.org/web/20220113110909/https://zx-pk.ru/threads/9653-radio-86rk-navigatsiya-po-klonam.html |deadlink=no }}</ref><br />
Печатная плата отличалась от платы [[Радио-86РК]] лишь установкой разъёмов для клавиатуры, в самой схеме компьютера изменений не было.<br />
<br />
В комплект входила печатная плата с компонентами, блок питания, блок клавиатуры «Электроника МС7007» (аналогичный используемому в компьютере [[УКНЦ]]). В комплект не входил корпус компьютера, однако было металлическое шасси, к которому крепились платы компьютера и блока питания, а также [[клавиатура]]. Клавиатура МС7007 подключалась по несовместимой схеме, что приводило к несовместимости с частью РК-игр. Для работы с этой клавиатурой код [[Постоянное запоминающее устройство|ПЗУ]] РК86 был изменён. Позднее в журнале «Радио» 12.1991 была опубликована совместимая схема подключения клавиатуры «Электроника МС7007», с которой можно было использовать игры с прямым чтением матрицы клавиш, что позволяло доработать эти конструкторы до полной совместимости.<br />
<br />
Конструктор «Электроника КР-03» производства завода «Копир» выпускался в варианте с 32 КБ оперативной памяти, в котором дополнительный банк памяти в 16 КБ монтировался вторым этажом (как и предусмотрено конструкцией «[[Радио-86РК]]»). При запуске такой компьютер выдавал приветствие: «КР-03-32К». В набор «Электроника КР-03М» входил и корпус, что избавляло радиолюбителя от утомительных слесарных работ.<br />
<br />
С набором мог поставляться либо внешний трансформаторный блок питания, либо небольшой импульсный для установки на шасси. В связи с тем, что подавляющее большинство РК-игр (более 90 %) существовало лишь в варианте на 32 Кб ОЗУ, многие владельцы «Электроники КР» с [[ОЗУ]] 16 Кб самостоятельно расширяли память до 32 Кб.<br />
<br />
=== КР-04 ===<br />
«Электроника КР-04» схемотехнически сильно отличается от всех РК-подобных компьютеров [https://ruecm.forum2x2.ru/t981-topic#14372]. В этом компьютере реализовано два видеорежима — чисто текстовый (с типовым включением БИС [[КР580ВГ75]], как во всех РК-подобных), так и чисто графический видеорежим основанный на нетрадиционном использовании видеоконтроллера [[КР580ВГ75]][https://ruecm.forum2x2.ru/t981-topic#14372].<br />
<br />
Это дало возможность программной загрузки [[Компьютерный шрифт|шрифтов]], число которых увеличено с одного (в РК86) до 16, для переключения которых задействованы все 4 атрибута [[КР580ВГ75]]. Это, например, позволяет режим блочно-матричной графики 192×102, вывод текстов в 8-ми битовой кодировке [[КОИ-8]] и рисование рамок и таблиц полноценной псевдографикой. ROM-BIOS при включении текстового режима позволяет выбрать размер ОЗУ 16 Кб или 32 Кб (что определяет положение экрана и рабочих ячеек ПЗУ).<br />
<br />
Благодаря уникальной схемотехнике, помимо стандартного монохромного текстового режима 64×25, введены два графических режима, в которых [[ОЗУ]] увеличено до 48 Кб. В первом графическом режиме компьютер реализует монохромную графику в формате 480×224 точек (где каждая из точек может быть индивидуально зажжена или погашена), при размере экранного буфера в 14 Кб. Второй режим даёт ([[CGA]]-подобную) цветную графику 240×224 в 4-х цветах. На основе этих графических режимов ROM-BIOS программно эмулирует текстовые режимы 40×25 4 цвета и 80×25 монохром. В обоих цветных режимах (текст 40×25 и 240×224) цвет задаётся на пиксель.<br />
<br />
В монохромных режимах можно задать цвет символов и фона на весь экран (что не делает монохромные режимы цветными), аналогично текстовым режимам [[CGA]]. Цвета для монохромных и 4-х цветных режимов выбираются из палитры в 64 цвета. Подобная идея нетрадиционного использования БИС [[КР580ВГ75]] для вывода графики реализована также в компьютере «Арго ФВ-6511»[https://ruecm.forum2x2.ru/t1060-topic].<br />
<br />
«Электроника КР-04» обладает плохой совместимостью с «Радио-86РК», большинство игр не годятся без переделки (так как с целью расширить ОЗУ до 64 Кб адреса БИС изменены). В текстовом режиме 64×25 совместимость обеспечивается лишь на уровне точек входа в ПЗУ, расположения и формата видеопамяти. Тем не менее адаптация РК-игр не сложна (требуется лишь коррекция адресов БИС, установка совместимых режимов видеоконтроллера и переделка подпрограммы опроса клавиатуры, логику работы самих программ менять не требуется). Также при адаптации игр нужно менять константы торможения, так как «Электроника КР-04» прогоняет программы более, чем в 1.5 раза быстрее, чем оригинальный РК86.<ref>{{Книга|автор=Ульяновский ордена "Знак почета" радиоламповый завод|заглавие=Радиоконструктор Электроника КР-04. Руководство по эксплуатации.|ссылка=http://alemorf.ru/comps/electronica_kr04/doc/Электроника_КР_04_Паспорт_и_схемы.djvu|ответственный=|издание=|место=|издательство=|год=1990|страницы=88|страниц=|isbn=|isbn2=}} {{Wayback|url=http://alemorf.ru/comps/electronica_kr04/doc/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9A%D0%A0_04_%D0%9F%D0%B0%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D1%81%D1%85%D0%B5%D0%BC%D1%8B.djvu |date=20180831211725 }}</ref><br />
<br />
Потенциал этого компьютера из-за слишком позднего появления не был реализован в программах. Хотя на сегодня сохранилось некоторое количество этих компьютеров, но у их владельцев практически нет программ. Частичная совместимость позволяет лишь использовать системные программы РК86 в маш.кодах (в частности редактор, ассемблер, отладчик) и РК-бейсик (что позволяет прогонять игры написанные на бейсике).<br />
<br />
Наличие одновременно и текстового адаптера и графического роднит данную модель с [[Корвет (компьютер)|Корветом]], в котором также есть и текстовый и графический адаптеры, но число микросхем в несколько раз больше.<br />
<br />
=== КР-05 ===<br />
Данное изделие не является РК86-совместимым компьютером (упоминается здесь, чтобы по аналогии не возникало иллюзии, что КР-05 имеет какое-то отношение к РК86). «Электроника КР-05» — это клон [[ZX Spectrum]]. Печатная плата копирует печатную плату разработки С.Зонова (1988), которую любители называют «Ленинград-1», но дополнительно на этой же плате смонтирована клавиатура.<br />
<br />
== О цене конструктора ==<br />
Предполагалось, что цена на конструктор будет составлять 295 рублей, однако после отказа в поставке ИМС типа 565РУ3А их заменили на К581РУ4А, а после снятия с производства кнопок ПК8-27 их заменили на клавиатуру МС7007. Это вынудило изготовителей поднять цену на конструктор до 395 рублей. Даже после этого его производство осталось убыточным, однако он по-прежнему являлся самым дешёвым из промышленных клонов «Радио-86РК», обладая при этом одной из наиболее качественных клавиатур в своём классе.<ref>[ftp://ftp.radio.ru/pub/arhiv/1989/05.djvu Резонанс, да не тот. 295 или 395? По поводу цены на радиоконструктор «Электроника КР-01» и некоторых смежных вопросов.]</ref><br />
<br />
== Примечания ==<br />
<references/><br />
<br />
== Ссылки ==<br />
* [http://old.h1.ru/xussr/ Мысли о мрачном. РК-86 и ему подобные]<br />
* [http://comp.disneyjazz.net/index.html?action=w_podrazdela&id_podrazdel=111&id_soderjanie=67 Фотографии Электроника КР-02]{{Недоступная ссылка|date=Январь 2020 |bot=InternetArchiveBot }}<br />
* [http://www.leningrad.su/museum/show_calc.php?n=275 Фотографии КР-03]<br />
<br />
[[Категория:Радио-86РК]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%AE%D0%A2-88&diff=3372ЮТ-882023-06-04T10:03:12Z<p>Nzeemin: </p>
<hr />
<div>{{Википедия}}<br />
'''«ЮТ-88»''' — самодельный 8-разрядный компьютер на основе процессора [[КР580ВМ80А]]. Схема и подробное описание компьютера была опубликована в журнале [[Левша (журнал)|«ЮТ для умелых рук»]] («Левша», приложение к журналу «[[Юный техник]]») в 1989 году, №№ 2-8.<br />
<br />
К моменту публикации уже существовало несколько подобных компьютеров: [[Микро-80]] (1983 год, [[Радио (журнал)|журнал «Радио»]]), [[Радио 86РК]] (1986, журнал «Радио»), [[Специалист (компьютер)|Специалист]] (1987, [[Моделист-конструктор (журнал)|журнал «Моделист-конструктор»]]). Целью публикации описания и схем «ЮТ-88» было дать возможность собрать компьютер начинающим радиолюбителям. Такой компьютер должен быть прост в сборке и наладке, не содержать дефицитных элементов, должен быть предоставлен способ собирать и отлаживать схему поэтапно.<br />
<br />
В минимальной конфигурации микро-ЭВМ состояла из блока питания, блока центрального процессора, блока памяти небольшого объёма, и блока интерфейса. Блок интерфейса содержал «дисплей» на шести семисегментных индикаторах и клавиатуру из 17-ти кнопок — для ввода 16-ричных цифр. Такая конфигурация обеспечивала возможности, сходные с возможностями программируемых микрокалькуляторов.<br />
<br />
В полной конфигурации к основному блоку добавлялся дисплейный модуль и дополнительный блок оперативной памяти. Дисплейный модуль предназначался для обеспечения возможности работы с бытовым [[телевизор]]ом в качестве устройства вывода символьной информации, а также для использования полноценной алфавитно-цифровой клавиатуры.<br />
<br />
<br />
== Технические характеристики ==<br />
<br />
Минимальная конфигурация:<br />
<br />
* Процессор: [[КР580ВМ80А]] (также мог применяться К580ИК80)<br />
* Память: [[ОЗУ]] — 1 [[килобайт|Кб]], [[ПЗУ]] — 1 Кб<br />
* Устройство вывода: дисплей на шести 7-сегментных индикаторах<br />
* Устройство ввода: 17-клавишная цифровая клавиатура<br />
* Внешняя память: бытовой [[магнитофон]]<br />
* Питание: блок питания от сети 220В, на выходе: +5В (до 1А), +12В и -5В<br />
<br />
Полная конфигурация:<br />
<br />
* Память: [[ОЗУ]] — 64 Кб, видео ОЗУ — 1 Кб, ПЗУ — 2 Кб<br />
* Устройство вывода: бытовой [[телевизор]], текстовый режим 64x28, размер символа 5x7<br />
* Устройство ввода: алфавитно-цифровая клавиатура, 59 клавиш<br />
<br />
== Программное обеспечение ==<br />
В [[ПЗУ]] компьютера была записана программа «Монитор», причём в двух вариантах:<br />
* «Монитор 0» (по адресам 0000h-03FFh — всего 1024 байт) предназначен для минимальной конфигурации компьютера, поддерживает работу индикатора и 17-клавишной клавиатуры. Этот «Монитор» поддерживает работу с магнитофоном, причём обеспечивается совместимость с [[Микро-80]].<br />
* «Монитор F» (в адресах F800h-FFFFh — 2048 байт) поддерживает работу дисплейного модуля и клавиатуры, содержит знакогенератор (совпадает со знакогенератором [[Микро-80]]). Режим работы с магнитофоном этого «Монитора» совместим с [[Радио 86РК]]. Кроме того, сохранялась совместимость с [[Радио 86РК]] по системным вызовам и по директивам (командам пользователя, набираемым с клавиатуры).<br />
Таким образом, программно «ЮТ-88» был частично совместим с [[Микро-80]], [[Радио 86РК]] и [[Специалист (компьютер)|Специалист]].<br />
<br />
Помимо программы «Монитор» в журнале «ЮТ для умелых рук» в виде шестнадцатеричных дампов были опубликованы:<br />
* Калькулятор (2 Кб в ПЗУ) — для минимальной конфигурации «ЮТ-88», позволяет работать с вещественными числами (3 байта на число), выполнять арифметические операции, вычислять тригонометрические, показательные и логарифмические функции<br />
* [[Операционная система]] ЮТ-88, содержащая программы Отладчик, Экранный редактор «Микрон» и Ассемблер<br />
* Операционная система [[CP/M]]<br />
<br />
== Публикации ==<br />
* [[ЮТ-88/Техническая информация|Техническая информация]]<br />
* [[ЮТ-88/ЮТ-УМ 02-89/Персональный компьютер ЮТ-88|Минимальный модуль микро-ЭВМ («ЮТ для умелых рук» №2, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 03-89/ЮТ-88 в роли калькулятора|Микро-ЭВМ калькулятор («ЮТ для умелых рук» №3, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 04,05-89/Дисплейный модуль|Дисплейный модуль («ЮТ для умелых рук» №4-5, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 06-89/Модуль дополнительного ОЗУ|Модуль памяти микро-ЭВМ («ЮТ для умелых рук» №6, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 06-89/Программатор ПЗУ|Модуль программатора микро-ЭВМ («ЮТ для умелых рук» №7, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 07-89/Отвечаем на вопросы|Ответы на вопросы («ЮТ для умелых рук» №8, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 01-90/Операционные системы|Операционные системы микро-ЭВМ («ЮТ для умелых рук» №1, 1990)]]<br />
<br />
== Ссылки ==<br />
* {{cite web | url=http://jtdigest.narod.ru/kollection/ut88/ut88.htm|title=Персональный компьютер ЮТ-88|accessdate=2007-10-10}}<br />
* {{cite web | url=http://retro.bip.ru/UT88/Index.html | title=ЮТ-88 | accessdate=2007-10-10}}<br />
* {{cite web | url=http://emu80.org/dev/dev_y.html|title=Информация по ПК «ЮТ-88» | accessdate=2007-10-10}}<br />
<br />
Эмуляторы:<br />
* [https://emu80.org/ Emu80 Виктора Пыхонина]<br />
* [http://www.emulator3000.org/rus-e3.htm Emulator3000]<br />
<br />
== Файлы ==<br />
* {{rom}} [http://www.emuverse.ru/downloads/computers/UT-88/firmware/Monitor0.rom Прошивка ПЗУ Монитор-0]<br />
* {{rom}} [http://www.emuverse.ru/downloads/computers/UT-88/firmware/MonitorF.rom Прошивка ПЗУ Монитор-F]<br />
* {{rom}} [http://www.emuverse.ru/downloads/computers/UT-88/firmware/Font.rom Прошивка ПЗУ знакогенератора]<br />
<br />
[[Категория:ЮТ-88]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%AE%D0%A2-88&diff=3371ЮТ-882023-06-04T10:01:32Z<p>Nzeemin: /* Ссылки */</p>
<hr />
<div>{{Википедия}}<br />
'''«ЮТ-88»''' — самодельный 8-разрядный [[компьютер]] на основе процессора [[КР580ВМ80А]]. Схема и подробное описание компьютера была опубликована в журнале [[Левша (журнал)|«ЮТ для умелых рук»]] («Левша», приложение к журналу «[[Юный техник]]») в [[1989]] году, №№ 2-8.<br />
<br />
К моменту публикации уже существовало несколько подобных компьютеров: [[Микро-80]] ([[1983]] год, [[Радио (журнал)|журнал «Радио»]]), [[Радио 86РК]] ([[1986]], журнал «Радио»), [[Специалист (компьютер)|Специалист]] ([[1987]], [[Моделист-конструктор (журнал)|журнал «Моделист-конструктор»]]). Целью публикации описания и схем «ЮТ-88» было дать возможность собрать компьютер начинающим радиолюбителям. Такой компьютер должен быть прост в сборке и наладке, не содержать дефицитных элементов, должен быть предоставлен способ собирать и отлаживать схему поэтапно.<br />
<br />
В минимальной конфигурации микро-ЭВМ состояла из блока питания, блока центрального процессора, блока памяти небольшого объёма, и блока интерфейса. Блок интерфейса содержал «дисплей» на шести семисегментных индикаторах и клавиатуру из 17-ти кнопок — для ввода 16-ричных цифр. Такая конфигурация обеспечивала возможности, сходные с возможностями программируемых микрокалькуляторов.<br />
<br />
В полной конфигурации к основному блоку добавлялся дисплейный модуль и дополнительный блок оперативной памяти. Дисплейный модуль предназначался для обеспечения возможности работы с бытовым [[телевизор]]ом в качестве устройства вывода символьной информации, а также для использования полноценной алфавитно-цифровой клавиатуры.<br />
<br />
<br />
== Технические характеристики ==<br />
<br />
Минимальная конфигурация:<br />
<br />
* Процессор: [[КР580ВМ80А]] (также мог применяться К580ИК80)<br />
* Память: [[ОЗУ]] — 1 [[килобайт|Кб]], [[ПЗУ]] — 1 Кб<br />
* Устройство вывода: дисплей на шести 7-сегментных индикаторах<br />
* Устройство ввода: 17-клавишная цифровая клавиатура<br />
* Внешняя память: бытовой [[магнитофон]]<br />
* Питание: блок питания от сети 220В, на выходе: +5В (до 1А), +12В и -5В<br />
<br />
Полная конфигурация:<br />
<br />
* Память: [[ОЗУ]] — 64 Кб, видео ОЗУ — 1 Кб, ПЗУ — 2 Кб<br />
* Устройство вывода: бытовой [[телевизор]], текстовый режим 64x28, размер символа 5x7<br />
* Устройство ввода: алфавитно-цифровая клавиатура, 59 клавиш<br />
<br />
== Программное обеспечение ==<br />
В [[ПЗУ]] компьютера была записана программа «Монитор», причём в двух вариантах:<br />
* «Монитор 0» (по адресам 0000h-03FFh — всего 1024 байт) предназначен для минимальной конфигурации компьютера, поддерживает работу индикатора и 17-клавишной клавиатуры. Этот «Монитор» поддерживает работу с магнитофоном, причём обеспечивается совместимость с [[Микро-80]].<br />
* «Монитор F» (в адресах F800h-FFFFh — 2048 байт) поддерживает работу дисплейного модуля и клавиатуры, содержит знакогенератор (совпадает со знакогенератором [[Микро-80]]). Режим работы с магнитофоном этого «Монитора» совместим с [[Радио 86РК]]. Кроме того, сохранялась совместимость с [[Радио 86РК]] по системным вызовам и по директивам (командам пользователя, набираемым с клавиатуры).<br />
Таким образом, программно «ЮТ-88» был частично совместим с [[Микро-80]], [[Радио 86РК]] и [[Специалист (компьютер)|Специалист]].<br />
<br />
Помимо программы «Монитор» в журнале «ЮТ для умелых рук» в виде шестнадцатеричных дампов были опубликованы:<br />
* Калькулятор (2 Кб в ПЗУ) — для минимальной конфигурации «ЮТ-88», позволяет работать с вещественными числами (3 байта на число), выполнять арифметические операции, вычислять тригонометрические, показательные и логарифмические функции<br />
* [[Операционная система]] ЮТ-88, содержащая программы Отладчик, Экранный редактор «Микрон» и Ассемблер<br />
* Операционная система [[CP/M]]<br />
<br />
== Публикации ==<br />
* [[ЮТ-88/Техническая информация|Техническая информация]]<br />
* [[ЮТ-88/ЮТ-УМ 02-89/Персональный компьютер ЮТ-88|Минимальный модуль микро-ЭВМ («ЮТ для умелых рук» №2, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 03-89/ЮТ-88 в роли калькулятора|Микро-ЭВМ калькулятор («ЮТ для умелых рук» №3, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 04,05-89/Дисплейный модуль|Дисплейный модуль («ЮТ для умелых рук» №4-5, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 06-89/Модуль дополнительного ОЗУ|Модуль памяти микро-ЭВМ («ЮТ для умелых рук» №6, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 06-89/Программатор ПЗУ|Модуль программатора микро-ЭВМ («ЮТ для умелых рук» №7, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 07-89/Отвечаем на вопросы|Ответы на вопросы («ЮТ для умелых рук» №8, 1989)]]<br />
* [[ЮТ-88/ЮТ-УМ 01-90/Операционные системы|Операционные системы микро-ЭВМ («ЮТ для умелых рук» №1, 1990)]]<br />
<br />
== Ссылки ==<br />
* {{cite web | url=http://jtdigest.narod.ru/kollection/ut88/ut88.htm|title=Персональный компьютер ЮТ-88|accessdate=2007-10-10}}<br />
* {{cite web | url=http://retro.bip.ru/UT88/Index.html | title=ЮТ-88 | accessdate=2007-10-10}}<br />
* {{cite web | url=http://emu80.org/dev/dev_y.html|title=Информация по ПК «ЮТ-88» | accessdate=2007-10-10}}<br />
<br />
Эмуляторы:<br />
* [https://emu80.org/ Emu80 Виктора Пыхонина]<br />
* [http://www.emulator3000.org/rus-e3.htm Emulator3000]<br />
<br />
== Файлы ==<br />
* {{rom}} [http://www.emuverse.ru/downloads/computers/UT-88/firmware/Monitor0.rom Прошивка ПЗУ Монитор-0]<br />
* {{rom}} [http://www.emuverse.ru/downloads/computers/UT-88/firmware/MonitorF.rom Прошивка ПЗУ Монитор-F]<br />
* {{rom}} [http://www.emuverse.ru/downloads/computers/UT-88/firmware/Font.rom Прошивка ПЗУ знакогенератора]<br />
<br />
[[Категория:ЮТ-88]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0&diff=3348Немига настройка2023-04-02T13:21:17Z<p>Nzeemin: Новая страница: «{{ДИ|Источник=Byteman}} == IPN.NEM == <pre> КОМПЛЕКС ВЫЧИСЛИТЕЛЬНЫЙ " НЕМИГА " Инстркукция п…»</p>
<hr />
<div>{{ДИ|Источник=Byteman}}<br />
<br />
== IPN.NEM ==<br />
<pre><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
КОМПЛЕКС ВЫЧИСЛИТЕЛЬНЫЙ " НЕМИГА "<br />
Инстркукция по настройке<br />
ЫД1.700.004 И1<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
1988<br />
�<br />
СОДЕРЖАНИЕ<br />
<br />
1. Краткие сведения об изделии................................<br />
2. Перечень параметров по которым проводится проверка.........<br />
3. Указание мер безопасности..................................<br />
4. Вспомогательные технические данные.........................<br />
5. Требования к рабочему месту................................<br />
6. Подготовка к работе........................................<br />
7. Методы настройки и проверки................................<br />
7.1. Общие сведения...................................<br />
7.2. Настройка модуля процессора ЫД6.120.107..........<br />
7.3. Настройка модуля ОЗУ ЫД6.120.108.................<br />
7.4. Настройка блока клавиатуры ЫД3.059.007...........<br />
7.5. Настройка модуля электронного ЫД2.087.024........<br />
7.6. Настройка модуля локальной сети Д6.120.109.......<br />
7.7. Настройка таймера ЫД3.056.003....................<br />
7.8. Настройка накопителя ЫД3.065.003.................<br />
7.9. Настройка блока сопряжения ЫД5.109.004...........<br />
7.10. Настройка блока первичного питания ЫД2.087.025..<br />
7.11. Настройка персонального компьютера...............<br />
7.12. Настройка КВ "НЕМИГА"...........................<br />
�<br />
Настоящая инструкция устанавливает порядок проведения <br />
настройки персонального компьютера (ПК) и комплекса <br />
вычислительного (КВ) "НЕМИГА" с целью получения параметров изделия <br />
в пределах допусков, обеспечивающих выполнение требований <br />
технических условий ЫД1.700.005 ТУ и ЫД1.700.004 ТУ.<br />
Инструкция предназначена для проведения настройки изделия <br />
при серийном производстве на предприятии-изготовителе.<br />
В настоящей инструкции приняты условные обозначения, <br />
приведенные в таблице 1.<br />
Таблица 1.<br />
-----------------------------------------------------------------<br />
Сокращение, условное Полное наименование<br />
обозначение<br />
-----------------------------------------------------------------<br />
АК Адаптер канала<br />
АЛС Адаптер локальной сети<br />
АЛУ Арифметико-логическое устройство<br />
АКК Аккумулятор<br />
Б Признак байтовой операции<br />
Байт Вывод байта<br />
БИС Интегральная микросхема большой<br />
степени интеграции<br />
В Буква В, стоящая после наименования<br />
сигнала, означает высокий уровень<br />
сигнала<br />
Ввод Ввод данных<br />
ВК Выбор кристала<br />
ВУ Внешнее устройство<br />
ВКУ Видеоконтрольное устройство<br />
Вывод Вывод данных<br />
Да Линия адреса данных<br />
�<br />
Продолжение таблицы 1.<br />
-----------------------------------------------------------------<br />
Сокращение, условное Полное наименование<br />
обозначение<br />
-----------------------------------------------------------------<br />
ЗПР Запрос прерывания<br />
ЗУ Запоминающее устройство<br />
К Буква К, стоящая перед <br />
наименованием сигнала, указывает на <br />
принадлежность данного сигнала каналу<br />
КОП Код операции<br />
ЛС Локальная сеть<br />
Н Буква Н, стоящая после наименования <br />
сигнала, указывает на низкий <br />
уровень данного сигнала.<br />
НГМД Накопитель на гибких магнитных<br />
дисках<br />
МД Магистраль данных<br />
МПП Магистральный приемо-передатчик<br />
ОЗУ Оперативное запоминающее устройство<br />
ОСТ Останов<br />
ПЗУ Постоянное запоминающее устройство<br />
ПК Персональный компьютер<br />
РОН Регистр общего назначения<br />
РС Регистр состояния<br />
РПР Разрешение прерывания<br />
РМУ Рабочее место ученика<br />
РМП Рабочее место преподавателя<br />
СИА Сигнал синхронизации активного <br />
устройства<br />
�<br />
Продолжение таблицы 1.<br />
-----------------------------------------------------------------<br />
Сокращение, условное Полное наименование<br />
обозначение<br />
-----------------------------------------------------------------<br />
СИП Сигнал синхронизации пассивного<br />
устройства<br />
ССП Слово состояния процессора<br />
СК Счетчик команд<br />
ТПР Требование прерывания<br />
УС Указатель стека<br />
УП Управляющая память<br />
<br />
�<br />
1. КРАТКИЕ СВЕДЕНИЯ ОБ ИЗДЕЛИИ.<br />
<br />
ПК, как рабочее место ученика (РМУ) предназначен для <br />
решения профессиональных, вычислительных, деловых и игровых задач, <br />
обучения основам программирования, выполнения прикладных программ<br />
пользователя, изучения информатики и вычислительной техники. На <br />
основе РМУ строится учебная локальная сеть, допускающая "ДИАЛОГ" <br />
между учеником и преподавателем и расширяющая возможность РМУ за <br />
счет подключения внешних периферийных устройств.<br />
РМУ конструктивно выполнено в виде 3-х законченных блоков: <br />
видеомонитор "Электроника МС6105.01";<br />
блок системный ЫД2.068.011;<br />
блок клавиатуры ЫД3.059.007.<br />
Видеомонитор "Электроника МС6105.01" покупной и настройке <br />
на предприятии-изготовителе РМУ не подлежит.<br />
Блок системный состоит из следующих функциональных узлов, <br />
подлежащих самостоятельной настройке:<br />
Блок питания (модуль электронный 2МБ5 ЫД2.087.024 - 1 шт.,<br />
2МБ12 ЫД2.087.024-01 - 2 шт.);<br />
Модуль ОЗУ ЫД6.120.108; Модуль процессора ЫД6.120.107;<br />
Модуль локальной сети ЫД6.120.109; Таймер ЫД3.056.006;<br />
Блок клавиатуры состоит из платы управления клавиатурой, <br />
подлежащей настройке и платы мембранных клавиатур.<br />
В состав РМП входит, кроме того, накопитель НГМД-1, <br />
состоящий из двух дисководов и контроллера НГМД-1 ЫД5.109.005, <br />
подлежащего настройке, блока сопряжения ЫД5.109.004, подлежащего <br />
настройке и покупным цифровым печатаюющим устройством (ЦПУ).<br />
КВ "НЕМИГА" состоит из РМП, 12 РМУ, объединенных в <br />
локальную сеть и блок первичного питания БПП-1 для питания <br />
компьютеров напряжением +27 В.<br />
�<br />
2. ПЕРЕЧЕНЬ ПАРАМЕТРОВ, ПО КОТОРЫМ <br />
ПРОИЗВОДИТСЯ НАСТРОЙКА.<br />
<br />
Настройка и проверка производится по параметрам, <br />
приведенным в разделах 1 ЫД1.700.005 ТУ, ЫД1.700.004 ТУ.<br />
<br />
�<br />
3. УКАЗАНИЕ МЕР БЕЗОПАСНОСТИ<br />
<br />
3.1. При настройке необходимо выполнять следующие правила: <br />
к настройке допускаются лица, прошедшие инструктаж по <br />
технике безопасности и имеющие допуск к работе с напряжением до <br />
1000 В;<br />
в блоке системном и блоке клавиатуры нет напряжений более <br />
42 В. В ВКУ "Электроника МС6105" имеется постоянное напряжение до <br />
13 кВ. Ремонтировать ВКУ могут лица, имеющие допуск к работе с <br />
напряжением свыше 1000 В;<br />
контрольно-измерительную аппаратуру (КИА), используемую <br />
при настройке, следует заземлить через соответствущие зажимы <br />
защитного заземления.<br />
<br />
3.2. Электропитание ПК осуществляется через блок системный <br />
от сети +27 В.<br />
<br />
3.3. Электропитание КВ "НЕМИГА" осуществляется блоком<br />
первичного питания БПП-1 от сети переменного тока напряжением <br />
220 В частотой 50 Гц. Выходное напряжение БПП-1 составляет +27 В. <br />
Настройка и ремонт БПП-1 могут осуществлять лица, имеющие <br />
допуск к работе с напряжением до 1000 В.<br />
�<br />
4. ВСПОМОГАТЕЛЬНЫЕ ТЕХНИЧЕСКИЕ ДАННЫЕ.<br />
<br />
4.1. Перед настройкой РМУ следует ознакомиться: с <br />
техническим описанием и инструкцией по эксплуатации ЫД1.700.005 ТО,<br />
с техническими условиями ЫД1.700.005 ТУ, ЫД1.700.004ТУ, с <br />
электромонтажными и сборочными чертежами.<br />
4.2. Для настройки и проверки РМУ на соответствие пунктам <br />
технических условий необходимо использовать КИА, указанную в <br />
табл.2.<br />
Таблица 2.<br />
-----------------------------------------------------------------<br />
Наименование | Тип СИК | Используемые |Требуе- |К-во| Приме-<br />
СИК | | параметры |мая пог-| |чание<br />
| | |решность| |<br />
| | |измере- ! |<br />
| | |ний | |<br />
-----------------------------------------------------------------<br />
Вольтметр |В7-40 |Сопротивление пос-| | 1 |<br />
цифровой | |тоянному току: | | |<br />
| |1 Ом - 2 МОм |+ 5% | |<br />
| |Напряжение посто- | | |<br />
| |янного тока: | | |<br />
| |0,1 - 100 В |+ 2,5% | |<br />
Генератор |Г5-88 |Период повторения:| | 1 |<br />
импульсов | |10 - 10 мсек |+ 20% | |<br />
| |Длительность им- | | |<br />
| |пульса 20-200 мсек|+ 20% | |<br />
| |Амплитуда импульса| | |<br />
| | 5 B |+ 20% | |<br />
Программатор |833 |Объем внутренней | | 1 |<br />
| |памяти 2 кБайт | | |<br />
�<br />
Продолжение таблицы 2.<br />
-----------------------------------------------------------------<br />
Наименование | Тип СИК | Используемые |Требуе- |К-во| Приме-<br />
СИК | | параметры |мая пог-| |чание<br />
| | |решность| |<br />
| | |измере- ! |<br />
| | |ний | |<br />
-----------------------------------------------------------------<br />
Осциллограф |C1-97 |Коэффициент откло-| | 1 |<br />
| |нения 100мВ/дел |+ 20% | |<br />
|(C1-117) |Полоса пропускания| | |<br />
| |10 МГц | | |<br />
Осциллограф |C1-65A |Коэффициент откло-| | 1 |<br />
| |нения 1В/дел |+ 20% | |<br />
| |Полоса пропускания| | |<br />
| |10 МГц | | |<br />
Источник |B5-66 |Выходное | | 1 |<br />
питания | |напряжение 30 В |+ 3% | |<br />
| |Выходной ток 2 А |+ 10% | |<br />
Милливольтметр|B3-48 |Диапазон измеряе- | | 1 |ИП5<br />
| |мых напряжений | | |<br />
| |50-300 мВ |+ 2% | |<br />
Вольтметр |M2018 |Диапазон измеряе- | | 4 |ИП1-ИП4<br />
| |мых напряжений | | |<br />
| |1-30 В |+ 10% | |<br />
| |Диапазон измеряе- | | |<br />
| |мых токов 0,1-2 А |+ 10% | |<br />
Реостат |РСП-2УЗ |Сопротивление |7,5 Ом | 1 |для <br />
| | | | |2МБ5<br />
Реостат |РСП-2УЗ |Сопротивление |20 Ом | 1 |для <br />
| | | | |2МБ12<br />
� <br />
Примечания: 1. При настройке допускается использование <br />
другой аппаратуры, обеспечивающей <br />
необходимую точность измерений.<br />
<br />
2. Вся КИА, используемая при настройке, <br />
должна быть проверена в соответствии с <br />
требованиями ГОСТ 8.513-84.<br />
3. Для предотвращения выхода из строя<br />
полупроводниковых приборов при проверке <br />
монтажа использовать омметр с <br />
измерительным напряжением не более 1,5 В.<br />
<br />
Для настройки составных частей РМУ и РМП используется <br />
технологическое рабочее место, накопитель НГМД-1 и тестовые <br />
программы для проверки технических характеристик блока, компьютера <br />
и КВ "НЕМИГА", а также стенд резистивных нагрузок для настройки <br />
источников питания.<br />
�<br />
5. ТРЕБОВАНИЯ К РАБОЧЕМУ МЕСТУ.<br />
<br />
5.1. Настройка ПК и проверка его характеристик должны <br />
проводиться в нормальных условиях:<br />
температура воздуха, С(К) 20+5 (293+5);<br />
относительная влажность воздуха, % 65+15;<br />
атмосферное давление, кПа(мм.рт.ст.) 100+4(750+30).<br />
Примечание. Допускается настройка и проверка характеристик <br />
в условиях реально существующих в цехе, лаборатории и <br />
отличающихся от нормальных, если они не выходят за пределы <br />
рабочих условий, установленных в ТУ на ПК и КИА, <br />
применяемую при настройке.<br />
<br />
5.2. К рабочему месту должна быть подведена сеть <br />
переменного тока (220+22)В частотой (50+0,5)Гц для питания средств <br />
измерения и контроля. Питание блока системного и накопителя <br />
осуществляется от источника +27 В.<br />
<br />
5.3. Для настройки КВ "НЕМИГА" требуется разместить на <br />
стеллажах БПП-1, все РМУ и РМП.<br />
�<br />
6. ПОДГОТОВКА К РАБОТЕ<br />
<br />
6.1. До проведения настройки необходимо проверить:<br />
наличие в сопроводительной документации отметки ОТК о <br />
приемке предшествующих настройке операций изготовления составных <br />
частей;<br />
наличие документов и приборов, указанных в разделе 4;<br />
наличие свидетельств по проверке срока годности КИА;<br />
работоспособность КИА;<br />
наличие предохранителей и надежность заземления.<br />
<br />
6.2. Перед настройкой следует установить на рабочем месте <br />
необходимые измерительные приборы и проверить их <br />
работоспособность.<br />
�<br />
7. МЕТОДЫ НАСТРОЙКИ И ПРОВЕРКИ<br />
<br />
7.1. Общие сведения.<br />
<br />
7.1.1. Настройка ПК включает следующие операции:<br />
настройка модуля процессора ЫД6.120.107;<br />
настройка модуля ОЗУ ЫД6.120.108;<br />
настройка модуля локальной сети ЫД6.120.109;<br />
настройка модулей электронных 2МБ5 и 2МБ12 ЫД2.087.024 и <br />
ЫД2.087.024-01;<br />
настройка таймера ЫД3.056.006;<br />
настройка платы управления клавиатурой ЫД6.120.112;<br />
настройка блока клавиатуры ЫД3.059.007;<br />
настройка контроллера НГМД-1 ЫД5.109.005;<br />
настройка устройства сопряжения ЫД5.109.004.<br />
<br />
7.1.2. Перед настройкой узлов и ПК произведите прозвонку их <br />
на автоматизированных системах или визуально убедитесь в <br />
отсутствии обрывов или замыкания между проводниками проверяемого <br />
узла и произведите проверку правильности монтажа по <br />
электромонтажной и принципиальной схеме.<br />
<br />
7.1.3. Настройка НГМД ЫД3.065.003 заключается в настройке <br />
контроллера НГМД-1 ЫД5.109.005 и проверке совместимости <br />
дисководов.<br />
<br />
7.1.4. Настройка устройства сопряжения ЫД5.109.004 <br />
осуществляется совместно с ЦПУ.<br />
<br />
7.1.5. БПП-1 ЫД2.087.025 настраивается на отдельном <br />
рабочем месте.<br />
�<br />
7.2. Настройка модуля процессора ЫД6.120.107.<br />
<br />
7.2.1. Соберите стенд проверки режима начального пуска <br />
модуля процессора согласно рис.1.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис. 1. Схема проверки режима начального пуска модуля <br />
процессора.<br />
�<br />
Установите органами управления генератора следущие <br />
характеристики выходной последовательности импульсов:<br />
частота повторения, Н -8х10<br />
временный сдвиг, s - 0<br />
длительность, s - 3x10<br />
амплитуда, В - 5<br />
полярность сигнала - _П_<br />
7.2.2. Вставьте плату с отсоединенным положительным <br />
выводом С2 в контейнер (нижний разъем) стенда. Выньте из <br />
контейнера модуль ОЗУ и модуль локальной сети. Вставьте в<br />
разъем МПИ формирователь. Подключите короткозамыкателем на <br />
формирователе сигнал КСИПН.<br />
Включите стенд, генератор, осциллограф.<br />
ВНИМАНИЕ!<br />
Во избежание перехода микросхем серии КР588 в режим <br />
"ЗАЩЕЛКИВАНИЯ" и выделения ими тепловой энергии, при длительном <br />
воздействии которой микросхема переходит в нерабочее состояние, <br />
следует соблюдать последовательность подачи и снятия запускающего <br />
сигнала от генератора:<br />
1) подается сигнал после подачи питания на плату;<br />
2) снимается сигнал до отключения питания.<br />
Недопустимо также вставлять и вынимать платы при включенном <br />
питании стенда.<br />
Проверьте наличие напряжения +5В и 0В на шинах питания.<br />
7.2.3. Порядок запуска схемы процессора, который <br />
необходимо проверить при наладке, следующий:<br />
1) По запускающему импульсу формируются 2 сигнала сброса <br />
R0 и R1, поступающие на все БИС УП.<br />
2) По этим сигналам включаются в работу две БИС УП D5 и D6.<br />
3) Микрокоманды, формируемые БИС D5 служат для выдачи из <br />
БИС АЛУ (D1) адресов ячеек памяти при записи и чтении данных при <br />
записи, а также для приема данных в АЛУ при чтении,<br />
�<br />
а микрокоманды, формируемые БИС D6, служат для <br />
выработки сигналов управления, формируемых БИС системного <br />
контроллера (D18).<br />
4) Микрокоманды БИС УП D5 и D6 формируются асинхронно <br />
(независимо друг от друга) и для их синхронизации служат сигналы <br />
квитирования, вырабатываемые БИС D1 и D18. При этом передача <br />
адреса и данных сопровождается сигналом КВ1, а прием команды <br />
сопровождается сигналами КВ2 и КВ3. При наличии прерывания сигнал <br />
КВ2 не вырабатывается.<br />
5) Последовательность сигналов при чтении данных <br />
следующая:<br />
а) БИС УП D5 и D6 выдают микрокоманды: "выдача данных из <br />
АЛУ в канал" и "чтение данных" соответственно.<br />
б) На выходе D0-D15 АЛУ появляется адрес ячейки памяти, а <br />
на выводе 32 - сигнал КВ1.<br />
в) Получив сигнал КВ1 БИС D18 формирует сигнал ОБМ <br />
(выв. 24) и выдает сигнал КП (выв. 12).<br />
г) Получив сигнал КП БИС D1 снимает сигнал КВ1 и данные с <br />
шины, а по снятию сигнала КВ1 БИС D18 снимает сигнал КП.<br />
д) БИС УП D5 выдает на АЛУ микрокоманду "прием данных из <br />
канала в АЛУ".<br />
е) БИС D18 с задержкой порядка 200 нс после сигнала ОБМ <br />
выдает сигнал ДЧТ (выв. 25) и ожидает прихода сигнала ОТВ (выв. 27).<br />
ж) Получив сигнал ОТВ БИС D18 выдает сигнал КВ1 (выв. 9) и <br />
снимает сигнал ДЧТ.<br />
з) Получив сигнал КВ1 БИС АЛУ принимает данные из канала и <br />
выдает сигнал КП (выв. 33).<br />
и) Получив сигнал КП БИС D18 снимает сигнал КВ1, а по <br />
снятию сигнала КВ1 БИС D1 снимает сигнал КП.<br />
к) При выдаче сигнала ДЧТ БИС D18 переключает МПП на прием <br />
(выв. 40 и 41)<br />
�<br />
л) После снятия сигнала ДЧТ снимается сигнал ОТВ, а по <br />
снитию сигнала ОТВ БИС D18 снимает сигнал ОБМ;<br />
м) На этом заканчивается выполнение БИС D18 микрокоманды <br />
"чтение данных" и всего цикла чтения данных.<br />
<br />
6) Последовательность сигналов при чтении команды <br />
аналогична сигналам при чтении данных, за некоторым исключением:<br />
а) БИС УП D5 и D6 выдают микрокоманды "выдача данных из <br />
АЛУ в канал" и "чтение команды" соответственно.<br />
б), в) и г) совпадают.<br />
д) не выполняется.<br />
е) совпадает.<br />
ж) Получив сигнал ОТВ БИС D18 выдает сигналы КВ2 и КВ3 <br />
(выв. 10 и 11) и снимает сигнал ДЧТ.<br />
з) Получив сигнал КВ2 и КВ3 БИС УП распознавшая свой код <br />
команды выдает сигнал КП (выв. 40) и КК (выв.38).<br />
и) Получив сигнал КП БИС D18 снимает сигналы КВ2 и КВ3, а <br />
по снятию сигнала КВ2 или КВ3 соответствующая БИС УП снимает <br />
сигнал КП .<br />
к) и л) совпадают.<br />
м) На этом заканчивается выполнение БИС D18 микрокоманды <br />
"чтение команды" и всего цикла чтения команды.<br />
<br />
7) Последовательность сигналов при записи совпадает с <br />
сигналами при чтении данных за следующим исключением:<br />
а) БИС УП D5 и D6 выдают микрокоманды "выдача данных из <br />
АЛУ в канал" и "запись данных" соответственно;<br />
б),в) и г) совпадают.<br />
д) БИС УП D5 выдает на АЛУ микрокоманду "выдача данных из <br />
АЛУ в канал", на выходе D0-D15 АЛУ появляются данные для записи, а <br />
на выводе 32 - сигнал КВ1.<br />
�<br />
е) БИС D18, получив сигнал КВ1, выдает сигнал ДВП (выв. 26)<br />
и ожидает прихода сигнала ОТВ (выв. 27).<br />
ж) Получив сигнал ОТВ, БИС D18 выдает сигнал КП (выв. 12) <br />
и снимает сигнал ДЗП (выв.26).<br />
з) Получив сигнал КП, БИС АЛУ снимает сигнал КВ1.<br />
и) После снятия сигнала КВ1 БИС D18 снимает сигнал КП.<br />
к) не выполняется.<br />
л) После снятия сигнала ДЗП снимается сигнал ОТВ, а по <br />
снятию сигнала ОТВ БИС D18 снимает сигнал ОБМ.<br />
м) На этом заканчивается выполнение БИС D18 микрокоманды <br />
"запись данных" и всего цикла записи данных.<br />
<br />
8) В начале запуска выполняется 2 цикла чтения данных по <br />
адресам 24 и 26, при этом читаются всегда нули, т. к. вместо ОЗУ<br />
стоит формирователь.<br />
<br />
9) Затем выполняется цикл чтения команды по адресу 0. При <br />
этом на входе ОСТ БИС D18 (выв. 36) будет низкий уровень, <br />
установившийся по сигналу СБРОС (выв. 22).<br />
10) Из нулевой ячейки прочитан код команды HALT ( нулевой<br />
код ) и на входе ОСТ имеется запрос на прерывание HALT. Обработка<br />
этих ситуаций аналогичная, но приоритет имеет прерывание HALT, <br />
поэтому производится его обработка.<br />
11) Выполняются два цикла записи в память по адресу из <br />
указателя стека ( адрес может изменяться ). <br />
12) Выполняются два цикла чтения данных по адресам 160002 <br />
и 160004, при этом по адресу 160002 читается адрес первой команды <br />
(160210), а по адресу 160004 читается ССП (340).<br />
13) Выполняется цикл чтения команды по адресу 160210.<br />
14) Выполняется команда СМР #56310,@#177776. При этом <br />
производится чтение первого операнда по адресу 160212, адреса <br />
�<br />
второго операнда по адресу 160214 и второго операнда по адресу <br />
177776.<br />
15) Т.к. к разъему МПИ подключен формирователь, то при <br />
обращении по адресу 177776 ( область ВУ ) не формируется сигнал <br />
ОТВ, БИС D18 формирует код прерывания "ошибка канала" ( выв. 4-7 ) <br />
и начинается обработка этого прерывания.<br />
16) Выполняются два цикла записи в память по адресу из <br />
указателя стека. <br />
17) Выполняются два цикла чтения данных по адресам 4 и 6, <br />
при этом должны читаться нули.<br />
18) Выполняется цикл чтения команды по адресу 0. <br />
19) Из нулевой ячейки читается код команды HALT (нулевой <br />
код ) и начинается обработка команды HALT.<br />
20) Далее повторяются пункты 11)...19).<br />
<br />
7.2.4. Проверьте на выводах 39 (R0) и 37 (R1) БИС УП <br />
D2..D6 (см. рис.2) наличие сигналов начального пуска <br />
длительностью не менее 500 нс. Импульс начального пуска на выводе <br />
39 (R0) должен заканчиваться позже на минимум 250 нс по <br />
сравнению с импульсом на выводе 37 (R1).<br />
<br />
7.2.5. Проверьте наличие сигналов ОБМ, ДЧТ, ДЗП, ОТВ, С1, <br />
С2, СБРОС, РВ, КВ1, КВ2, КВ3, КП в соответствии с рис.2. Просмотр <br />
данных сигналов проводите относительно сигнала ОБМ (выв. 12 D25). <br />
При отсутствии какого-либо из сигналов произведите проверку <br />
последовательно по всей цепи прохождения сигналов на обрыв цепи,<br />
короткое замыкание функционирование отдельных элементов цепи.<br />
Сигналы ОБМ, ДЧТ, ДЗП просматриваются на контактах <br />
микросхемы D25 (выв. 12, 4, 10 соответственно), сигналы С1 и С2 на <br />
выводах 27 и 26 микросхем D21 и D24, сигнал СБРОС на контакте 2ОС <br />
раз'ема XSI.2, сигнал выбора ПЗУ (РВ) на выводах 18 микросхем D9 <br />
�<br />
и D10, сигнал ОТВ на выводе 27 микросхемы D18, сигналы <br />
квитирования КВ1, КВ2 и КВ3, КП на выводах 9, 10, 11, 12 <br />
микросхемы D18. Проверьте также наличие сигналов ОБМ, ДЧТ, ОТВ <br />
на выводах микросхемы D15, сигналы ОБМ, ДЧТ ОТВ, ДЗП на D19.<br />
<br />
7.2.6. Проверьте правильность передачи адресов 24, 26 <br />
160002, 160004, 160210, 160214, 160216 в канал, эти адреса на <br />
шине АД формирует БИС АЛУ (D1), а также правильность чтения <br />
данных из ПЗУ 32737, 56310 и 177776.<br />
Проверку правильности передачи адресов проводите <br />
относительно первого отрицательного перепада сигнала ОБМ, а данных <br />
относительно сигнала ОТВ. <br />
Уровни сигналов на выводах микросхем (положительная логика) D1-D6 <br />
приведены в табл.3.<br />
�<br />
Таблица 3<br />
-----------------------------------------------------------------<br />
!Номер!Адрес ! Уровни сигналов на выводах D1 - D6 !<br />
!имп. ! ! !<br />
!сигн.! !-----------------------------------------------!<br />
!ОБМ ! Данные! 5! 6! 7! 8! 9!10!11!12!13!14!15!16!17!18!19!20!<br />
!---------------!-----------------------------------------------!<br />
! 1 ! 24 ! 0! 0! 1! 0! 1! 0! ! ! ! ! ! ! ! ! ! !<br />
!---------------!-----------------------------------------------!<br />
! 2 ! 26 ! 0! 1! 1! 0! 1! 0! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 3 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 4 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 5 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 6 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 7 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 8 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 9 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
! 10 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !<br />
-----------------------------------------------------------------<br />
�<br />
Проверьте наличие адресов на выводах 6-13 <br />
магистральных приемо-передатчиков (МПП) D21 и D24, которые <br />
передают адреса в канал с инверсией.<br />
По третьему отрицательному перепаду сигнала ОБМ на МПП <br />
должны передаваться сигналы нулевого уровня. Произведите проверку <br />
уровней сигналов на выводах 5-20 микросхем D1-D6 относительно <br />
сигнала ОТВ. Уровни сигналов должны быть низкими.<br />
<br />
7.2.7. При передаче адреса/данных в канал микросхема D22 <br />
(выв.12) формирует низкий уровень, разрешающий работу микросхем <br />
D21, D24. Выставив адрес 24 БИС АЛУ дает сигнал В (выв.32) <br />
низкого уровня, который является сигналом квитирования КВ1 для БИС <br />
системного контроллера (выв.09 D18).<br />
Получив сигнал КВ1 микросхема D18 формирует сигналы ОБМ, <br />
ДЧТ. Сигнал ДЧТ задержан по отношению к ОБМ на 200-250 нс. <br />
Сигналы ОБМ, ДЧТ передаются через буферные элементы микросхемы <br />
D25 как КСИАН (XSI.2 конт.21С) и КВВОДН (XSI.2 конт.19С).<br />
Проверьте наличие этих сигналов. Одновременно с сигналом <br />
ДЧТ БИС системного контроллера переключает МПП на прием данных.<br />
Проверьте наличие высокого уровня на следующих входах БИС <br />
системного контроллера D18: ЗПРО-ЗПР3 (выв.31-34), АИП (выв.30),ПРТ <br />
(выв.35). Проверьте наличие низкого уровня на выв.36 D18, <br />
сформированный сигналом СБРОС (выв.22 D18), который переходит в <br />
высокий уровень после третьего сигнала ОБМ по сигналу подтверждения<br />
прерывания (выв.28 D6).<br />
�<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.2 Временные диаграммы режима начального пуска <br />
�<br />
Сформированый в формирователе сигнал КСИПН поступает <br />
через элементы микросхем D39 и D40 на вход ОТВ (выв.27) <br />
системного контроллера D18, который через 200-300 нс формирует <br />
сигнал КВ1 (см. рис.2), по которому содержимое ячейки 24 <br />
записывается в БИС АЛУ. Поскольку к каналу плата памяти не <br />
подключена, следовательно, по адресу 24 и остальным до 157776 <br />
процессорное ядро будет читать все нули. На этот сигнал БИС АЛУ <br />
D1 отвечает сигналом П, который поступает на вывод КП БИС <br />
системного контроллера (выв.12 D18).<br />
Возможные причины неправильного ввода адресов 24 и 26;<br />
обрыв или КЗ на магистрали данных/адреса;<br />
неправильная работа магистрального приемо-передатчика.<br />
При поиске КЗ или обрыва необходимо учитывать, что <br />
магистраль данных адреса (внутренний канал процессорного ядра)<br />
подается на все БИС УП, БИС селектор адреса D19, БИС <br />
арифметического расширителя D17, БИС регистра адреса пультового <br />
ПЗУ D7, D8, БИС МПП, БИС АЛУ, выходной регистр НАLТ-монитора D27, <br />
D28.<br />
Проверьте, нет ли КЗ и обрывов в сигналах Р и Т для БИС <br />
системного контроллера (выв.01, 02 D18), по этим входам <br />
записываются Р и Т биты в ССП процессора.<br />
Проверку сигналов, подаваемых на ПЗУ (D9, D10), следует <br />
производить непосредственно на контактах этих микросхем. Уровни <br />
сигналов на ПЗУ относительно 6, 7, 8, 9 и 10 импульсов сигнала <br />
ОБМ приведены в табл.4.<br />
�<br />
Таблица 4<br />
----------------------------------------------------------------<br />
! ! Уровни сигналов на выводах D9 и D10 !<br />
! !------+------+------+------+------+------!<br />
! ! 8 ! 7 !1...6 ! 23 ! 22 ! 19 !<br />
!--------------------+------+------+------+------+------+------!<br />
!Относительно 6-го ! 1 ! 0 ! 0 ! 0 ! 0 ! 0 !<br />
!импульса сигнала ОБМ! ! ! ! ! ! !<br />
!--------------------+------+------+------+------+------+------!<br />
!Относительно 7-го ! 0 ! 1 ! 0 ! 0 ! 0 ! 0 !<br />
!импульса сигнала ОБМ! ! ! ! ! ! !<br />
----------------------------------------------------------------<br />
Произведите проверку сигналов, подаваемых с ПЗУ <br />
относительно 6, 7, 8, 9 и 10 импульсов сигнала ОТВ. Уровни <br />
сигналов приведены в табл.5<br />
Таблица 5<br />
-----------------------------------------------------------------<br />
Уровни сигналов | Номера выводов микросхем<br />
|-----------------------------------------------<br />
| D10 | D9<br />
|-----------------------------------------------<br />
|17 16 15 14 13 11 10 9 |17 16 15 14 13 11 10 9<br />
-----------------|-----------------------------------------------<br />
Относительно 6-го| |<br />
имп. сигнала ОТВ | 1 1 1 0 0 0 0 0 | 1 0 1 1 0 1 0 0<br />
-----------------|-----------------------------------------------<br />
Относительно 7-го| |<br />
имп. сигнала ОТВ | 0 0 0 0 0 0 0 0 | 1 1 1 0 0 0 0 1<br />
-----------------|-----------------------------------------------<br />
Относительно 8-го| |<br />
имп. сигнала ОТВ | 0 0 1 0 0 1 0 1 | 1 1 0 1 1 1 1 1<br />
-----------------|-----------------------------------------------<br />
</pre><br />
<br />
== IPN1.NEM ==<br />
<pre><br />
Времязадающие цепочки R4C4 и R5C5 программируют время <br />
между сигналом ОТВ и поступающим сигналом ОБМ на микросхемах D15 <br />
и D16. Получив сигнал ОТВ, свидетельствующий о наличии команды на <br />
шине КДАВ(00-15), БИС системного контроллера через 250 нс <br />
формирует сигналы КВ2 для D2...D4 и КВ3 для D5 и D6, которые <br />
являются импульсами записи команды в управляющую память В (выв.41 <br />
D2...D6).<br />
На этот сигнал БИС УП отвечает низким уровнем сигнала П <br />
(выв. 40), который подается на вход КП (выв. 12) БИС системного <br />
контроллера D18 и свидетельствует о том, что БИС УП приняла <br />
команду. Приняв команду, БИС УП выдает низким уровнем сигнал КК <br />
(выв. 38), который запрещает прием команд другими БИС УП.<br />
БИС УП-0007 (D6) принимает все команды и осуществляет <br />
управление работой БИС системного контроллера. Для БИС АЛУ команду <br />
принимает одна из оставшихся БИС УП.<br />
7.2.8. При несоответствии временных диаграмм необходимо <br />
проверить наличие микрокоманд начального пуска, формируемых БИС <br />
УП-0007 (D6) для БИС системного контроллера (D18) и БИС УП-0004 <br />
(D5) для БИС АЛУ (D1), приведенные в табл.6 и табл.7.<br />
�<br />
Таблица 6<br />
-----------------------------------------------------------------<br />
N | номер вывода БИС D18 | MK | Примечание<br />
МК |------------------------| |<br />
| 17 | 16 | 15 | 14 | 13 | |<br />
------+----+----+----+----+----+--------+-----------------------<br />
1 | 1 | 0 | 1 | 1 | 1 | |<br />
2 | 1 | 1 | 0 | 1 | 0 | |<br />
3...7 | 0 | 0 | 0 | 0 | 0 | |<br />
8...10| 1 | 1 | 1 | 1 | 1 | |<br />
11 | 0 | 1 | 0 | 0 | 0 | |<br />
12 | 0 | 1 | 0 | 0 | 0 | |<br />
13 | 0 | 0 | 0 | 0 | 1 | |<br />
14 | 0 | 1 | 0 | 0 | 1 | |<br />
15 | 1 | 1 | 1 | 1 | 1 | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
| | | | | | |<br />
�<br />
Микрокоманды, подаваемые на БИС системного контроллера, <br />
стробируются низким уровнем сигнала ВК (выв. 18). По окончании <br />
приема каждой микрокоманды БИС системного контроллера формирует <br />
низкий уровень сигнала Ф1 (выв. 19), после чего БИС УП-0007 (D6) <br />
выдает новую микрокоманду. По окончании выполнения каждой <br />
микрокоманды БИС системного контроллера формирует высокий <br />
уровень сигнала Ф1. Проверьте взаимодействие БИС системного <br />
контроллера с БИС УП (D6), т.е. правильность подачи микрокоманд <br />
и сигналы ВК,Ф1.<br />
Микрокоманды, подаваемые на БИС АЛУ, стробируются низким <br />
уровнем сигнала ВК (выв.30). По окончании приема каждой <br />
микрокоманды БИС АЛУ формирует низкий уровень сигнала Ф1 (выв.31), <br />
после чего БИС УП-0004 (D5) выдает новую микрокоманду. По окончании <br />
выполнения каждой микрокоманды БИС АЛУ формирует высокий уровень <br />
сигнала Ф1. Проверьте взаимодействие БИС АЛУ (D1) и БИС УП-0004 <br />
(D5), т.е. правильность подачи микрокоманд и сигналы ВК и Ф1.<br />
После выполнения третьей микрокоманды микропрограмма <br />
начального пуска БИС системного контроллера формирует импульс <br />
отрицательной полярности (выв.22 D18), который через буфер D25 <br />
передается в канал (конт.20С Х 1.2) К СБРОС Н, а также в <br />
HALT-монитор на вход инвертора микросхемы D30 (выв.3).<br />
После выполнения седьмой микрокоманды микропрограммы <br />
начального пуска БИС АЛУ формирует в канале на шине АД адрес 24.<br />
Возможными причинами неправильной подачи микрокоманд могут <br />
быть обрыв или КЗ на магистрали микрокоманд. При поиске КЗ или <br />
обрыва следует учитывать, что магистраль микрокоманд для БИС УП <br />
(D2...D5) общая. Наличие микрокоманд следует проверять на БИС АЛУ.<br />
�<br />
Таблица 7<br />
-----------------------------------------------------------------<br />
N | Номер вывода БИС D1 | МК | Примечание<br />
-----------------------------------------------------------------<br />
МК |34|35|36|37|38|39|40|41| 1| 2| 3| 4| |<br />
-----------------------------------------------------------------<br />
1 | 0| 0| 0| 0| 1| 1| 1| 0| 1| 1| 1| 1| |<br />
2 | 1| 0| 0| 1| 1| 0| 1| 0| 0| 1| 0| 1| |<br />
3 | 1| 1| 0| 0| 1| 0| 1| 0| 0| 0| 1| 0| |<br />
4 | 1| 1| 0| 0| 1| 0| 1| 1| 1| 0| 0| 0| |<br />
5 | 0| 1| 1| 0| 1| 0| 0| 0| 1| 1| 1| 1| |<br />
6 | 1| 0| 0| 0| 1| 0| 1| 0| 1| 0| 0| 0| |<br />
7 | 1| 1| 0| 0| 1| 0| 1| 0| 0| 1| 1| 0| |<br />
8 | 0| 1| 1| 0| 1| 0| 0| 0| 0| 0| 0| 0| |<br />
9 | 0| 1| 0| 0| 1| 1| 1| 0| 1| 0| 1| 1| |<br />
10 | 0| 1| 1| 1| 1| 1| 1| 0| 1| 0| 1| 1| |<br />
11..14| 1| 0| 1| 1| 1| 1| 1| 0| 1| 1| 1| 0| |<br />
15 | 0| 1| 1| 0| 1| 0| 1| 0| 1| 0| 0| 0| |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
| | | | | | | | | | | | | |<br />
�<br />
Неправильные микрокоманды на БИС АЛУ могут быть и из-за <br />
одновременного включения нескольких БИС УП (низкий уровень сигнала <br />
на шине МК вместо высокого). Найти неисправную БИС УП можно <br />
отсоединяя поочередно ножки на всех БИС УП (кроме 0004) <br />
соответствущие ошибочному разряду микрокоманды.<br />
7.2.9. Проверьте формирование сигнала управления <br />
светодиодом ПУСК (конт. 36С разъема XS1.2) одновибратором D38 из <br />
сигнала ОБМ. Проверьте формирование сигнала КВУН микросхемами <br />
D20.2 I D40 (выв.04).<br />
7.2.10. Отключите формирователь, вставьте в контейнер <br />
модуль ОЗУ, отключите генератор, подключите монитор и клавиатуру. <br />
Включите ПЭВМ и нажмите кнопку "ПУСК".<br />
Если на экране не появится надпись "Пульт", замените <br />
системное ПЗУ на ПЗУ с тестом процессора, подключите формирователь <br />
со схемой синхронизации, включите ПЭВМ и нажмите кнопку "Пуск". <br />
После этого должна очиститься часть экрана и появиться несколько <br />
рядов цифр и знак вопроса. В противном случае определите на каком <br />
из выходов ВК БИС D19 имеется импульс, по распечатке теста <br />
определите, что проверяется и засинхронизируйте осциллограф от <br />
адреса команды закоммутировав нужный адрес на схеме синхронизации и <br />
локализуйте неисправность. При появлении знака вопроса нажмите <br />
кнопку "ВВОД",при этом должен очиститься весь экран и появиться <br />
надпись "Пульт". Если этого не произошло, то по изображению<br />
на экране и распечатке тестового ПЗУ определите участок программы, <br />
который выполняется неправильно. Закоммутируйте адрес необходимой <br />
команды на схеме синхронизации и засинхронизируйте от нее <br />
осциллограф и определите причину неправильного выполнения <br />
команды (неправильные адреса, данные, коды условия, не работает <br />
или работает неправильно БИС УП, в которой данная команда <br />
закодирована).<br />
Если на экране появилась надпись "Пульт", а курсор <br />
отсутствут или не мигает, проверьте формирование сигнала ОСТ на <br />
�<br />
выв.36 ОСТ БИС D18 . Этот сигнал формируется с частотой <br />
50 Гц из сигнала Н3. Проверьте цепочку XS1.2-7C, D30, D32, D34, D28, <br />
D29, D34, D35. Если же сигнал ОСТ есть - необходимо проверить <br />
обработку прерывания НALT, засинхронизировав осциллограф от адреса <br />
программы обработки прерывания НALT.<br />
Нажмите на клавиатуре одну из клавиш. При отсутствии <br />
вывода соответствующего символа на экран монитора убедитесь, что <br />
на вход 13 D26 поступает последовательность импульсов от <br />
клавиатуры.<br />
Проверьте наличие на входе ЗП (выв.03) D26 импульсов <br />
частотой 32 кГц. Проверьте на КЗ и обрыв линии данных, соединяющие <br />
выходной канал D26 с входными каналами регистров D26 и D27. При <br />
нажатой клавише триггер D37.2 формирует импульс запроса на <br />
прерывание, поступающий в HALT-монитор на вход С (выв.11) <br />
триггера D37.1.<br />
В случае, если процессорное ядро правильно обращается к <br />
ОЗУ, но не выходит в режим пультового терминала, следует проверить <br />
правильность прохождения сигналов Н1, Н2 и Н3 (конт. 6С, 5С и 7С <br />
разъема ХS1.2), а также сигналов, вырабатываемых селектором <br />
каналов D19 и поступающих на схему управления HALT-монитора D37.<br />
В случае правильного выхода процессора в режим пультового <br />
терминала проверьте аппаратный умножитель, собранный на <br />
микросхемах D4, D17 и D18, следующим образом:<br />
Раскройте ячейку памяти с адресом 1000.<br />
Наберите программу перемножения двух чисел.<br />
На экране монитора будет следующее:<br />
Пульт > 1000/<br />
001000 : XXXXXX 12701 (ПС)<br />
001002 : XXXXXX 3 (ПС)<br />
001004 : XXXXXX 70101 (ПС)<br />
001006 : XXXXXX 0 (ВВОД)<br />
Пульт > 1000G<br />
�<br />
Пульт > s<br />
Ro = XXXXXX<br />
R1 = 000011<br />
.<br />
.<br />
.<br />
Пульт ><br />
Данная программа заносит в регистр R1 число 3 <br />
(восьмеричное) и умножает само на себя. Результат (11) должен <br />
остаться в R1 . В случае неправильного выполнения проверьте на КЗ <br />
и обрыв линии связи, соединяющие данные микросхемы.<br />
Наберите следующую программу:<br />
Пульт > 1000/<br />
001000: ХХХХХХ 12737 (ПС)<br />
001002: ХХХХХХ 101<br />
001004: ХХХХХХ 177566<br />
001006: ХХХХХХ 774 (ВВОД)<br />
Пульт > 1000G<br />
На экран должна выводиться буква А. При нажатии на любые<br />
клавиши клавиатуры вывод не должен прекращаться. При нажатии на <br />
клавиши УПР и СТОП ПЭВМ должна перейти в режим ПУЛЬТ.<br />
Для простейшей проверки взаимодействия модуля процессора <br />
и модуля локальной сети необходимо дополнительно вставить в <br />
контейнер плату локальной сети. На экране монитора должна <br />
появиться надпись "ЖДИТЕ". Переведите ПК нажатием клавиш "УПР" и <br />
"СТОП" в режим пультового терминала. Раскройте ячейки 170010 и <br />
170012. Если на экране появляется содержимое этих ячеек, то <br />
автономную проверку модуля процессора можно закончить. Если модуль <br />
ЛС не отвечает, проверьте на обрыв или КЗ линию Н4 и сигналы, <br />
поступающие на ЛС через D23.<br />
Окончательная проверка процессора производится после <br />
подключения НГМД загрузкой системы и прохождением всех тестов.<br />
�<br />
7.3. Настройка модуля ОЗУ ЫД6.120.108.<br />
Установите подвижные контакты подстроечных резисторов R11, R13, <br />
R14, R16 в среднее положение. Убедитесь в отсутствии короткого <br />
замыкания между шинами +5 В и "корпус" (контакты 1С и 1В разъема <br />
XS1 соответственно). Вставьте отрегулированный модуль процессора и <br />
плату ОЗУ, подлежащую регулировке в соответствующие разъемы <br />
контейнера стенда.<br />
7.3.1. Включите питание стенда, нажав кнопку СЕТЬ на <br />
передней панели стенда. Убедитесь, что горит светодиод в кнопке <br />
ПУСК и если он не горит, нажмите на эту кнопку. Если светодиод не <br />
загорится и после этого, выполните п.п. 7.3.4.-7.3.9.<br />
Проверьте наличие меандра с частотой 1МГц на выводе 8 <br />
микросхемы D9. При отсутствии такого сигнала проверьте работу <br />
счетчика D8. На выводах 3,2 и 6 должны быть сигналы с частотами <br />
соответственно 4 МГц, 2 МГц и 1 МГц. В противном случае проверьте <br />
работу задающего генератора, собранного на микросхеме D1. На <br />
выводах 3 и 6 D1 должны быть импульсы стабильной частоты 8 МГц.<br />
7.3.2. Выставьте сигналы RAS и CAS на выводах 4 и 15<br />
(соответственно) любой из микросхем D35 - D50. Для этого <br />
используйте внешнюю синхронизацию осциллографа от сигнала 1МГц <br />
(вывод 8D9). Подбирая резисторы R6 (для сигнала RAS) и R7 (для <br />
сигнала CAS) добейтесь, чтобы временная диаграмма этих сигналов <br />
соответствовала рис.4.<br />
Если сигналы RAS и CAS не формируются, проверьте <br />
работоспособность микросхем D10 и D60 и замените неисправную.<br />
Если в плате нет других неисправностей, то после указанных <br />
операций на экране дисплея появится сообщение:<br />
МРТИ<br />
ПЭВМ НЕМИГА 3.03<br />
ПУЛЬТ -<br />
В этом случае переходите к выполнению п.7.3.9.<br />
�<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.3. Схема проверки блока ОЗУ.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.4. Формирование сигналов RAS и CAS.<br />
�<br />
Если ПЭВМ не выходит в пультовой режим, то поиск <br />
неисправностей ведется следующим образом (в зависимости от вида <br />
неиспностей):<br />
при отсутствии на экране видеомонитора четко <br />
сформированного растра, проверьте контроллер видеомонитора по <br />
п.7.3.3 настоящей инструкции;<br />
если растр четко сформирован, но экран не очищается (ПЭВМ <br />
не выходит в режим пультового терминала) выполните<br />
п.п.7.3.4 - 7.3.8.<br />
7.3.3. Проверьте работу счетчиков-делителей D18-D21. На <br />
выхде 6 D21 должны быть импульсы частотой 50 Гц. Проверьте <br />
формировие кадрового синхроимпульса на выходе 5 D22.2 <br />
длительностью 120-200 мкс. Проверьте формирование строчных <br />
синхроимпльсов на выходе 8 D23.<br />
Проверьте наличие импульсов сброса видеосчетчиков на выходе <br />
6 D23, используя для этого ждущую развертку осциллографа, так как <br />
импульсы имеют малую скважность. Проверьте наличие синхросигналов <br />
на базе и эммитере транзистора Т1.<br />
Примечание: после нахождения какой-либо неисправности по<br />
п.п.7.3.4 - 7.3.8 нужно попытаться выйти в <br />
пульовый режим и только при отрицательном <br />
результате продолжить поиск неисправностей<br />
по этим пунктам.<br />
7.3.4. Замените системное ПЗУ (микросхемы D9, D10 на плате <br />
модуля процессора) на ПЗУ с тестом ОЗУ. После запуска ПЭВМ в левой <br />
верхней части экрана должен появиться черный прямоугольник. Если <br />
прямоугольника нет, следует выполнить п.п.7.3.5. - 7.3.7.<br />
Проверьте регистр прямой адресации (D26, D27), для чего <br />
засинхронизируйте осциллограф от вывода 32 микросхемы D19 на плате <br />
модуля процессора. Установите длительность развертки осциллографа <br />
5 s. Убедитесь, что на развертке укладывается 4 одинаковых <br />
�<br />
положительных импульса с выхода 12 микросхемы D2 и 4 одинаковых <br />
отрицательных импульса на выходах 6 и 8 микросхемы D30.<br />
На выходах 3 микросхемы D26, D27 (сигнал СИА) должно быть <br />
8 широких низких уровней (см. рис.5). Должна использоваться <br />
синхронизация по заднему фронту (переключатель "+ -" осциллографа <br />
С1-65А в положении "-").<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.5. Сигнал СИА.<br />
<br />
Проверьте сигналы на выходах 16-23 микросхем D26, D27. При <br />
первых двух низких уровнях на выводе 3 D26, D27 на четных выводах <br />
D26, D27 - низкие уровни, на нечетных - высокие.<br />
При третьем и четвертом низких уровнях на выводе 3 D26, <br />
D27 на четных выводах D26, D27 - высокие уровни, на нечетных - <br />
низкие. При последующих четырех низких уровнях на выводе 3 D26, <br />
D27 на выводах 18 - 23 D26 - низкие уровни, на выходах 16, 17 D26 <br />
и 16 - 23 D27 - высокие.<br />
Проверьте входы 2 микросхем памяти D35 - D50. В момент <br />
первого импульса на выводе 12 D2.2 на входе 2 D35 высокий уровень, <br />
на входе 2 D36 - низкий, на входе 2 D37 - высокий и т. д. В момент <br />
второго импульса на выводе 12 D2.2 на входах 2 D35 - D50 уровни <br />
также чередуются, но в обратном порядке (на входе 2 D35 - низкий, <br />
�<br />
на входе 2 D36 - высокий и т.д.).<br />
Проверьте сигнал СИП на выводе 12 микросхемы D16. Здесь <br />
должно быть 8 отрицательных импульсов (в первой пачке от начала <br />
развертки).<br />
Проверьте считанную информацию на выходах 16 - 23 D57, <br />
D58. По второму импульсу сигнала СИП на четных выходах D57, D58 <br />
низкие уровни, по нечетным - высокие. По четвертому импульсу СИП <br />
на четных выходах D57, D58 высокие уровни, по нечетным - низкие. <br />
Если это не выполняется, проверьте информацию на входах 6 - 13 <br />
D57, D58. Уровни здесь должны быть инверсными по отношению к <br />
выходам. Проверьте также информацию на соответствующих (по схеме) <br />
входах 14 микросхем D35 - D50. На нечетных микросхемах памяти на <br />
выходах 14 высокий уровень (по второму импульсу СИП), на четных - <br />
нзкий. Неисправный элемент замените.<br />
7.3.5. Проверьте работу ОЗУ в режиме косвенной адресации, <br />
для чего засинхронизируйте осциллограф от вывода 31 микросхемы D19 <br />
на плате центрального процессора. Убедитесь, что присутствуют <br />
отрицательные импульсы на входах 4 микросхем D28, D29. При первых <br />
двух отрицательных импульсах на входе 4 D28, D29 на четных выходах <br />
этих микросхем - высокие уровни, на нечетных - низкие. При <br />
следующих двух импульсах - наоборот.<br />
Проверьте считанную информацию на входах 16 - 23 микросхем <br />
D57, D58. На четных выходах по 3-му импульсу СИП должны быть <br />
высокие уровни, на нечетных - низкие, а по 6-му импульсу СИП - <br />
наоборот.<br />
7.3.6. Проверьте работу адресных мультиплексоров D31 - D34. <br />
На входах 4, 6, 10, 12 этих микросхем должны быть импульсы <br />
регенерации памяти, период которых приведен в таблице 8. <br />
(используйте внутреннюю синхронизацию осциллографа).<br />
�<br />
Таблица 8.<br />
<br />
--------------------------------------------------------------<br />
Номер !Номер !<br />
микро- !выво- ! Период сигнала, сек<br />
схемы !да !<br />
--------------------------------------------------------------<br />
! 4 ! 512<br />
!-------!---------------------------------------------<br />
D31 ! 6 ! 2<br />
!-------!---------------------------------------------<br />
! 10 ! 4<br />
!-------!---------------------------------------------<br />
! 12 ! 1,024<br />
--------!-------!---------------------------------------------<br />
! 4 ! 2,048<br />
!-------!---------------------------------------------<br />
D32 ! 6 ! 8<br />
!-------!---------------------------------------------<br />
! 10 ! 16<br />
!-------!---------------------------------------------<br />
! 12 ! 4,096<br />
--------!-------!---------------------------------------------<br />
! 4 ! 8,192<br />
!-------!---------------------------------------------<br />
D33 ! 6 ! 32<br />
!-------!---------------------------------------------<br />
! 10 ! 64<br />
!-------!---------------------------------------------<br />
! 12 ! 20<br />
--------!-------!---------------------------------------------<br />
�<br />
Продолжение табл. 8.<br />
--------!-------!---------------------------------------------<br />
Номер ! Номер !<br />
микро- ! выво- ! Период сигнала, сек<br />
схемы ! да !<br />
--------!-------!---------------------------------------------<br />
! 4 ! LOG "1"<br />
!-------!---------------------------------------------<br />
D34 ! 6 ! 128<br />
!-------!---------------------------------------------<br />
! 10 ! 256<br />
!-------!---------------------------------------------<br />
! 12 ! LOG "1"<br />
--------------------------------------------------------------<br />
<br />
Проверьте сигналы на выходах 7 и 9 микросхемы D31 - D34. В <br />
момент второго положительного импульса на входах 14 этих <br />
микросхем, на выходах 7 должны быть низкие уровни, на выходах 9 - <br />
высокие (синхронизация осциллографа как и в пункте 7.3.5). В <br />
момент пятого положительного импульса на выводах 14, на выходах 7 <br />
- высокие уровни, на выходах 9 - низкие.<br />
7.3.7. Проверьте работу адресного дешифратора, для чего <br />
засинхронизируйте осциллограф от вывода 30 микросхемы D19. По <br />
первому низкому (широкому) уровню сигнала СИА (вывод 3 D27) должен <br />
быть низкий уровень на выходе 4 микросхемы D15. На остальных <br />
выходах D15 в этот момент высокий уровень. По 2-му, 3-му и 4-му <br />
сигналу СИА низкие уровни должны быть соответственно на 5, 6 и 7 <br />
выходах D15. Если это не так, проверьте работу микросхем D13, D12, <br />
D7, D6. Неисправную микросхему замените. Проверьте сигнал на <br />
выводе 8 D17. Здесь должно быть 4 положительных импульса (в первой<br />
пачке от начала развертки).<br />
�<br />
7.3.8. Проверьте работу видеорегистров D53 - D56. На <br />
входах 9 регистров должен быть сигнал частотой 8 МГц. На выводах <br />
6, 9 должны быть сигналы, изображенные на рис. 6 (при внутренней <br />
синхронизации осциллографа).<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.6. Сигналы на выводах видеорегистров<br />
<br />
7.3.9. Выставьте подстроечным резистором R11 длительность <br />
импульсов нижнего бланка на выходе 4 D22.1, равной 200 мс <br />
(используется внутренняя синхронизация).<br />
Выставьте амплитуду синхросигналов (на эмиттере <br />
транзистора Т1) резистором R16 (уровень черного) 0,7 В. Следует <br />
учитывать, что при случайном содержимом видеопамяти над <br />
�<br />
синхросигналами будет видна "нулевая заставка". Резисторами R13 и <br />
R14 выставляются уровни серого и белого более точно при <br />
регулировке ПК по тесту.<br />
<br />
7.3.10. Проверьте ввод сигналов с помощью клавиатуры, <br />
нажав последовательно несколько алфавитно-цифровых клавиш на <br />
клавиатуре. Если символы не отображаются, следует проверить <br />
наличие сигналов Н1 и Н2 на разъеме XSI, а также убедиться, что <br />
горит светодиод в кнопке ПУСК и есть сигнал частотой 32 кГц на <br />
контакте 19а разъема XSI.<br />
Все выводимые на экран дисплея символы должны отображаться <br />
четко, без мерцания. На свободном участке экрана не должно <br />
появляться посторонних точек, черточек и т. д. Причиной мерцания <br />
может быть неправильная установка сигналов RAS и CAS. Появление <br />
вертикальных рядов указывает на неисправность одной или нескольких <br />
микросхем памяти D35 - D50. Неисправную микросхему можно <br />
определить, проверяя с помощью осциллографа их выходы (выв. 14). У <br />
неисправной микросхемы сигнал на выходе будет нестабилен. Другой <br />
способ определения неисправности микросхем памяти - занесение в <br />
одну из ячеек памяти нулей (или единиц) с клавиатуры.<br />
Пример занесения единиц:<br />
1000/<br />
177777<br />
Нажимая поочередно клавиши ПС и Ч (на нижнем регистре), <br />
убедитесь, что содержимое ячейки 1000 (177777) не изменяется. <br />
Изменение одного из разрядов содержимого ячейки указывает на <br />
неисправную микросхему (D35 отвечает за нулевой разряд, D36 - за <br />
первый и т. д.). Неисправную микросхему замените.<br />
�<br />
7.3.11. Проверьте наличие сигналов на выходном разъеме Х1:<br />
конт. 21А сигнал 50 Гц<br />
конт. 5В сигнал 8 МГц<br />
конт. 7С сигнал 50 ГЦ<br />
Введите программу для проверки устойчивости работы ОЗУ:<br />
1000/<br />
12737 ПС<br />
131 ПС<br />
137 ПС<br />
1000<br />
ВВОД<br />
1000G<br />
Экран должен заполниться символами "Y". Последняя строка <br />
должна мигать. Прекращение мигания (остановка программы) указывает <br />
на изменение содержимого одной из ячеек памяти (начиная с <br />
тысячной). Если это произошло - откройте тысячную ячейку и, <br />
нажимая клавишу ПС, просмотрите содержимое всех ячеек, где <br />
записана программа. Обнаружив разряд, где произошло изменение, <br />
определите неисправную микросхему . <br />
Убедитесь, что в течение одной мин. выдача символов не <br />
прекращается.<br />
После выполнения этих операций настройку ОЗУ можно считать <br />
законченой.<br />
<br />
7.4. Настройка блока клавиатуры ЫД3.059.007.<br />
<br />
7.4.1. Настройка блока клавиатуры производится с помощью <br />
стенда на основе рабочего места ученика (РМУ).<br />
�<br />
Примечание. Блок клавиатуры настраивается после частичной <br />
сборки (устройство коммутирующее не закреплено).<br />
Соберите схему проверки параметров блока клавиатуры <br />
согласно рис.7. Вставьте в панели модуля процессора ПЗУ с версией<br />
2.01. Включите блок системный, нажав кнопку СЕТЬ на <br />
передней панели блока. При этом на клавиатуре должны загореться <br />
светодиоды, соответствующие режимам "ВЕРХ", "ЛАТ", "ЦИФ".<br />
Если загорелась другая комбинация светодиодов, нужно проверить <br />
исправность элементов R30 и C1.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.7. Схема проверки параметров блока клавиатуры<br />
<br />
7.4.2. Проверьте запоминание и индикацию выбранных <br />
регистров, для чего нажмите и опустите клавишу РУС на клавиатуре. <br />
При этом светодиод "ЛАТ" должен погаснуть и загореться светодиод <br />
"РУС". Нажмите и опустите клавишу ЛАТ, при этом должен погаснуть <br />
светодиод "РУС" и загореться светодиод "ЛАТ".<br />
�<br />
Нажмите клавишу Р/Л и, удерживая ее в нажатом положении, <br />
убедитесь в смене режима "ЛАТ" на "РУС" (или наоборот). Отпустите <br />
клавишу Р/Л, при этом схема возвращается в исходное "СОСТОЯНИЕ". В <br />
случае отсутствия индикации режимов "РУС" - "ЛАТ" или их <br />
переключения проверьте соединение вилки ХР5 с розеткой XS5 и <br />
устройством коммутирующим, а так же исправность микросхем D6, D7, <br />
D8, транзисторов VT2, VT3 и светодиодов VD2,VD3. <br />
Неисправный элемент замените.<br />
Нажмите и отпустите клавишу ДОП. При этом светодиод "ЦИФ" <br />
должен погаснуть, а при кратковременном нажатии клавиши ЦИФ снова <br />
загореться. В случае отсутствия индикации или переключения режимов <br />
"ЦИФ" - "ДОП" проверьте соединение вилок ХР2, ХР4 с устройством <br />
коммутирующим, исправность микросхем D6, D7, транзистора VT1 и <br />
светодиода VD1. Неисправный элемент замените. Нажмите несколько <br />
раз клавишу "ФПБ" и убедитесь, что при каждом нажатии состояние<br />
светодиода, индицирующего режим "ВЕРХ", изменяется на <br />
противоположное. Убедитесь, что при нажатии клавиши состояние<br />
светодиода "ВЕРХ" изменяется на противоположное, а при отпускании<br />
клавиши возвращается к первоначальному. В случае отсутствия <br />
индикации и (или) переключении режима "ВЕРХ" проверьте соединение<br />
вилок ХР4 (для клавиши ФПБ) и ХР5 (для клавиши ) с <br />
устройством коммутирующим, а также исправность микросхем D12, D13,<br />
D8. При каждом нажатии клавиши ФПБ логический уровень на выводе <br />
13 микросхемы D13 должен изменяться на противоположный. Проверьте<br />
также исправность транзистора VT4 и светодиода VD4. <br />
Неисправный элемент замените.<br />
7.4.3. Нажмите клавишу ПУСК на блоке системном. При этом<br />
должен загореться светодиод над этой клавишей, а на экране дисплея <br />
должно появиться слово "ПУЛЬТ >". Если этого не произошло, <br />
повторно нажмите клавишу ПУСК на блоке системном и убедитесь, <br />
что ПЭВМ вышла в режим "ПУЛЬТ >". <br />
�<br />
7.4.4. Проверьте выдачу символов при кратковременном <br />
нажатии на клавиши. При этом следует учитывать, что выводимый на<br />
экран символ зависит от выбранного регистра клавиатуры. Нажмите<br />
последовательно клавиши КЛЮЧ, АЛТ, КОН, СТОП - на экране<br />
дисплея выдается сообщение: ПУЛЬТ > ?<br />
Для проверки остальных клавиш необходимо ввести в ПЭВМ<br />
программу (в машинных кодах). Наберите на клавиатуре число 1000,<br />
нажав затем клавишу / . При этом на экране появится содержимое<br />
тысячной ячейки ОЗУ. Введите последовательно следующие числа,<br />
нажимая после каждого числа клавишу ПС:<br />
105737<br />
177560<br />
100375<br />
13737<br />
177562<br />
177566<br />
771<br />
0<br />
Нажмите клавишу ВВОД. Наберите число 1000 и нажмите <br />
клавишу G. На экране должен появиться курсор. Проверьте выдачу<br />
кодов функциональными клавишами (Ф1 - Ф10). На экране дисплея<br />
должны появиться символы, приведенные в таблице 9.<br />
<br />
Таблица 9.<br />
--------------------------------------------------------------<br />
Обозначение клавиши Ф1 Ф2 Ф3 Ф4 Ф5 Ф6 Ф7 Ф8 Ф9 Ф10<br />
--------------------------------------------------------------<br />
Символ на экране <br />
--------------------------------------------------------------<br />
�<br />
Чтобы при необходимости очистить экран, нужно нажать <br />
клавишу УПР и не отпуская ее, нажать клавишу L.<br />
Проверьте выдачу символов алфавитно-цифровыми клавишами<br />
(светло-серые клавиши в центральном поле). На экран должны <br />
выдаваться символы, обозначенные на этих клавишах (с учетом <br />
выбранных регистров).<br />
Проверьте остальные клавиши (темно-серые и черные). При<br />
этом при нажатии клавиш <br />
курсор смещается соответственно влево, вправо, вниз, вверх.<br />
Клавиша ПС смещает курсор на строку вниз, клавиша ВВОД <br />
возвращает его в начало строки, клавиши УКЛ и ВСТ смещают <br />
курсор на строку растра соответственно вверх и вниз. При нажатии <br />
клавиши ЗБ выдается символ .<br />
После кратковременного нажатия на клавишу на экране должен <br />
появляться только один символ. При появлении нескольких символов <br />
(дребезг) проверьте исправность микросхемы D9 (триггер D9.4), <br />
элементов С4, VD8, R41. Неисправный элемент замените.<br />
В случае, если ПЭВМ не реагирует на одну из клавиш <br />
клавиатуры, вход осциллографа подключите к контрольной точке КТ3. <br />
Синхровход осциллографа подключите к КТ1 (используется внешняя <br />
синхронизация). Нажмите клавишу КЛЮЧ и удерживайте ее в нажатом <br />
состоянии. При длительности развертки 50 мс на экране осциллографа <br />
должен наблюдаться код, изображенный на рис.6.<br />
�<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.8. Код клавиши КЛЮЧ.<br />
<br />
Коды остальных клавиш приведены в табл.10. Временные <br />
диаграммы некоторых сигналов приведены на рис.7. Если код на КТ3 <br />
отсутствует, подключите вход осциллографа к КТ2. При нажатии на <br />
любую из клавиш сигнал должен меняться с уровня логической "1" на <br />
логический "0". Если это не так, убедитесь в поступлении тактовых <br />
импульсов на блок клавиатуры (КТ1), а также проверьте работу <br />
микросхем D1, D7 (инвертор D7.3), D4, D9 (триггер D9.1), D3 <br />
(триггер D3.2), D11. Неисправный элемент замените.<br />
Проверьте сигнал на выводе 11 микросхемы D6. В момент <br />
нажатия любой клавиши должен появиться короткий положительный <br />
импульс. Если это не так, проверьте исправность <br />
микросхем D5, D6, D14. Неисправную замените. Проверьте сигнал на <br />
выводе 13 микросхемы D11 и выводе 2 микросхемы D9. Неисправный <br />
элемент замените. В случае, если не выдается код с отдельных <br />
клавиш, проверьте соединение платы управления клавиатурой с <br />
устройством коммутирующим. В случае, если при нажатии клавиши <br />
выдается неправильный код (на экране дисплея не тот символ) <br />
проверьте шины устройства коммутирующего на отсутствие замыканий <br />
между собой, а также соединение этих шин с микросхемами D10, D11, <br />
D14 и исправность ПЗУ D17. Неисправный элемент замените.<br />
�<br />
ВЫХОДНЫЕ КОДЫ СИМВОЛОВ КЛАВИАТУРЫ<br />
<br />
Таблица 10.<br />
-----------------------------------------------------------------<br />
Обознач.|16-рич.|Обознач|16-рич.|Обознач|16-рич.|Обознач|16-рич.<br />
клавиши |код |клавиши|код |клавиши|код |клавиши|код<br />
-----------------------------------------------------------------<br />
УПР СТОП| 00 | @ | 40 | q | 71 | ь | D8<br />
УПР КЛЮЧ| 01 | A | 41 | r | 72 | ы | D9<br />
КОН | 02 | B | 42 | s | 73 | з | DA<br />
СТОП | 03 | C | 43 | t | 74 | ш | DB<br />
| 08 | D | 44 | u | 75 | э | DC<br />
| 09 | E | 45 | v | 76 | щ | DD<br />
ПС | 0A | F | 46 | w | 77 | ч | DE<br />
ВВОД | 0D | G | 47 | x | 78 | ъ | DF<br />
| 12 | H | 48 | y | 79 | ю | E0<br />
ВСТ | 13 | I | 49 | z | 7A | А | E1<br />
УДЛ | 14 | J | 4A | { | 7B | Б | E2<br />
| 16 | K | 4B | | | Ц | E3<br />
| 19 | L | 4C | } | 7D | Д | E4<br />
| 1A | M | 4D | | | Е | E5<br />
КЛЮЧ | 1B | N | 4E | ЗБ | 7F | Ф | E6<br />
| 1C | O | 4F | Ф1 | 80 | Г | E7<br />
| 1D | P | 50 | Ф2 | 81 | Х | E8<br />
| 20 | Q | 51 | Ф3 | 82 | И | E9<br />
! | 21 | R | 52 | Ф4 | 83 | Й | EA<br />
" | 22 | S | 53 | Ф5 | 84 | К | EB<br />
# | 23 | T | 54 | Ф6 | 85 | Л | EC<br />
$ | 24 | U | 55 | Ф7 | 86 | М | ED<br />
% | 25 | V | 56 | Ф8 | 87 | Н | EE<br />
& | 26 | W | 57 | Ф9 | 88 | О | EF<br />
</pre><br />
<br />
== IPN2.NEM ==<br />
<pre><br />
Продолжение таблицы 9.<br />
<br />
-----------------------------------------------------------------<br />
Обознач.|16-рич.|Обознач|16-рич.|Обознач|16-рич.|Обознач|16-рич.<br />
клавиши |код |клавиши|код |клавиши|код |клавиши|код<br />
-----------------------------------------------------------------<br />
' | 27 | X | 58 | Ф10 | 89 | П | E0<br />
( | 28 | Y | 59 | ю | C0 | Я | F1<br />
) | 29 | Z | 5A | а | C1 | Р | F2<br />
* | 2A | [ | 5B | б | C2 | C | F3<br />
+ | 2B | \ | 5C | ц | C3 | Т | F4<br />
, | 2C | ] | 5D | д | C4 | У | F5<br />
- | 2D | | 5E | е | C5 | Ж | F6<br />
. | 2E | _ | 5F | ф | C6 | В | F7<br />
/ | 2F | | 60 | г | C7 | ь | F8<br />
0 | 30 | a | 61 | х | C8 | Ы | F9<br />
1 | 31 | b | 62 | и | C9 | З | FA<br />
2 | 32 | c | 63 | й | CA | Ш | FB<br />
3 | 33 | d | 64 | к | CB | Э | FC<br />
4 | 34 | e | 65 | л | CC | Щ | FD<br />
5 | 35 | f | 66 | м | CD | Ч | FE<br />
6 | 36 | g | 67 | н | CE | |<br />
7 | 37 | h | 68 | о | CG | |<br />
8 | 38 | i | 69 | п | D0 | |<br />
9 | 39 | j | 6A | я | D1 | |<br />
: | 3A | k | 6B | р | D2 | |<br />
; | 3B | l | 6C | с | D3 | |<br />
< | 3C | m | 6D | т | D4 | |<br />
= | 3D | n | 6E | у | D5 | |<br />
> | 3E | o | 6G | ж | D6 | |<br />
? | 3G | p | 70 | в | D7 | |<br />
�<br />
7.4.5. Проверьте выдачу символов на других регистрах <br />
клавиатуры. Методы проверки и обнаружения неисправностей <br />
аналогичны п.7.4.4.<br />
7.4.6. Проверьте выдачу символов в режиме автоповтора. <br />
Проверка ведется на функциональных клавишах Ф1- Ф10 и клавише Э.<br />
Нажмите одну из этих клавиш и, удерживая ее, убедитесь, что <br />
примерно через 1 с будет происходить автоматический повтор <br />
соответствующего символа. За 1 с должно выдаваться примерно около <br />
15 символов.<br />
Если автоматический повтор отсутствует или происходит с <br />
другой частотой, проверьте при помощи осциллографа сигналы <br />
счетчика D2. На выводе 6 D2 должен быть меандр с частотой около <br />
15 Гц, а на выводе 14 - секундные импульсы. Проверьте также работу <br />
триггера D3.1 и инверторов D4.1 и D5.1.<br />
<br />
7.4.7. После окончания настройки производится сборка блока <br />
клавиатуры.<br />
<br />
7.5. Настройка модуля электронного ЫД2.087.024.<br />
<br />
7.5.1. Проверьте отсутствие короткого замыкания между <br />
выводами 1-2, 3-4 и между этими выводами и корпусом.<br />
<br />
7.5.2. Соберите схему проверки модуля электронного по <br />
рис.8. При настройке модуля 2МБ5 подключите реостат РСП-7,5 Ом, а <br />
при настройке модуля 2МБ12 - реостат РСП-20 Ом.<br />
Установите максимальное сопротивление реостатов. <br />
Напряжение источника Б5-7 не должно превышать 27 В.<br />
�<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
ИП1+ИП4 - вольтметр М2018; РР - реостат РСП-2У3;<br />
ИП5 - милливольтметр В3-48; ИП6 - вольтметр В7-27А<br />
<br />
Рис. 8. Схема проверки модуля электронного 2МБ.<br />
<br />
7.5.3. Включите источник питания и установите напряжение <br />
источника питания 27 В по вольтметру ИП2, ток потребления по <br />
амперметру ИП1 при этом не должен превышать 1,0 А.<br />
<br />
7.5.4. Переменным резистором R24 установите напряжение на <br />
выходе 3-4 модуля равным 5 + 0,05 В для модуля 2МБ5 при токе <br />
нагрузки 1,5 А и 12+0,1 В для модуля 2МБ12 при токе нагрузки 1 А. <br />
Напряжение и ток контролируются по ИП3 и ИП4.<br />
В случае невозможности получения выходного напряжения <br />
проверьте работу отдельных каскадов модуля электронного.<br />
Проверьте напряжение на задаюющем генераторе с выхода <br />
стабилизатора, собранного на VD1...VD4, VT3, VT4. Напряжение <br />
измеренное на конденсаторе С9 должно быть +18 + 2 В.<br />
Проверьте работу задающего генератора, собранного на <br />
транзисторах VT1 и VT2. Задающий генератор должен вырабатывать <br />
прямоугольные импульсы частотой 50 кГц и амплитудой порядка 36 В, <br />
�<br />
измеренные между эммитерами VT1, VT2 и каждым из коллекторов VT1 и <br />
VT2.<br />
Проверьте наличие прямоугольных импульсов амплитудой <br />
15 В + 1,5 В частотой 50 кГц на выводах 8 и 10 относительно вывода <br />
9 трансформатора VТ1.<br />
Проверьте напряжение питания операционных усилителей <br />
D1...D3. На выводе 7 D1...D3 должно быть +6,3 + 0,3 В, а на выводе 1<br />
D1...D3 должно быть -6,3 +0,3 В.<br />
Проверьте напряжение на стабилитроне VD17, оно должно быть <br />
равным 9 + 0,9 В.<br />
Проверьте работу однотрактного преобразователя напряжения <br />
на VT5. На коллекторе VT5 должны быть импульсы частотой 50 кГц и <br />
амплитудой 15 + 1,5 В.<br />
Проверьте импульсное напряжение на усилителе мощности на <br />
транзисторах VT6 и VT7. На коллекторе VT6 (VT7) должны быть <br />
импульсы частотой 50 кГц и амплитудой 70 В.<br />
<br />
7.5.5. Проверьте действие схемы защиты модуля. Для этого <br />
закоротите с помощью перемычки реостат. Выходное напряжение, <br />
контролируемое ИП3 должно быть не более 2 В.<br />
Снимите перемычку с реостата. Выходное напряжение должно <br />
быть равным 5 + 0,05 В для 2МБ5 и 12 + 0,1 В для 2МБ12.<br />
<br />
7.5.6. Установите ток короткого замыкания схемы защиты <br />
2МБ5 равным 1,6 А, 2МБ12 - 1,1 А по ИП3. Подбором резистора R11 <br />
добиться резкого уменьшения выходного напряжения при этом токе <br />
нагрузки.<br />
<br />
7.5.7. Подрегулируйте, если необходимо, выходное <br />
напряжение резистором R24.<br />
�<br />
7.5.8. Проверьте нестабильность выходного напряжения от <br />
изменения входного напряжения.<br />
Установите номинальное напряжение и ток нагрузки по ИП3 и <br />
ИП4 при входном напряжении 27 В. Подключите к точка а-б (см. рис. 8)<br />
измерительный прибор ИП6 (В7-27А). Установите по ИП2 напряжение <br />
входного источника питания 29,7 В. Измерьте выходное напряжение <br />
прибором ИП6.<br />
Установите входное напряжение 22,95 В. Измерьте выходное <br />
напряжение прибором ИП6. Для каждого измерения установите <br />
нестабильность выходного напряжения по формуле<br />
<br />
И = Иизм - Ин<br />
<br />
где И - нестабильность выходного напряжения, мВ;<br />
Иизм - измеренное значение выходного напряжения, мВ;<br />
Ин - величина выходного напряжения при входном напряжении, <br />
27 В.<br />
Нестабильность выходного напряжения не должна превышать <br />
100 мВ для 2МБ5 и 200 мВ для 2МБ12.<br />
<br />
7.5.9. Проверьте амплитуду пульсаций выходного напряжения.<br />
Установите номинальное напряжение и ток нагрузки по ИП3 и <br />
ИП4 при входном напряжении 27 В. Подключите к точкам а-б (см. рис.8) <br />
измерительный прибор ИП5 (В3-48). Измерьте эффективное значение <br />
пульсации выходного напряжения. Повторите измерения при входном <br />
напряжении по ИП2 22,95 В и 29,7 В. Амплитуда пульсаций выходного <br />
напряжения определяется по формуле<br />
<br />
Ип = Иизм x К,<br />
�<br />
где: Ип - амплитуда пульсаций выходного напряжения, мВ;<br />
Иизм - измеренное значение пульсаций выходного напряжения, мВ;<br />
К - коэффициент пересчета, равный 1,41.<br />
Амплитуда пульсаций выходного напряжения для каждого <br />
измерения не должны превышать 100 мВ для 2МБ5 и 240 мВ для 2МБ12.<br />
<br />
<br />
7.6. Настройка модуля локальной сети ЫД6.120.109<br />
<br />
7.6.1. Соберите схему проверки модуля локальной сети <br />
согласно рис. 9.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис.9. Схема проверки модуля локальной сети.<br />
<br />
Для настройки модуля локальной сети необходимы два стенда <br />
на основе рабочих мест ученика (РМУ), каждый из которых состоит из <br />
блока системного ЫД2.068.011, видеомонитора "ЭЛЕКТРОНИКА МС6105-01"<br />
�<br />
и блока клавиатуры ЫД3.059.007.<br />
В стенд 1 и стенд 2 вставьте исправные платы модуля <br />
процессоро и модуля ОЗУ.<br />
<br />
7.6.2. Вставьте проверяемую плату модуля локальной сети в <br />
стенд 1 и включите блок системный стенда 1, нажав кнопку СЕТЬ на <br />
передней панели блока.<br />
Нажмите кнопку "ПУСК" на блоке системном, при этом должен <br />
загореться индикатор этой кнопки, а на экране дисплея должна <br />
появиться надпись "ЖДИТЕ...". Если этого не произошло, то <br />
необходимо проверить наличие напряжения питания +5 В на <br />
проверяемой плате, а также наличие замыканий на корпус и между <br />
собой адресных шин и управляющих сигналов, приходящих с модуля <br />
процессора.<br />
<br />
7.6.3. Переведите ПК одновременным нажатием клавиши "УПР" <br />
и "СТОП" клавиатуры в режим пультового терминала. Раскройте ячейки <br />
170010 и 170012. При этом на экране должно появиться содержимое <br />
этих ячеек. Содержимое ячейки 170010 должно быть 000020 или 000030.<br />
Если этого не происходит, то необходимо проверить отсутствие <br />
замыканий адресных шин на входах и выходах микросхем D1 и D2, <br />
прохождение сигналов ЧТ, ЗПМ, ЗПС с контактов разьема XS1 на входы <br />
микросхем D1, D2 и входы EWR1 и EWR2 микросхемы D38. Необходимо <br />
проверить также наличие и прохождение сигналов ВК0 и ВК1 на вывод 1<br />
микросхем D1 и D2 и выводы 1 и 2 микросхемы D38.<br />
Причиной неисправности может быть также отсутствие сигнала <br />
КЗПРНIН, снимаемого с вывода 6 микросхемы D3 при обращении к <br />
ячейкам 170010 и 170012.<br />
Проверьте наличие импульсов частотой 8 МГц на выводе 41 <br />
микросхемы D38.<br />
�<br />
Запишите в ячейку 170010/хххххх 177777 <ВК>. Прочитайте <br />
170010/000122 или 000132. Запишите в ячейку 170010/хххххх 0 <ВК>.<br />
Содержимое ячейки 170010 должно быть 000020 или 000030. Если нет, <br />
то необходимо проверить запись в триггеры D35.1 и D35.2.<br />
<br />
7.6.4. Наберите программу циклической передачи данных в <br />
линию:<br />
ПУЛЬТ> 1000/<br />
001000:XXXXXX 12737 (ПС)<br />
001002:XXXXXX 123456 (ПС)<br />
001004:XXXXXX 170012 (ПС)<br />
001006:ХХХХХХ 12700 (ПС)<br />
001010:ХХХХХХ 100 (ПС)<br />
001012:ХХХХХХ 77001 (ПС)<br />
001014:ХХХХХХ 771 (ВВОД)<br />
ПУЛЬТ> 1000 G<br />
<br />
где Х - произвольное значение.<br />
Проверьте осциллографом наличие на контакте 8 В разьема <br />
XS1 (относительно контакта 4 В разьема XS1) пачек импульсов <br />
длительностью 25-30 мкс и амплитудой порядка 4 В.<br />
Если пачки импульсов отсутствуют или имеют меньшую <br />
амплитуду, то необходимо проверить наличие импульсов на выходах 34 <br />
и 36 микросхемы D38 и прохождение их на передающую обмотку 3-4 <br />
трансформатора Т1, а также наличие отрицательных импульсов, <br />
снимаемых с вывода 4 одновибратора D33.2 и поступающих на базы <br />
транзисторов VT1 и VT2, длительностью 45-50 мкс.<br />
Переведите ПК в режим пультового терминала.<br />
�<br />
7.6.5. Вставьте исправную плату модуля локальной сети с <br />
установленными перемычками для РМП в стенд 2 и включите блок <br />
системный стенда 2, нажав кнопку "СЕТЬ" на передней панели блока.<br />
Переведите ПК2 в режим пультового терминала и наберите <br />
программу циклической передачи данных в линию. На экране <br />
видеомонитора стенда 2 будет следующее:<br />
<br />
ПУЛЬТ> 1000/<br />
001000:XXXXXX 12737 (ПС)<br />
001002:XXXXXX 123456 (ПС)<br />
001004:XXXXXX 170012 (ПС)<br />
001006:ХХХХХХ 12700 (ПС)<br />
001010:ХХХХХХ 100 (ПС)<br />
001012:ХХХХХХ 77001 (ПС)<br />
001014:ХХХХХХ 771 (ВВОД)<br />
ПУЛЬТ> 1000 G<br />
<br />
На ПК1 раскройте ячейку 170012. Содержимое этой ячейки <br />
должно быть 123456. В противном случае необходимо проверить <br />
прохождение пачек импульсов с линии связи на выводы 3 и 15 <br />
микросхемы D37 и далее на выводы 37 и 38 микросхемы D38. Причиной <br />
неисправности может быть также замыкание в шине данных, <br />
поступающей на входы и выходы микросхем D1 и D2.<br />
Переведите ПК2 в режим пультового терминала.<br />
Повторите программу с кодами в ячейке 1002: 052525 и <br />
125252.<br />
<br />
7.6.6. Выключите питание стенда 1 кнопкой СЕТЬ.<br />
Установите на проверяемую плату перемычки, соответствующие <br />
модулю локальной сети РМУ.<br />
�<br />
Установите перемычку, определяющуюю номер РМУ, соединив <br />
точки 10 и 11.<br />
Включите питание стенда 1.<br />
Переведите ПК1 в режим пультового терминала.<br />
<br />
7.6.7. С клавиатуры стенда 1 по адресу 170010 запишите 1:<br />
ПУЛЬТ> 170010/<br />
170010:ХХХХХХ 1 (ВВОД)<br />
ПУЛЬТ><br />
<br />
На ПК2 раскройте ячейку 170012. Содержимое этой ячейки <br />
должно быть 134001. Раскройте ячейку 170010, ее содержимое должно <br />
быть 000066. Повторно раскройте ячейку 170010, теперь ее <br />
содержимое должно быть 000024.<br />
Если этот пункт не выполняется, то следует проверить <br />
наличие низкого уровня на 32 выводе микросхемы D38 и высокого на <br />
выводах 27, 28, 31, 33 D38. Следует также проверить наличие на 42 <br />
выводе микросхемы D38 импульса, приходящего с одновибратора D33.1 <br />
при записи 1 по адресу 170010.<br />
<br />
7.6.8. С клавиатуры стенда 1 по адресу 170010 запишите <br />
400:<br />
ПУЛЬТ> 170010/<br />
170010:ХХХХХХ 400 (ВВОД)<br />
ПУЛЬТ><br />
На ПК2 по адресу 170010 запишите 41001:<br />
ПУЛЬТ><br />
170010:ХХХХХХ 41001 (ПС)<br />
170012:134400<br />
Если по адресу 170012 будет не 134400, а другое значение, <br />
�<br />
то необходимо запустить на ПК2 следующую программу, предварительно <br />
нажав на клавишу ВВОД:<br />
ПУЛЬТ> 1000/<br />
001000:XXXXXX 12737 (ПС)<br />
001002:XXXXXX 41001 (ПС)<br />
001004:XXXXXX 170010 (ПС)<br />
001006:ХХХХХХ 12700 (ПС)<br />
001010:ХХХХХХ 100 (ПС)<br />
001012:ХХХХХХ 77001 (ПС)<br />
001014:ХХХХХХ 771 (ВВОД)<br />
ПУЛЬТ> 1000 G<br />
<br />
и проверить наличие импульсов на выводе 42 микросхемы D38. <br />
Причиной их отсутствия может быть не поступление с одновибраторов <br />
D41.1 и D41.2 и элемента D30.4 отрицительных импульсов на вывод 13 <br />
микросхемы D39, а также неисправность самой микросхемы D39.<br />
<br />
7.6.9. Переведите ПК2 в режим пультового терминала.<br />
На ПК2 по адресу 170010 запишите 41041<br />
ПУЛЬТ> 170010/<br />
170010:ХХХХХХ 41041 (ВВОД)<br />
ПУЛЬТ><br />
<br />
На ПК1 раскройте ячейку с адресом 170010<br />
ПУЛЬТ> 170010/<br />
170010:000044 (ВВОД)<br />
ПУЛЬТ><br />
<br />
Если содержимое этой ячейки не равно 000044, то необходимо <br />
�<br />
проверить установку триггера D42.2 в единичное состояние.<br />
Повторно раскройте ячейку с адресом 170010 на ПК1, <br />
содержимое этой ячейки должно быть равно 000004, в противном <br />
случае необходимо проверить работоспособность триггера D42.2.<br />
На экране видеомонитора будет следующее:<br />
ПУЛЬТ> 170010/<br />
170010:000004 (ВВОД)<br />
ПУЛЬТ><br />
<br />
7.6.10. На ПК2 по адресу 170010 запишите 40001.<br />
На ПК1 раскройте ячейку с адресом 170010 при этом ее <br />
содержимое должно быть 1 ХХ ХХХ, а при повторном обращении к <br />
ячейке 170010, ее содержимое должно быть 0 ХХ ХХХ.<br />
В противном случае необходимо проверить установку триггера <br />
D42.1 в единичное состояние при первом обращении кячейке с адресом <br />
170010 на ПК1 и сброс его при повторном обращении.<br />
<br />
7.6.11. Проверка схемы аппаратного опроса.<br />
На ПК1 по адресу 170010 запишите код 400. На ПК2 по адресу <br />
170010 запишите код 5742. На ПК1 в ячейке 170012 должна постоянно <br />
изменяться информация. Поскольку частота изменения информации <br />
50 Гц, то при открытии ячейки 170012 на ПК1 с пульта можно <br />
наблюдать случайно сменяющиеся коды. Например:<br />
<br />
170012/0015742 <ВВОД> <br />
170012/0045742 <ВВОД> <br />
170012/0005742 <ВВОД> <br />
170012/0041742 <ВВОД> <br />
170012/0021742 <ВВОД> <br />
�<br />
170012/0015742 <ВВОД> <br />
170012/0011742 <ВВОД> <br />
170012/0061742 <ВВОД> <br />
170012/0021742 <ВВОД> <br />
<br />
Постоянная смена кодов означает, что работает схема <br />
аппаратного опроса РМП. Необходимо убедиться, что появляются все <br />
коды из следующего списка:<br />
<br />
005742<br />
011742<br />
015742<br />
021742<br />
025742<br />
031742<br />
035742<br />
041742<br />
045742<br />
051742<br />
055742<br />
061742<br />
<br />
Если появляются также коды большие, чем 61742 (т.е. 065742,<br />
071742, 075742), это значит, что отсутствуют перемычки, задающие <br />
количество РМУ в сети на плате РМП (для 12 РМУ - это перемычки <br />
28-9 и 30-11). Если появляются не все 12 кодов из приведенного <br />
списка, также необходимо проверить правильность установки <br />
перемычек (24-5 и 26-7 - разомкнуты, 28-9 и 30-11 - замкнуты). <br />
Другой причиной может быть неверная информация в ПЗУ D7 на плате <br />
РМП или нарушение связей между D6 и D7, а также между выходами <br />
�<br />
микросхемы ПЗУ D7 ( контакты 9, 10, 11, 12 ) с входами 19, 18, 17, <br />
16, D38 соответственно. <br />
Если не происходит смены кодов в ячйке 170012 РМУ, это <br />
значит, что не функционирует схема аппаратного опроса РМП. <br />
Проверьте наличие импульсов 50 Гц на входе 1 D34.3. Проверьте <br />
наличие высокого уровня (разрешение опроса) на выходе 8 D35.1 и на <br />
входе 2 D34.3. Проверьте прохождение импульсов 50 Гц на входы 1 и <br />
9 одновибраторов D36.1 и D36.2 (через элементы D34.3, D32.6 и <br />
перемычку 18-20). Проверьте формирование импульсов на выходах <br />
одновибраторов (на выходах 13 и 4 D36.1 - длительностью 1,5-3 мкс, <br />
на выходе 12 D36.2 - длительностью 0,5-1 мкс) и соответствующие <br />
импульсы на входах 10 и 9 D30.3. На выходе 8 этой микросхемы <br />
должен формироваться импульс, длительность которого равна разности <br />
длительностей импульсов одновибраторов D36.1 и D36.2 (т.е. 0.5-2.5 <br />
мкс). Далее необходимо проверить наличие импульсов чтения регистра <br />
битов 10, 9, 8 (вход 4 D5), затем регистра номера РМУ (вход 3 D6) <br />
и опроса ПЗУ-счетчика (вход 13 D7). Проверить прохождение импульса <br />
одновибратора D36.1 (выход 4 D36 - D32.3 - D32.4 - перемычка 1-2, <br />
D33.1 - вход 9 D33.1). Проверить формирование импульсов на выходах <br />
12 и 5 одновибратора D33.1. Проверить прохождение импульса с <br />
выхода 8 D30 через перемычку 14-13 и D3.4 на вход 46 D38.<br />
<br />
7.6.12. Записать код 000000 в ячейку 170010 РМП. Открыв <br />
ячейку 170012 в РМУ, убедиться, что аппаратный опрос сети <br />
прекратился. В противном случае проверить прохождение импульса на <br />
вход 11 D35.1 (триггер разрешения опроса) при записи в регистр <br />
170010.<br />
<br />
7.6.13. Записать в РМУ в ячейку 170010 код 000000. <br />
Записать в РМП в ячейку 170010 код 5742. Аппаратный опрос должен <br />
остановиться, и при открытии ячейки 170012 на РМУ должен читаться <br />
�<br />
код 41742 (т.е. аппаратный опрос остановился на РМУ номер 8, <br />
который задан на проверяемой плате РМУ). <br />
Если аппаратный опрос не прекращается, необходимо <br />
проверить цепь сброса триггера разрешения опроса D35.1 (выход 6<br />
D42 - перемычка 17-15 - вход 4 D31 - выход 6 D31 - вход 10 D42).<br />
<br />
7.6.14. Проверить прерывание.<br />
Запишите программу в РМП с адреса 1000:<br />
<br />
1000/хххххх 012706 <ПС><br />
001000 <ПС><br />
012737 <ПС><br />
000100 <ПС><br />
170010 <ПС><br />
000777 <ВВОД><br />
<br />
Запишите программу в РМП с адреса 2000:<br />
<br />
002000/хххххх 013702 <ПС><br />
170010 <ПС><br />
013703 <ПС><br />
170010 <ПС><br />
013704 <ПС><br />
170012 <ПС><br />
005037 <ПС><br />
170006 <ПС><br />
012737 <ПС><br />
000052 <ПС><br />
177566 <ПС><br />
000207 <ВВОД><br />
�<br />
Запишите в ячейку с адресом 104 число 2000, а в ячейку с <br />
адресом 106 - число 0. <br />
Запустить программу:<br />
<br />
1000G<br />
<br />
В РМУ в ячейку 170010 записать 1:<br />
<br />
170010/хххххх 1 <ВВОД><br />
<br />
На экране РМП должен появиться символ "*" .<br />
Перевести РМП в "ПУЛЬТ" и нажать на клавиатуре клавишу S, <br />
при этом содержимое регистров должно быть следующим: <br />
R0/хххххх<br />
R1/хххххх<br />
R2/000164<br />
R3/000124<br />
R4/134001<br />
R5/хххххх<br />
SP/001000<br />
PC/001012<br />
RS/000000<br />
<br />
В противном случае необходимо проверить прохождение <br />
сигнала с выхода 6 D42 на контакт 4 С раз'ема XS1.<br />
<br />
7.6.15. При подключенной плате локальной сети нажмите и <br />
отпустите несколько раз кнопку ТАЙМЕР на передней панели ПК, при <br />
каждом отпускании этой кнопки должен последовательно включаться и <br />
отключаться светодиод под кнопкой ТАЙМЕР. Если этого не <br />
�<br />
происходит, то необходимо проверить работоспособность микросхемы <br />
D8 и D10 и исправность светодиода.<br />
<br />
7.6.16. При включенном режиме ТАЙМЕР (горит светодиод), <br />
перейдя в режим пультового терминала, нажмите клавишу N на <br />
клавиатуре, при этом светодиод под кнопкой ТАЙМЕР должен <br />
погаснуть. В противном случае необходимо проверить поступление на <br />
вывод 3 D10 импульсов с частотой повторения 50 Гц, а также сигнала <br />
К ППРТ Н с входного разьема XS1 на вывод 4 D10.<br />
<br />
7.6.17. При включенном режиме ТАЙМЕР нажмите кнопку ПУСК <br />
на передней понели ПК, при этом светодиод под кнопкой ТАЙМЕР <br />
должен погаснуть. Если этого не происходит, необходимо проверить <br />
прохождение сигнала К СБРОС Н с входного разьема XS1 на вывод 10 <br />
D10 при нажатии кнопки ПУСК.<br />
<br />
7.7. Настройка таймера ЫД3.056.006.<br />
<br />
7.7.1. Проверьте отсутствие замыкания между шинами <br />
питания.<br />
<br />
7.7.2. Подключите проверяемую плату таймера к блоку <br />
системному, нажмите кнопку "СЕТЬ" на передней панели блока. Для <br />
вывода ПК в режим пультового терминала нажмите кнопку "ПУСК" на <br />
передней панели блока системного, при этом должен загореться <br />
индикатор этой кнопки, а на экране видеомонитора должна появиться <br />
надпись:<br />
ПУЛЬТ><br />
В противном случае необходимо проверить наличие замыкания <br />
в линии адреса данных и управляющих сигналов, приходящих с модуля <br />
процессора.<br />
�<br />
7.7.3. Проверьте осциллографом наличие на 17 выводе <br />
микросхемы D5 импульсов с периодом следования 0,25 мкс и <br />
амплитудой не менее 3 В, а также наличие на 18 выводе D5 импульсов <br />
с периодом следования 20 мс.<br />
<br />
7.7.4. Отсоедините от жгута 3 точку ХР1 и 1 точку ХР3 и<br />
соедините на проверяемой плате эти точки между собой.<br />
Раскройте ячейку с адресом 170020, а также ячейки с <br />
адресами 170022, 170024, 170026, 170030, 170032. На экране <br />
видеомонитора будет следующее:<br />
ПУЛЬТ> 170020/<br />
170020:ХХХХХХ (ПС)<br />
170022:ХХХХХХ (ПС)<br />
170024:ХХХХХХ (ПС)<br />
170026:ХХХХХХ (ПС)<br />
170030:ХХХХХХ (ПС)<br />
170032:ХХХХХХ (ВВОД) где Х - произвольное значение<br />
ПУЛЬТ><br />
Если на экране видеомонитора не появляется содержимое хотя<br />
бы одной из этих ячеек, то необходимо проверить подключение входов<br />
А4 - А12 микросхемы D1 соответственно принципиальной схеме, а <br />
также наличие отрицательного импульса на выводе 20 микросхемы D1<br />
во время обращения к каждой из этих ячеек. <br />
�</pre><br />
<br />
== IPN3.NEM ==<br />
<pre><br />
7.7.5. Проверьте прохождение отрицательного импульса на <br />
вывод микросхем D6 и D3.1 и вывод 26 микросхемы D5 после <br />
кратковременного нажатия на кнопку ПУСК на передней панели блока <br />
системного, а также наличие на выводе 5 микросхемы D3.1 низкого <br />
уровня.<br />
<br />
7.7.6. По адресу 170030 запишите 260.<br />
На экране видеомонитора будет следующее:<br />
ПУЛЬТ> 170030/<br />
170030: ХХХХХХ 260 (ВВОД)<br />
ПУЛЬТ><br />
Проверьте состояния выводов регистра D6, выходное слово <br />
этого регистра должно быть 000111. В противном случае необходимо <br />
проверить прохождение сигнала записи на вход С микросхемы D6, а <br />
также прохождение информации на D входы микросхемы D6.<br />
<br />
7.7.7. По адресу 170020 запишите 1576, а по адресу 170022 <br />
запишите 1000. На экране видеомонитора будет следующее:<br />
ПУЛЬТ> 170020/<br />
170020:XXXXXX 1576 (ПС)<br />
170022:XXXXXX 1000 (ВВОД)<br />
ПУЛЬТ><br />
Проверьте наличие на выводе 1 микросхемы D7 импульсов с <br />
периодом повторения 130 мкс.<br />
В случае отсутствия импульсов или наличие их с другим <br />
периодом повторения необходимо проверить наличие на выводе 1 <br />
микросхемы D5 импульсов с периодом повторения 130 мкс, а <br />
также проверить работоспособность мультиплексора D8.<br />
<br />
7.7.8. Последовательно записывая по адресу 170030 <br />
следующие данные: 261, 262, 263, 264, 265, 266,<br />
�<br />
Пример:<br />
ПУЛЬТ> 170030/<br />
170030:ХХХХХХ 261 (ВВОД)<br />
ПУЛЬТ><br />
убедитесь в наличии на выводе 1 микросхемы D7 импульсов с <br />
периодами повторения соответственно: 260 мкс; 520 мкс; 1,04 мс; <br />
208 мс; 4,16 мс и 8,32 мс.<br />
В противном случае необходимо проверить работоспособность <br />
микросхем D6 и D8.<br />
<br />
7.7.9. По адресу 170030 запишите 203, при этом на выводах <br />
5 и 10 микросхемы D7 должны быть высокие уровни.<br />
По адресу 170024 запишите 200:<br />
На экране видеомонитора будет следующее:<br />
ПУЛЬТ> 170024/<br />
170024:ХХХХХХ 200 (ПС)<br />
170026:ХХХХХХ <br />
Сразу после нажатия на клавишу ПС должен быть слышен <br />
звуковой сигнал постоянной тональности. Длительность звучания его<br />
должна быть 2 - 3 сек. <br />
В противном случае необходимо проверить наличие на выводе <br />
4 микросхемы D3 отрицательного импульса при обращении к ячейке с <br />
адресом 170026, наличие отрицательного импульса на выводе 1 <br />
микросхемы D3 по истечении 2 - 3 сек после нажатия на клавишу ПС, <br />
а также работоспособность микросхемы D7 и каскада на транзисторе <br />
VT1.<br />
<br />
7.7.10. При каждом обращении к ячейке с адресом 170032 <br />
триггер D3.1 должен переключаться в противоположное состояние. В <br />
противном случае необходимо проверить наличие отрицательного <br />
импульса на входе С триггера D3.1 при каждом обращении к ячейке с <br />
�<br />
адресом 170032.<br />
<br />
7.8. Настройка накопителя НГМД-1 ЫД3.065.003<br />
<br />
7.8.1. Настройка накопителя заключается в настройке <br />
контроллера ЫД5.109.005, проверке совместимости дисководов и <br />
возможности перезаписи программ с диска на диск.<br />
<br />
7.8.2. Плата контроллера настраивается в собранном <br />
накопителе ЫД3.065.003. Настройку производите только после <br />
тщательной проверки платы контроллера на отсутствие коротких <br />
замыканий и обрывов, а также после проверки правильности распайки <br />
соединительных проводов, подходящих к плате контроллера.<br />
<br />
7.8.3. Подключите НГМД-1 к системному блоку с версией ПЗУ<br />
процессора - 3Т при помощи переходного кабеля.Переключателем СЕТЬ<br />
включите сначала НГМД-1, затем блок системный. Переведите ПЭВМ в<br />
режим пультового терминала.Если это невозможно сделать,необходимо<br />
проверить исправность микросхем D1 и D2 и отсутствие замыканий в<br />
шине адреса данных и управляющих сигналов.<br />
<br />
7.8.4. Убедитесь в том, что контроллер отвечает по <br />
адресам 177100, 177102, 177104, 177106. При открывании этих <br />
ячеек на экране видеомонитора должно отображаться их содержимое. <br />
В противном случае с помощью клавиатуры наберите на ПЭВМ<br />
следующую программу:<br />
1000 : 12737 (ПС)<br />
1002 : 1000 (ПС)<br />
1004 : 4 (ПС)<br />
1006 : 12706 (ПС) <br />
1010 : 1000 (ПС)<br />
�<br />
1012 : 5737 (ПС)<br />
1014 : 177100 (ПС)<br />
1016 : 770 (ВВОД)<br />
и запустите ее:<br />
ПУЛЬТ> 1000G.<br />
По адресу 1014 записывается адрес того регистра, который <br />
не отвечает. Проверьте наличие сигналов CS на микросхеме D1 и <br />
формирование сигнала СИП микросхемами D5.1, D5.2, D1 (вывод 20).<br />
<br />
7.8.5. Проверьте наличие на выводе 13 микросхемы D18 <br />
импульсов частотой 1МГц. Если импульсы отсутствуют, то необходимо <br />
проверить исправность микросхемы D12 и кварцевого резонатора ZQ1.<br />
<br />
7.8.6. Проверьте наличие на выводе 9 микросхемы D10<br />
импульсов с периодом повторения 8 - 10 сек. Если импульсы <br />
отсутствуют, то необходимо проверить работоспособность генератора <br />
на микросхеме D7 (частота генерируемых импульсов около 1 Гц), а <br />
также работоспособность микросхемы D9.<br />
<br />
7.8.7. Произведите загрузку операционной системы с <br />
контрольного диска в ПЭВМ с основного накопителя в соответствии <br />
со справочником оператора ЫД.00001-01 91 01 и загрузите программу<br />
NALMD набрав на клавиатуре: GET NALMD и нажав кнопку ВВОД. После <br />
загрузки программы переведите ПЭВМ в режим "ПУЛЬТ", нажав<br />
одновременно кнопки УПР и СТОП.<br />
<br />
7.8.8. Запустите программу с адреса 1000:<br />
Пульт: 1000G<br />
Проверьте на выводе 10 D23 наличие импульсов отрицательной<br />
полярности длительностью 3,5-4мс и при необходимости подстройте<br />
длительность с помощью резистора R22.<br />
�<br />
7.8.9. Проверьте визуально включение и выключение<br />
двигателей обоих дисководов с интервалом в 8-10сек. При этом при <br />
включении двигателей должна загораться лампочка выбора на <br />
дисководе 2, а при выключении- на дисководе 1. В противном случае<br />
переведите ПЭВМ в режим "Пульт", в ячейку памяти 4000 запишите <br />
номер проверяемого дисковода (0,4- карман 1 и 1,5- карман 2) и <br />
запустите программу с адреса 1100. Засинхронизируйте осциллограф <br />
от вывода 27 D1 и проверьте формирование сигналов DR SEL0 или<br />
DR SEL1 и MOTOR ON. При отсутствии сигналов DR SEL проверить их <br />
формирование на 4D4, 13D2, 12D2, 1D14, 10D14, 1D36 и 2D36, а при <br />
отсутствии сигнала MOTOR ON проверить его формирование на 4D4, <br />
10D2, 13D19 и 10D35.<br />
<br />
7.8.10. Проверьте визуально работу шагового двигателя. <br />
Для этого переведите ПЭВМ в режим "Пульт", в ячейку памяти 4000 <br />
запишите номер проверяемого дисковода (см. п.7.8.9), вставьте <br />
рабочую дискету в соответствующий карман и запустите программу с<br />
адреса 1200.<br />
Каретка должна перемещаться плавно от края диска к центру <br />
и обратно, на экране не должно быть никаких сообщений. При <br />
отсутствии перемещения засинхронизируйте осциллограф от вывода <br />
25D1 и проверьте формирование сигнала STEP на 4D3, 13D2, 12D15,<br />
10D21 и 4D35. На выводе 3D14 должен быть низкий уровень. Если на <br />
3D14 высокий уровень, засинхронизируйте осциллограф от вывода 27D1 <br />
и проверьте сигналы на 4D4, 9D2 и 3D14. Если каретка вибрирует в <br />
одном из крайних положений и не перемещается, немедленно <br />
переведите ПЭВМ в режим "Пульт". Запишите в ячейку 1432 вместо <br />
единицы ноль и нажмите клавишу G. Засинхронизировав осциллограф <br />
от вывода 27 D1, проверьте одновременное наличие двух уровней <br />
сигнала DIREСT (высокий и низкий) на МС 8D2, 2D19, 2D7 и 6D35. <br />
Появление сообщения "Нет нулевой дорожки" говорит о том, что не <br />
�<br />
сформировался сигнал TR00 на 5D33, а сообщение "нулевая дорожка <br />
не на месте" говорит о том, что сигнал TR00 на 5D33 постоянно <br />
низкого уровня. Засинхронизировав осциллограф от вывода 10 D3 <br />
проверьте наличие на выводе 5 D33 на фоне сигнала высокого <br />
уровня слабого сигнала низкого уровня. В противном случае <br />
проверьте прохождение сигнала TRACK00- 4D11, 10D16, 5D33 и уровни <br />
"1" и "0" на 9D16 и 14D16. Можно также засинхронизироваться от <br />
сигнала TRACK00 (контакт 47) и проверить эту же цепочку.<br />
<br />
7.8.11. Проверьте правильность выполнения команды ЧТЕНИЕ.<br />
Для этого переведите ПЭВМ в режим "Пульт", в ячейку памяти 4000 <br />
запишите номер проверяемого дисковода (см. п.7.8.9), вставьте <br />
рабочую дискету в соответствующий карман и запустите программу с <br />
адреса 1500. Появление сообщения "Нет готовности" говорит, что не <br />
сбрасывается бит "Reload". Проверьте прохождение сигнала READY <br />
на МС 12D11, 8D7 и единичное состояние триггера D17.1 <br />
(установка по входам C и S) и прохождение сигнала на D33 <br />
(синхронизация от вывода 10D3).<br />
После перехода ПЭВМ в режим "Пульт" проверьте содержимое <br />
регистра R7 набрав команду "S" (должно быть 2100) и содержимое <br />
ячеек начиная с 5000. В первых ячейках должна быть 6, а, <br />
примерно, с адреса 5040 должно быть 26. При наличии других <br />
значений запустите программу с адреса 2100, засинхронизируйте <br />
осциллограф от вывода 10D3 и проверьте формирование лишних <br />
разрядов. Проверьте содержимое ячеек, начиная с 7000. Содержимое <br />
их должно быть следующее:<br />
7000/ 363<br />
7002 0<br />
7004 27<br />
7006 0<br />
7010 0<br />
�<br />
7012 0<br />
7014 377<br />
7016 377<br />
7020 10<br />
7022 0<br />
7024 27<br />
7026 27<br />
7030 27<br />
.... ..<br />
<br />
7.8.12. Если ПЭВМ не перешла в "ПУЛЬТ" или информация в <br />
памяти не соответствует эталону, проверьте формирование сигнала <br />
"TR" на 11D33, 6D24, 1D26, 11D16, 6D7, 6D34, 2D30; импульс <br />
синхронизации с дорожкой (КТ1), 13D31; импульс дорожки (КТ2); <br />
импульс данных на 10D11, 1D13, 1D25, 10D28; импульсы выделения <br />
данных на D18, 12D13, 13D25; схему выделения маркера на 3D32, 3D37, <br />
10D29.<br />
<br />
7.8.13. Проверьте правильность выполнения команды ЗАПИСЬ. <br />
Для этого переведите ПЭВМ в режим "ПУЛЬТ", в ячейку памяти 4000 <br />
запишите номер проверяемого дисковода (см. п.7.8.9), вставьте в <br />
соответствующий карман дискету с заклееной защитой записи и <br />
запустите программу с адресом 2300. ПЭВМ должна перейти в режим <br />
"ПУЛЬТ" без выдачи сообщений и с адресом 3000 в регистре R7. <br />
Другой результат говорит о неверном выполнении команды чтения и <br />
необходимо вернуться к пункту 7.8.11. Проверьте содержимое ячеек <br />
5000, 5002 - в них должна быть 6, а в ячейках 7000 и 7002 - 363 и <br />
1, в противном случае вернитесь к пункту 7.8.11. <br />
Продолжите программу, нажав на клавиатуре клавишу G. После <br />
перехода ПЭВМ в режим "ПУЛЬТ" проверьте содержимое регистра R7 <br />
(должно быть 3200) и содержимое ячеек начиная с 5000. В первых <br />
ячейках должна быть 6, а, примерно с адреса 5060, должно быть 26. <br />
�<br />
При наличии других значений, или если ПЭВМ не перешла в "ПУЛЬТ", <br />
запустите программу с адреса 3200, засинхронизируйте осциллограф <br />
от сигнала INDEX и проверьте формирование разрядов на МС D33, <br />
формирование сигнала "TR" на 11D33, 6D24, 1D26, 11D16, 10D34, <br />
9D34, 2D30; импульс синхронизации с дорожкой (КТ1), 13D31; импульс <br />
дорожки (КТ2); сигнал разрешения записи на 6D11, 3D27; импульсы <br />
данных на 1D28, 11D27, 8D27, 8D35; импульсы строба данных D18. <br />
<br />
7.8.14. Переведите ПЭВМ в режим "ПУЛЬТ", вставьте рабочую <br />
дискету вместо дискеты с защитой записи, запустите программу с <br />
адреса 2300. После перехода ПЭВМ в режим "ПУЛЬТ" с адресом в <br />
регистре R7 - 3000 запишите в ячейки 6760 - 6776 нули, а в ячейки, <br />
начиная с 7024, запишите любые данные и нажмите клавишу G.<br />
<br />
7.8.15. Перейдите из режима "ПУЛЬТ" в систему, набрав на <br />
клавиатуре 0G, а при невозможности этого перезагрузите ПЭВМ <br />
(п.7.8.7.) и загрузите тестовую программу TSTMD. Проверьте <br />
правильность выполненной записи на первой дорожке с помощью <br />
команды "D". Информация должна соответствовать записанной в <br />
п.7.8.14 (младшие байты из двух слов памяти записываются в одно <br />
слово на диске). Проверьте запись и чтение на дорожках 1, 50, 117, <br />
а затем проверьте на чтение весь диск. Выйдите из программы.<br />
<br />
7.8.16. Проверьте правильность перезаписи с эталонной <br />
дискеты на рабочую всех программ и загрузчика:<br />
COP/SYS MD0: MD2:<br />
COP/BOOT MD2:NEMIGA MD2:<br />
COP/SYS MD1: MD3:<br />
COP/BOOT MD3:NEMIGA MD3:<br />
<br />
7.8.17. Окончательную проверку произвести в составе класса <br />
загрузкой операционной системы с обоих карманов и формированием <br />
�<br />
эталонных дискет в обоих карманах.<br />
<br />
7.9. Настройка блока сопряжения ЫД5.109.004.<br />
<br />
7.9.1. Настройка блока сопряжения заключается в проверке <br />
работоспособности блока совместно с цифропечатающим устройством <br />
(ЦПУ). <br />
<br />
7.9.2. Настройку блока следует производить только после <br />
тщательной проверки платы ЫД6.672.159 блока на отсутствие коротких <br />
замыканий и обрывов и правильной распайки соединительных проводов, <br />
подходящих к плате и разъемам XS1, XP2 и XP3.<br />
<br />
7.9.3. Подключите печатающее устройство к системному блоку <br />
через блок сопряжения. Включите печатающее устройство и <br />
подготовьте его к работе в соответствии с инструкцией по <br />
эксплуатации.<br />
<br />
7.9.4. Для проверки блока сопряжения используется тест <br />
печатающего устройства. Загрузите операционную систему, <br />
наберите с блока клавиатуры команду PRINT TEST PU.LST и нажмите <br />
кнопку ВВОД. Печатающее устройство должно вывести распечатку теста <br />
в соответствии с разделом 5 ЫД.00001 - 01 34 01. При прохождении <br />
теста регулировку блока сопряжения можно считать законченной. В <br />
противном случае необходимо проверить передачу данных. Для этого в <br />
регистр данных (ячейка 177516) запишите код 101 (символ буквы А) и <br />
нажмите кнопку ВВОД. Печатающее устройство должно напечатать <br />
символ А. Если печатающее устройство не напечатает символ А, <br />
проверьте наличие данных на шине адресов-команд на точках 18, 9, <br />
15, 14, 19, 17, 11, 16 блока сопряжения, а также сигналы КСИПН на <br />
выводе 39 микросхемы D4 и сигнала КСБРОСН на выводе 34 микросхемы <br />
D4.<br />
�<br />
7.10. Настройка блока первичного питания ЫД2.087.025.<br />
<br />
7.10.1. Настройка блока первичного питания (БПП-1) <br />
заключается в проверке правильности монтажа блока и получении <br />
выходных напряжений каждого из 3 выпрямителей.<br />
<br />
7.10.2. Проверьте качество монтажа блока, особенно <br />
обратите внимание на правильность распайки конденсаторов С3...С11. <br />
<br />
7.10.3. Подключите БПП-1 к сети 220 В, 50 Гц. Переведите <br />
переключатель S1 в верхнее положение, на передней панели блока <br />
должна загореться сигнальная лампочка СЕТЬ. Включите тумблеры <br />
S2...S4 (каналы), при этом должны загореться сигнальные лампочки <br />
каналов. Проверьте выходные напряжения каналов на холостом ходу <br />
(выводы 1 - 2, 3 - 4 и 5 - 6). Эти напряжения не должны превышать <br />
30 В при напряжении сети 242 В. Если эти напряжения более 30 В, <br />
необходимо при помощи перепайки отводов трансформаторов Т1...Т3 <br />
добиться требуемого значения напряжения.<br />
<br />
7.10.4. Подключите нагрузку поочередно к каждому каналу <br />
(7,5А) и проверьте выходные напряжения на каждом канале. Оно <br />
должно быть не менее 24 В при напряжении сети 187 В.<br />
<br />
7.11. Настройка персонального компьютера.<br />
<br />
7.11.1. Перед настройкой ПК необходимо сбалансировать токи <br />
модулей электронных 2МБ12. Балансировка токов модулей 2МБ12 в <br />
блоке системном и накопителе НГМД-1 проводится с целью обеспечения <br />
равномерной нагрузки по току каждого из блоков, так как они <br />
работают на общую нагрузку.<br />
�<br />
7.11.2. Соберите схему регулировки согласно рис. 11.<br />
<br />
Схема регулировки модулей электронных 2МБ12.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Рис. 11.<br />
<br />
Отсоедините перемычку между выводами 3 модулей. Подключите <br />
нагрузку 1 к схеме. Включите кнопку СЕТЬ. Включите тумблер S1 и <br />
установите резистором R24 по прибору V напряжение 12,0 В при токе <br />
I =0,9 А (устанавливается резистором Rп). Увеличивая резистором <br />
Rп ток, зафиксируйте точно при каком токе происходит срабатывание <br />
защиты. Отключите S1 и включите S2. По вольтметру установите <br />
резистором R24 точно такое же напряжение, что и в первом блоке <br />
2МБ12. Обратите внимание на необходимость регулировки равных <br />
напряжений молей электронных 2МБ12. Установите резистором R11 <br />
одинаковый ток защиты обоих источников. Отключите S2, выключите <br />
кнопку СЕТЬ, отключите нагрузку 1.<br />
�<br />
7.11.3. Подключите нагрузку 2, включите тумблеры S1 и S2. <br />
Включите тумблер СЕТЬ. Изменяйте ток нагрузки I и I резистором<br />
Rп в пределах 0,6 - 0,9 А. Контролируйте напряжение вольтметром V. <br />
Разность показаний приборов А1 и А2 не должна превышать 10%.<br />
<br />
7.11.4. После настройки модулей электронных 2МБ12 вставьте <br />
в контейнер модуль процессора, модуль ОЗУ и модуль локальной сети.<br />
Подключите к блоку системному через устройство сопряжения <br />
ЫД5.109.004 накопитель НГМД-1. В соответствии с руководством <br />
оператора ЫД.00001-01 34 01 произведите контроль работоспособности <br />
устройств, входящих в ПК по тестовым программам.<br />
<br />
7.11.5. После прохождения теста графики резисторами R16, <br />
R13 и R14 модуля ОЗУ подрегулируйте, если это необходимо, уровни: <br />
яркость 3, яркость 2 и яркость 1. Уровень яркость 2 должен быть <br />
приблизительно 2/3 уровня яркости 3, а уровень яркость 1 должен <br />
быть приблизительно 1/3 уровня яркости 3.<br />
<br />
7.12. Настройка КВ "Немига".<br />
<br />
7.12.1. Настройка и проверка КВ "Немига" проводится по <br />
тесту при помощи программы QNTR в соответствии с разделом 4 <br />
справочника оператора ЫД.00001-01 91 01.<br />
</pre><br />
<br />
<br />
<br />
[[Категория:Немига]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3347Микропроцессорный комплект 5882023-03-25T18:47:15Z<p>Nzeemin: /* Применение */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
Серия также выпускалась как 1824 — радиационно-стойкая, кремний на сапфире.<br />
<br />
В комплект входят микросхемы двух наборов: «старый» с системой команд Электроника НЦ, и «новый» с системой команд Электроника-60 (PDP-11).<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
* Самопал-588<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Медведев А. В., Рудометов Е. Н. Организация работы арифметического устройства К588ИК2 в автономном режиме // Электронная промышленность, 1983, № 3.<br />
* Черняховский Д. Н., Шиллер В. А., Юровский А. А. Процессор с системой команд и интерфейсом микроЭВМ «Электроника-60» на основе БИС серйи КР588. — Электронная промышленность, 1983, вып. 9, с. 11 — 13.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С. Н., Черняковский Д. Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
* Горовой В. В., Кособрюхов В. А., Таратын И. А., Хвощ С. Т. Комплект интерфейсных БИС серии К588 для мультиплексного канала // Электронная промышленность. 1986, № 2.<br />
* Корнуков А. П., Криворучко Ю. Т., Песляк Е. А. Одноплатные микроЭВМ на микропроцессорных БИС серии К588 // Электронная промышленность. 1986, № 2.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3346Микропроцессорный комплект 5882023-03-25T18:46:31Z<p>Nzeemin: </p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
Серия также выпускалась как 1824 — радиационно-стойкая, кремний на сапфире.<br />
<br />
В комплект входят микросхемы двух наборов: «старый» с системой команд Электроника НЦ, и «новый» с системой команд Электроника-60 (PDP-11).<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Медведев А. В., Рудометов Е. Н. Организация работы арифметического устройства К588ИК2 в автономном режиме // Электронная промышленность, 1983, № 3.<br />
* Черняховский Д. Н., Шиллер В. А., Юровский А. А. Процессор с системой команд и интерфейсом микроЭВМ «Электроника-60» на основе БИС серйи КР588. — Электронная промышленность, 1983, вып. 9, с. 11 — 13.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С. Н., Черняковский Д. Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
* Горовой В. В., Кособрюхов В. А., Таратын И. А., Хвощ С. Т. Комплект интерфейсных БИС серии К588 для мультиплексного канала // Электронная промышленность. 1986, № 2.<br />
* Корнуков А. П., Криворучко Ю. Т., Песляк Е. А. Одноплатные микроЭВМ на микропроцессорных БИС серии К588 // Электронная промышленность. 1986, № 2.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3345Микропроцессорный комплект 5882023-03-25T18:45:21Z<p>Nzeemin: </p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
В комплект входят микросхемы двух наборов: «старый» с системой команд Электроника НЦ, и «новый» с системой команд Электроника-60 (PDP-11).<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Медведев А. В., Рудометов Е. Н. Организация работы арифметического устройства К588ИК2 в автономном режиме // Электронная промышленность, 1983, № 3.<br />
* Черняховский Д. Н., Шиллер В. А., Юровский А. А. Процессор с системой команд и интерфейсом микроЭВМ «Электроника-60» на основе БИС серйи КР588. — Электронная промышленность, 1983, вып. 9, с. 11 — 13.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С. Н., Черняковский Д. Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
* Горовой В. В., Кособрюхов В. А., Таратын И. А., Хвощ С. Т. Комплект интерфейсных БИС серии К588 для мультиплексного канала // Электронная промышленность. 1986, № 2.<br />
* Корнуков А. П., Криворучко Ю. Т., Песляк Е. А. Одноплатные микроЭВМ на микропроцессорных БИС серии К588 // Электронная промышленность. 1986, № 2.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0&diff=3344Немига2023-03-25T17:31:48Z<p>Nzeemin: /* Регистры (порты) */</p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:800px-NEMIGA class.jpg|thumb]]<br />
[[Файл:Nemiga PK588 loading.jpg|thumb]]<br />
'''Немига''' — советский 16-разрядный персональный компьютер, выпускался на белорусских предприятиях с 1989 года. Предназначался для поставки в учебные заведения в составе КУВТ. По системе команд совместим с PDP-11 и его советскими клонами — [[Электроника-60]], [[ДВК]].<br />
<br />
Процессор машины реализован на [[Микропроцессорный комплект 588|наборе микросхем серии 588]] — эти микросхемы выпускались на минском ПО «Интеграл».<br />
<br />
Существовало как минимум три версии Немиги, отличающихся схемотехникой и ПЗУ: 3.03, 4.05, 4.06.<br />
<br />
== Пульт ==<br />
При запуске машины начинается загрузка из сети, но если она не удалась, мы попадаем в пультовый режим с приглашением <code>ПУЛЬТ&gt;</code>.<br />
<br />
Пультовый режим воспринимает команды; каждая команда это либо символ, либо 8-ричное число и символ.<br />
<br />
Полный набор команд пульта для версии 3.03:<br />
* <code>S</code> — просмотр регистров<br />
* <code>/</code> либо <code>000000/</code> — просмотр ячеек памяти, c указанием адреса или без; ПС — след адрес, <code>^</code> (клавиша <code>Ч</code>) — пред адрес, <code>ВВОД</code> — выход<br />
* <code>G</code> — продолжить выполнение программы, <code>10000G</code> — продолжить с заданного адреса<br />
* <code>D</code> либо <code>1D</code> — загрузка с диска MD, с указанием номера диска 0..7 либо без<br />
* <code>X</code> либо <code>1X</code> — загрузка с диска DX, с указанием номера диска 0..1 либо без (только в прошивке 3.03)<br />
* <code>N</code> — загрузка из сети, реально просто переход к процедуре холодного старта<br />
* <code>УПР+L</code> — очистка экрана<br />
<br />
В любой момент выполнение программы можно прервать нажатием УПР+ФСД/СТОП, система переходит в пультовый режим. При этом содержимое всех регистров сохраняется, их можно просмотреть командой <code>S</code>. Команда <code>/</code> позволяет просмотреть/изменить отдельные ячейки памяти. А команда <code>G</code> восстанавливает регистры и продолжает выполнение прерванной программы с того же места.<br />
<br />
== Процессор ==<br />
<br />
Процессор реализован на [[Микропроцессорный комплект 588|микросхемах серии 588]]:<br />
* [[588ВС2|КР588ВС2]] (D1) — арифметико-логическое устройство (АЛУ), управляется 12-разрядными микрокомандами из КР588ВУ2-0001, −0002, −0004<br />
* [[588ВУ2|КР588ВУ2]]-0001, −0002, −0006, −0004, −0007 (D2..D6) — управляющая память (УП) — микропрограммы для D1, D17, D18<br />
* [[588ВГ1|КР588ВГ1]] (D18) — системный контроллер (СК) — обеспечивает внутренний интерфейс процессора и его связь с Q-шиной (МПИ, OCT 11305.903-80), управляется микрокодом из КР588ВУ2-0007<br />
* [[588ВР2|К588ВР2]] (D17) — арифметический умножитель 16×16 (УМ), управляется 5-разрядными микрокомандами из КР588ВУ2-0006 (D4); умножение и деление задействует память по адресам 170000-170005<br />
* [[588ВА1|КР588ВА1]] (D21, D24) — 8-разрядный магистральный приёмо-передатчик (МПП)<br />
* [[588ВГ2|КР588ВГ2]] (D15, D16) — контроллер запоминающего устройства (КЗУ)<br />
<br />
Начальный пуск: сброс устройств, затем чтение PC и PSW из 160006 и 160010, запуск в режиме HALT.<br />
<br />
; Система команд<br />
<br />
Процессор реализует систему команд компьютера Электроника-60 (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой). Есть команды расширенной арифметики (MUL, DIV, ASH, ASHC), реализуются микрокодом в D4 и умножителем D17.<br />
Набор команд описан в ТО и в справочниках по БИС сериии КР588.<br />
<br />
: '''''См. также: [[Немига/EIS]]'''''<br />
<br />
; Режимы USER и HALT<br />
Процессор поддерживает работу в двух режимах — USER и HALT.<br />
<br />
Ситуации перехода в режим HALT (согласно ТО):<br />
* появление сигнала СБРОС (INIT)<br />
* запрос на обслуживание локальной сети<br />
* обращение к области памяти 177560-177566 (регистры системной консоли)<br />
* нажатие клавиши на клавиатуре<br />
* выполнение команды HALT<br />
<br />
В режиме HALT область ОЗУ 177600-177777 замещается ОЗУ из другой области (предположительно, эти ячейки памяти лежат «под» системным ПЗУ и поэтому не используются обычным образом).<br />
<br />
'''''NOTE:''''' В документации не описан механизм возврата из режима HALT в USER. По коду прошивки ПЗУ видно, что к этому приводит запись байта 0 по адресу 170006; запись 3 в 170006 приводит к переходу из USER в HALT.<br />
<br />
; Прерывания<br />
Прерывания по описанию КР588ВГ1 (D18), в порядке убывания приоритета, использование определено по схеме:<br />
{|class=standard<br />
! Code !! Прерывание !! pin !! Использование<br />
|-<br />
| 1010 || Режим начального пуска / двойная ошибка канала<br />
|-<br />
| 1110 || Прерывание по T-разряду / ошибка канала<br />
|-<br />
| 1111 || Пропадание питания / ошибка канала || 30 || НЕ используется<br />
|-<br />
| 0111 || HLT — Прерывание по входу ОСТАНОВ / ошибка канала || 36 || используется<br />
|-<br />
| 0101 || INR0 — Требование прерывания от ВУ || 31 || НЕ используется<br />
|-<br />
| 0100 || INR1 — Требование прерывания от ВУ || 34 || НЕ используется<br />
|-<br />
| 0110 || INR2 — Требование прерывания от ВУ || 33 || используется<br />
|-<br />
| 0010 || INR3 — Требование прерывания от ВУ || 32 || используется<br />
|-<br />
| 0011 || EVNT — Прерывание по внешнему событию || 35 || используется<br />
|-<br />
| 0001 || RQ — Запрос прерывания от ВУ || 28 || используется<br />
|-<br />
|}<br />
<br />
Вектора прерываний:<br />
* 160002 — сигнал/команда HALT в режиме HALT<br />
* 160006 — прерывание начального пуска<br />
* 160012 — ошибка при приёме вектора прерывания<br />
* 000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR<br />
* 000010 — резерный код команды<br />
* 000014 — прерывание по T-разряду или команда BPT<br />
* 000020 — команда IOT<br />
* 000024 — питание<br />
* 000030 — команда EMT<br />
* 000034 — команда TRAP<br />
* 000060 — терминал клавиатура (вызывается из кода ПЗУ)<br />
* 000064 — терминал дисплей (вызывается из кода ПЗУ)<br />
* 000100 — прерывание EVNT<br />
* 000104 — адрес обработчика сигнала Н4 от сетевой карты (вызывается из кода ПЗУ)<br />
* 000110 — мелодия закончилась кодом 040 (вызывается из кода ПЗУ)<br />
<br />
== Регистры (порты) ==<br />
{| class=standard<br />
! Регистр !! Назначение !! Примечание !! Значение в пульте 4.06<br />
|-<br />
| 170000 ||rowspan=3| Память ||rowspan=3| Используются микросхемой,<br />выполняющей операции умножения/делениия || 000000<br />
|-<br />
| 170002 || 000000<br />
|-<br />
| 170004 || 047764<br />
|-<br />
| 170006 || || Регистр данных клавиатуры (байт 170006),<br /> регистр фиксации HALT-запросов (байт 170007, D27) || 001412<br />
|-<br />
| 170010 ||rowspan=2| Адаптер<br />локальной сети || состояние || 074010<br />
|-<br />
| 170012 || данные || 000000<br />
|-<br />
| 170014 || ??? || || 000000<br />
|-<br />
| 170020 ||rowspan=6| Таймер и звук || состояние программируемого таймера || 001261<br />
|-<br />
| 170022 || первый счётчик || 000000<br />
|-<br />
| 170024 || второй счётчик || 000000<br />
|-<br />
| 170026 || включение звука || 000000<br />
|-<br />
| 170030 || управляющее слово выбора громкости и октавы || 000000<br />
|-<br />
| 170032 || отключение звука || 000000<br />
|-<br />
| 177100 ||rowspan=4| Контроллер<br />дисковода MD || состояние || 000271<br />
|-<br />
| 177102 || данные || 000377<br />
|-<br />
| 177104 || управление || 000127<br />
|-<br />
| 177106 || таймер || 000106<br />
|-<br />
| 177170* ||rowspan=2| Контроллер<br />дисковода DX* || состояние<br />
|-<br />
| 177172* || данные<br />
|-<br />
| 177514 ||rowspan=2| Устройство<br />сопряжения || состояние параллельного порта<br />
|-<br />
| 177516 || данные параллельного порта<br />
|-<br />
| 177560 ||rowspan=4| Регистры<br />системной консоли || состояние клавиатуры || 000000<br />
|-<br />
| 177562 || данные клавиатуры || 000012<br />
|-<br />
| 177564 || состояние терминала || 000200<br />
|-<br />
| 177566 || данные терминала || 000000<br />
|-<br />
| 177570 ||rowspan=2| Косвенный доступ<br />к памяти || данные || 000000<br />
|-<br />
| 177572 || адрес || 000000<br />
|-<br />
| 177574** || || Регистр управления || 000000<br />
|-<br />
|}<br />
<nowiki>*</nowiki> — код загрузки с дисковода формата DX обнаружен в прошивке версии 3.03; для загрузки с него используется команда «X».<br /><br />
<nowiki>**</nowiki> — аппаратная версия 4.x<br />
<br />
Результат прогона программы IOSCAN на реальной машине с прошивкой 4.06 [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570] (здесь детектируется регистр 170014, которого нет в документации):<br />
<pre>160000-170014<br />
170020-170032<br />
177100-177106<br />
177514-177516<br />
177560-177574<br />
177600-177776</pre><br />
<br />
;Регистр 170006<br />
Старший байт регистра 170006 — это регистр фиксации HALT-запросов, отдельные его биты отвечают за различные причины вызова HALT-прерывания. Младший байт регистра 170006 — регистр данных клавиатуры.<br />
<pre><br />
170006 (R) Регистр фиксации HALT и данных клавиатуры<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─1┴─1┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
СБРОС│ │ │ │ │ └── Данные клавиатуры ──┘<br />
Н1 Н2 Н3 Н4 Клавиатура<br />
</pre><br />
Младший байт регистра это байт с клавиатуры (регистр D27); если установлен бит 10, то символ готов для чтения.<br /><br />
Старший байт регистра это регистр фиксации HALT (D28, биты регистра идут в обратном порядке) — определяет причину появления прерывания HALT.<br />
* бит 15 — признак канального сигнала СБРОС;<br />
* бит 14 — сигнал Н1 — обращение к регистру данных терминала 177566;<br />
* бит 13 — сигнал Н2 — обращение к регистру данных клавиатуры 177562;<br />
* бит 12 — сигнал Н3 — кадровый синхроимпульс, 50 Гц<br />
* бит 11 — сигнал Н4 от платы адаптера локальной сети;<br />
* бит 10 — сигнал готовности очередного байта с клавиатуры, поступает с триггера D37.2;<br />
* биты 8,9 заземлены = 1.<br />
<br />
'''''NOTE:''''' В коде прошивки ПЗУ регистр 170006 также используют на запись, записывая в него байтовое значение 3 для маскирования системных прерываний.<br />
По записи в 170006 сбрасывается регистр D27 (видно по схеме).<br />
<br />
;Регистры системной консоли<br />
При разработке Немиги предусмотрели совместимость с «Электроника-60» по адресам и работе регистров системной консоли — это регистры 177560/177562 (состояние/данные клавиатуры) и 177564/177566 (состояние/данные терминала). Это просто ячейки ОЗУ, но обращение к ним приводит к вызову прерывания HALT с установкой соответствующих флагов в регистре 177006 (чтение регистра данных клавиатуры 177562, запись в регистр данных терминала 177566). Программа обработки прерывания HALT анализирует флаги и эмулирует работу регистров консоли, а также выполняет прерывания по векторам 60 и 64, если стоят соответствующие флаги в регистрах состояния.<br />
<pre><br />
177560 Регистр состояния клавиатуры<br />
177564 Регистр состояния терминала<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴──┴──┴──┴──┴──┴──┘<br />
│ └─ Разрешение прерывания: 1 = разрешено<br />
└──── Готовность к приёму/передаче: 0 = готов<br />
</pre><br />
<br />
; Регистр управления 177574 (только 4.xx)<br />
* бит 0 — специальная адресация памяти: экран проецируется на нижнюю память.<br />
<br />
== Память ==<br />
* Адреса 000000-137777 — ОЗУ<br />
* Адреса 140000-157777 — зарезервированы под дополнительные 8 КБ ПЗУ (D11-D14)<br />
* Адреса 160000-167777 — системное ПЗУ, 4 КБ (D9-D10)<br />
* Адреса 170000-177777 — ОЗУ и порты<br />
** Адреса 177600-177777 — окно памяти, включаемое только в режиме HALT<br />
<br />
Процессору непосредственно доступно 64 КБ памяти. Помимо этого, существует возможность «косвенного» обращения ко всем 128 КБ ОЗУ, через регистры косвенной адресации 177570 (адрес) и 177572 (данные). Адрес косвенной адресации получается сдвигом на один разряд вниз обычного адреса «прямой» адресации.<br />
<pre><br />
Адрес Косв. адрес<br />
000000 ┌────────────────────┐ 000000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ О З У │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
140000 ├────────────────────┤ 060000<br />
│ Дополнит. ПЗУ 8К │<br />
│ │<br />
160000 ├────────────────────┤ 070000<br />
│ Системное ПЗУ 4К │<br />
170000 ├────────────────────┤<br />
│ ОЗУ и порты │<br />
200000 ╞════════════════════╡ 100000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
├────────────────────┤ 140000<br />
│ │<br />
│ │<br />
│ │<br />
│ Э К Р А Н │<br />
│ │<br />
│ 32К │<br />
│ │<br />
│ │<br />
│ │<br />
└────────────────────┘ 200000<br />
</pre><br />
В аппаратной версии 4.x появилась возможность включить проецирование 32К экрана на нижние 32К обычной памяти (этим управляет новый регистр 177574, бит 0) — сделано это, очевидно, для ускорения вывода на экран.<br />
<br />
== Видео ==<br />
[[Файл:NemigaTO-pic9.png|thumb]]<br />
Видео-контроллер формирует растр размером 512×312 точек, в котором «полезной» площадью является блок 512×256 точек. Экран хранится в верхней части памяти, доступной по косвенному адресу 140000, занимает 32 КБ. Каждые 8 точек растра занимают 2 соседних байта — каждый байт это отдельный битплан, то есть каждая точка это два бита, лежащие в соседних байтах, что даёт 4 градации яркости на точку.<br />
<br />
Знакогенератор содержит символы размером 8×8 точек, при выводе текста между строками оставляют место высотой в два пиксела. Таким образом экран используется как текстовый в 25 строк.<br />
<br />
Прошивка 3.03 использует не всю ширину экрана, а только 416 точек — слева и справа остаются пустые полосы по 48 точек.<br />
Прошивки 4.05 и 4.06 используют уже всю ширину в 512 точек.<br />
<br />
3.03 4.05 и 4.06<br />
┌─ 512 × 312 ────────────────────────┐ ┌─ 512 × 312 ────────────────────────┐<br />
│ │ │ │<br />
│ │ │ │<br />
┌─┌─ 416 × 256 ────────────────────┐─┐ ┌─ 512 × 256 ────────────────────────┐<br />
│ | | │ │ │<br />
│ | 50 символов в строке | │ │ 64 символа в строке │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
└─└────────────────────────────────┘─┘ └────────────────────────────────────┘<br />
│ │ │ │<br />
│ │ │ │<br />
└────────────────────────────────────┘ └────────────────────────────────────┘<br />
<br />
[[Файл:Nemiga 303 pult.png|341px]] [[Файл:Nemiga 406 pult.png|341px]]<br />
<br />
== Клавиатура ==<br />
[[Файл:Nemiga-keyboard.jpg|thumb]]<br />
Раскладка клавиатуры:<br />
<pre><br />
( ) ( ) ( ) ( )<br />
РУС ВЕРХ ЛАТ ЦИФ<br />
┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐<br />
│Ф1 │Ф2 │ │Клю│ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ~ │<─ │ │ЦИФ│СТП│ ─ │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф3 │Ф4 │ │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ : │ Ъ │ ПС│ │ 7 │ 8 │ 9 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф5 │Ф6 │ │УПР│ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ . │ Ё │ВВО│ │ 4 │ 5 │ 6 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф7 │Ф8 │ │ ↑ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ , │ / │ _ │ ↑ │ФПБ│ │ 1 │ 2 │ 3 │<br />
├───┼───┤ ┌───┼───┼───┼───┴───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┘ ├───┼───┼───┤<br />
│Ф9 │Ф10│ │РУС│Р/Л│АЛТ│ │Р/Л│ЛАТ│ ЗБ│ДОП│ │ 0 │ . │ + │<br />
└───┴───┘ └───┴───┴───┴───────────────────────────────┴───┴───┴───┴───┘ └───┴───┴───┘<br />
</pre><br />
<br />
Клавиатура формирует 8-разрядный код клавиши (КОИ-8Р) и передаёт его в процессорный блок по последовательному каналу. Байт данных формируется в регистре D28 и затем передаётся в регистр D27.<br />
<br />
Текущие режимы хранятся в блоке клавиатуры и не могут быть установлены извне.<br />
При включении установлены режимы: ЛАТ, ВЕРХ, ЦИФ.<br />
<br />
Все клавиши кроме служебных составляют матрицу 8×12 контактов, «адрес» каждой клавиши выражается 7-битным значением (3 бита на номер места, 4 бита на номер строки).<br />
ПЗУ блока клавиатуры (D17) объёмом 2048 байт содержит 16 блоков по 128 байт — каждый блок соответствует одной из 16-ти комбинаций режимов.<br />
Код символа, соответствующий нажатой клавише, выбирается по адресу клавиши, из блока, определяемого текущим режимом.<br />
<br />
Автоповтор срабатывает через 1 секунду, с частотой 15 Гц.<br />
<br />
== Дисковод MD/MX ==<br />
ПЗУ версии 3.03 может загружать диски MD и DX; ПЗУ 4.05 и 4.06 — только диски MD.<br />
<br />
<pre><br />
177100 Регистр состояния КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴──┴─┬┴─┬┴──┴─┬┘<br />
TR ─┘ │ │ │ INDEX └─ RELOAD (R) / RUN/STEP (W)<br />
LOST-DATA ─┘ │ └──── TR00/WRPRT<br />
OP-FAILED <br />
<br />
177102 Регистр данных КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
<br />
<br />
177104 Регистр управления КНГМД (W) Операция 5 4<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┴──┴──┴ <br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ 0 0 ЧТЕНИЕ дорожки<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ 1 0 ЗАПИСЬ дорожки<br />
Операция ─┴──┘ │ │ └──┴─ Привод 0 1 ШАГ НАЗАД от центра диска<br />
Мотор └─ Поверхность 1 1 ШАГ ВПЕРЕД к центру диска<br />
<br />
<br />
177106 Регистр таймера КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┘<br />
└─ Пуск (W) / состояние (R)<br />
</pre><br />
Контроллер дисковода управляется на основе операций. Операция выполняется в два шага: (1) подготовка операции установкой в регистре управления битов операции и включения мотора; (2) запуск операции записью «1» в 0-й бит регистра состояния.<br />
<br />
=== Формат MD ===<br />
<br />
Дисковод формата MD, с кодированием FM (в ТО называется модель TEAC FD-55FV-003). Похож на MX, но использует побайтовую передачу данных.<br />
Каждый логический диск занимает только одну сторону физического диска, MD0: и MD1: это первый физический диск, MD2: и MD3: это второй.<br />
<br />
Ёмкость диска 459 КБ — 2 стороны по 80 дорожек, сектора по 128 байт, 23 сектора (или меньше) на дорожку. Диск вращается со скоростью 300 оборотов в минуту = 5 оборотов в секунду. Скорость обмена данными — 125 килобит в секунду (FM) = 125000 бит в секунду = 15625 байт в секунду = 3125 за оборот. Длительность одного цикла обмена: 1с / 5об / 3125 = 64 мкс.<br />
<br />
; Структура дорожки<br />
<pre><br />
──── Заголовок дорожки (10 байт) ─────────────<br />
1 343 — маркер<br />
1 xxx — номер дорожки<br />
1 023 — секторов на дорожку<br />
1 000 *<br />
2 xxx — первый сектор<br />
1 377 *<br />
1 377 *<br />
2 xxx — контрольная сумма<br />
──── Начало сектора 1..23 (130 байт на сектор) ─┐<br />
128 xxx — данные сектора │<br />
2 xxxx — контрольная сумма │<br />
──── Конец сектора ─────────────────────────────┘<br />
...<br />
</pre><br />
<br />
Прошивка 4.06 имеет поддержку «защиты» дискет. Три байта в заголовке дорожки (помечены «*») используются для перекодирования секторов при чтении — это встроено в цикл расчёта контрольной суммы сектора. При значениях этих байт 0/0xff/0xff — перекодирования не происходит.<br />
<br />
Первый сектор нулевой дорожки содержит информацию о количестве секторов на каждой дорожке, начиная с нулевого байта каждый байт описывает одну дорожку.<br />
<br />
=== Формат MX ===<br />
: ''См. [[Немига/System V502#MX.HLP]]'' — описание драйвера MX.SYS<br />
Используются обе стороны диска, поэтому только два устройства — MX0: и MX1:. На каждой дорожке 11 секторов по 128 слов = 256 байт. Односторонний диск = 256 * 11 * 80 = 225280 байт, двусторонний диск = 450560 байт.<br /><br />
Драйвер MX есть в комплекте системы «RT-11SJ V5.02(#)», и этот драйвер может только читать/писать, но не умеет форматировать.<br />
<br />
Структура дорожки для драйвера MX.SYS, называющего себя «ДРАЙВЕР ГМД ФОРМАТА MX40/80 МИКРОЦОС LTD. V2.2»:<br />
<pre><br />
──── Заголовок дорожки (3 байта) ─────────────<br />
1 Маркер 0363<br />
1 0 (этот байт можно рассматривать как старший байт от слова номера дорожки)<br />
1 Номер дорожки<br />
──── Начало сектора 1..11 (258 байт на сектор)<br />
256 128 слов, данные сектора<br />
2 Слово контрольной суммы, полученное обычным сложением всех слов сектора<br />
──── Конец сектора ───────────────────────────<br />
...<br />
──── Концевик ───────────────────────────────<br />
4 20 4F 54 01 (hex)<br />
2 Слово: номер дорожки * 2<br />
</pre><br />
Все слова данных сектора, а также слово контрольной суммы, записываются в формате старший байт затем младший байт, что отличается от обычного представления слов в памяти (младший потом старший), поэтому после чтения сектора и перед записью выполняется SWAB над всеми словами.<br /><br />
Без концевика получается 3 + 11 * (256 + 2) = 2841 байт, именно столько читает драйвер, остальные байты до конца дорожки игнорируются (длина дорожки примерно 3125 байт).<br /><br />
При записи дорожки кроме заголовка и данных секторов пишется ещё 6 байт концевика.<br />
<br />
== Дисковод DX ==<br />
Загрузка с дисков формата DX предусмотрена только в прошивке 3.03 — команда «X».<br />
<br />
DX — драйвер накопителя на гибких магнитных дисках [[ГМД-70]] или [[ГМД-7012]]. Полный объем устройства 494 блока.<br />
<br />
<pre><br />
177170 Регистр команд и состояний КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┌ 000 Заполнение буфера<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ │ 001 Разгрузка буфера<br />
└─┬┴─┬┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ │ 010 Запись сектора<br />
ОШБ └─ ПСБ ТРБ ─┘ │ │ ВБР │ │ │ ПСК │ 011 Чтение сектора<br />
РПР КОП └──┴──┴── КОМ ─┤ 100 Форматирование дорожки<br />
│ 101 Чтение регистра ошибок и состояний<br />
177172 Регистр буфер данных КНГМД (R/W) │ 110 Запись сектора стертых данных<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ └ 111 Чтение регистра ошибок<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
</pre><br />
<br />
На диске 77 дорожек 0..76, на каждой 26 секторов 1..26, по 128 байт на сектор, итого 77×26×128 = 256256 байт.<br />
Формат дорожки (из описаний [http://hobot.pdp-11.ru/BIBLIOTEKA/SM5631_3_060_205_IE_TO/SM5631_3_060_205_TO.rar] и [http://doc.pdp-11.org.ru/DVK/GMD7012/Format_GMD7012.pdf]):<br />
<pre><br />
Промежуток 46b<br />
Индексный маркер FC D7<br />
Начало сектора 1..26<br />
Преамбула 32/33b<br />
Идентификатор<br />
Преамбула 17b<br />
Данные 131b<br />
Конец сектора<br />
</pre><br />
<br />
'''''TODO'''''<br />
<br />
== Таймер и звук ==<br />
: ''См. также: [[Немига/Звук]]''<br />
<br />
Схема таймера построен на микросхеме таймера [[К588ВИ1|588ВИ1]]. Микросхема имеет два независимых 16-разрядных счётчика.<br />
<br />
Таймер 1 — входная частота 4 МГц, задержка задаётся в регистре 170022. Плюс для этого таймера есть делитель на степени двойки, задаваемый битами 0..2 регистра 170030 — это «октава». Так, например, для получения ноты A4 («ля» первой октавы, 440 Гц) мы задаём октаву 4 и задержку 1136, получаем: <code>4000000 / 2/2/2 / 1136 ~= 440.14 Гц</code><br />
<br />
Таймер 2 — на 50 Гц, задержка задаётся в регистре 170024. Используется для контроля длительности ноты.<br />
<br />
<pre><br />
170020 Регистр состояния программируемого таймера<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
Фикс прерывания 2 ─┘ │ │ │ │ │ │ │ │ └─ ??<br />
Фикс прерывания 1 ─┘ │ │ │ │ │ │ └ Режим работы 1-го счётчика<br />
Блокировка ЗПР2 ─┘ │ │ │ └──┴─ Режим пуска 1-го счётчика<br />
Блокировка ЗПР1 ─┘ │ │ 0 1 блокировка счётчика<br />
│ │ 1 0 запуск по CO1<br />
│ │ 1 1 запуск по C1<br />
└──┴─ Режим пуска 2-го счётчика<br />
0 1 блокировка счётчика<br />
1 0 запуск по CO2<br />
1 1 запуск по C2<br />
</pre><br />
<br />
Громкость 0..3 задаётся битами 4..3 регистра 170030.<br />
<br />
<pre><br />
170030 Регистр октавы и громкости<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
│ │ └──┴──┴─ Октава 1..7<br />
└──┴─ Громкость 0..3<br />
</pre><br />
<br />
Обращение к 170026 — включает звук.<br />
Обращение к 170032 — переключает состояние звука вкл/выкл.<br />
При этом таймер работает независимо от того, включен ли звук.<br />
Судя по схеме, звук также выключается по сигналу RESET, либо по окончанию счёта таймера 2 (сигнал ЗПР2).<br />
<br />
'''''NOTE:''''' Значения задержек для нот на прошивке 4.05 отличаются от 3.03 ровно в 1,6 раза. Вероятно, таймер 1 на новых моделях работает на частоте 6,4 МГц против 4 МГц на старой модели.<br />
<br />
== Порт принтера ==<br />
ИРПР построен на микросхеме КР1801ВП1-033.<br />
<br />
При включенном бите разрешения прерывания используется вектор прерывания 0200.<br />
<pre><br />
177514 Регистр состояния устройства сопряжения<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴──┼──┴──┴──┴──┴──┴──┼─┬┴─┬┴─┬┴──┴──┴──┴──┴──┘<br />
│ └─ Нач.уст-ка (W)─┘ │ │ └─ Завершено (R)<br />
└─ Ошибка (R) │ └─ Разрешение прерывания (R/W)<br />
Требование передачи (R) ─┘<br />
<br />
177516 Регистр данных устройства сопряжения <br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└────── Данные (W) ─────┘<br />
</pre><br />
'''''TODO'''''<br />
<br />
== ПЗУ ==<br />
{| class="standard"<br />
! Версия || MD5 checksum !! SHA1 checksum !! Размер !! Примечания<br />
|-<br />
| 3.03 || 9023be6bcac0535b9dea95eeda5ef1f3 || ecb2a5cf3d0af678ad44d87c524eaa8726ea1243 || 4 КБ ||<br />
|-<br />
| 4.05 || cbd626766fac3d80c9c786642277f00a || 97e4ebbe88daedf0eed42ede5ff4c0c0e256316a || 4 КБ ||<br />
|-<br />
| 4.06 || 2b6d7eaf21e8201c434743991a2f9228 || a6cb2c8a401bbcbe434320a883021fc32fa9bba4 || 4 КБ ||<br />
|-<br />
| Клавиатура || b6a893d3e603eed3e41d39ca8006abf2 || a530598653f5de87cc730ac0350a19c51f9e0799 || 2 КБ ||<br />
|}<br />
<br />
== Производительность ==<br />
Тест SPEED показывает, что Немига работает немного быстрее чем УКНЦ.<br />
<br />
Сравнение реальной машины версии 4.06 (MiX [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570]) и двух УКНЦ (Alex_K):<br />
Немига УКНЦ1 УКНЦ2<br />
сложение рег-рег 760 624 672 тыс.оп/сек<br />
сложение рег-пам 328 240 289 тыс.оп/сек<br />
умножение рег-рег 152 80 64 тыс.оп/сек<br />
деление рег-рег 256 80 64 тыс.оп/сек<br />
<br />
== Ссылки ==<br />
* [http://www.emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%83+%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&prefix=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0%2F&namespace=0 Подстраницы этой страницы в Emuverse]<br />
* ТУ 4-ЫД1.700.004ТУ-89 [http://www.1bm.ru/techdocs/kgs/tu/773/info/150570/ Комплекс вычислительный «Немига»]<br />
* [http://myadel-gimnaz.by/sites/default/files/Documents/Instruction/Comp/Nemiga_TO_instrukciya.djvu Комплекс вычислительный «Немига». Компьютеры персональные ПК 588, ПК 588-01. Техническое описание и инструкция по эксплуатации]<br />
* [http://myadel-gimnaz.by/node/107 КУВТ «Немига»]<br />
* [http://www.kaznachey.com/doc/5r1Jfo7tA6r/ Постановление Совета министров Белорусской ССР «О дополнительных мерах по обеспечению учебных заведений республики электронно-вычислительной техникой»]<br />
<br />
[[Категория:Немига|*]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0&diff=3343Немига2023-03-25T13:03:47Z<p>Nzeemin: /* Регистры (порты) */</p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:800px-NEMIGA class.jpg|thumb]]<br />
[[Файл:Nemiga PK588 loading.jpg|thumb]]<br />
'''Немига''' — советский 16-разрядный персональный компьютер, выпускался на белорусских предприятиях с 1989 года. Предназначался для поставки в учебные заведения в составе КУВТ. По системе команд совместим с PDP-11 и его советскими клонами — [[Электроника-60]], [[ДВК]].<br />
<br />
Процессор машины реализован на [[Микропроцессорный комплект 588|наборе микросхем серии 588]] — эти микросхемы выпускались на минском ПО «Интеграл».<br />
<br />
Существовало как минимум три версии Немиги, отличающихся схемотехникой и ПЗУ: 3.03, 4.05, 4.06.<br />
<br />
== Пульт ==<br />
При запуске машины начинается загрузка из сети, но если она не удалась, мы попадаем в пультовый режим с приглашением <code>ПУЛЬТ&gt;</code>.<br />
<br />
Пультовый режим воспринимает команды; каждая команда это либо символ, либо 8-ричное число и символ.<br />
<br />
Полный набор команд пульта для версии 3.03:<br />
* <code>S</code> — просмотр регистров<br />
* <code>/</code> либо <code>000000/</code> — просмотр ячеек памяти, c указанием адреса или без; ПС — след адрес, <code>^</code> (клавиша <code>Ч</code>) — пред адрес, <code>ВВОД</code> — выход<br />
* <code>G</code> — продолжить выполнение программы, <code>10000G</code> — продолжить с заданного адреса<br />
* <code>D</code> либо <code>1D</code> — загрузка с диска MD, с указанием номера диска 0..7 либо без<br />
* <code>X</code> либо <code>1X</code> — загрузка с диска DX, с указанием номера диска 0..1 либо без (только в прошивке 3.03)<br />
* <code>N</code> — загрузка из сети, реально просто переход к процедуре холодного старта<br />
* <code>УПР+L</code> — очистка экрана<br />
<br />
В любой момент выполнение программы можно прервать нажатием УПР+ФСД/СТОП, система переходит в пультовый режим. При этом содержимое всех регистров сохраняется, их можно просмотреть командой <code>S</code>. Команда <code>/</code> позволяет просмотреть/изменить отдельные ячейки памяти. А команда <code>G</code> восстанавливает регистры и продолжает выполнение прерванной программы с того же места.<br />
<br />
== Процессор ==<br />
<br />
Процессор реализован на [[Микропроцессорный комплект 588|микросхемах серии 588]]:<br />
* [[588ВС2|КР588ВС2]] (D1) — арифметико-логическое устройство (АЛУ), управляется 12-разрядными микрокомандами из КР588ВУ2-0001, −0002, −0004<br />
* [[588ВУ2|КР588ВУ2]]-0001, −0002, −0006, −0004, −0007 (D2..D6) — управляющая память (УП) — микропрограммы для D1, D17, D18<br />
* [[588ВГ1|КР588ВГ1]] (D18) — системный контроллер (СК) — обеспечивает внутренний интерфейс процессора и его связь с Q-шиной (МПИ, OCT 11305.903-80), управляется микрокодом из КР588ВУ2-0007<br />
* [[588ВР2|К588ВР2]] (D17) — арифметический умножитель 16×16 (УМ), управляется 5-разрядными микрокомандами из КР588ВУ2-0006 (D4); умножение и деление задействует память по адресам 170000-170005<br />
* [[588ВА1|КР588ВА1]] (D21, D24) — 8-разрядный магистральный приёмо-передатчик (МПП)<br />
* [[588ВГ2|КР588ВГ2]] (D15, D16) — контроллер запоминающего устройства (КЗУ)<br />
<br />
Начальный пуск: сброс устройств, затем чтение PC и PSW из 160006 и 160010, запуск в режиме HALT.<br />
<br />
; Система команд<br />
<br />
Процессор реализует систему команд компьютера Электроника-60 (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой). Есть команды расширенной арифметики (MUL, DIV, ASH, ASHC), реализуются микрокодом в D4 и умножителем D17.<br />
Набор команд описан в ТО и в справочниках по БИС сериии КР588.<br />
<br />
: '''''См. также: [[Немига/EIS]]'''''<br />
<br />
; Режимы USER и HALT<br />
Процессор поддерживает работу в двух режимах — USER и HALT.<br />
<br />
Ситуации перехода в режим HALT (согласно ТО):<br />
* появление сигнала СБРОС (INIT)<br />
* запрос на обслуживание локальной сети<br />
* обращение к области памяти 177560-177566 (регистры системной консоли)<br />
* нажатие клавиши на клавиатуре<br />
* выполнение команды HALT<br />
<br />
В режиме HALT область ОЗУ 177600-177777 замещается ОЗУ из другой области (предположительно, эти ячейки памяти лежат «под» системным ПЗУ и поэтому не используются обычным образом).<br />
<br />
'''''NOTE:''''' В документации не описан механизм возврата из режима HALT в USER. По коду прошивки ПЗУ видно, что к этому приводит запись байта 0 по адресу 170006; запись 3 в 170006 приводит к переходу из USER в HALT.<br />
<br />
; Прерывания<br />
Прерывания по описанию КР588ВГ1 (D18), в порядке убывания приоритета, использование определено по схеме:<br />
{|class=standard<br />
! Code !! Прерывание !! pin !! Использование<br />
|-<br />
| 1010 || Режим начального пуска / двойная ошибка канала<br />
|-<br />
| 1110 || Прерывание по T-разряду / ошибка канала<br />
|-<br />
| 1111 || Пропадание питания / ошибка канала || 30 || НЕ используется<br />
|-<br />
| 0111 || HLT — Прерывание по входу ОСТАНОВ / ошибка канала || 36 || используется<br />
|-<br />
| 0101 || INR0 — Требование прерывания от ВУ || 31 || НЕ используется<br />
|-<br />
| 0100 || INR1 — Требование прерывания от ВУ || 34 || НЕ используется<br />
|-<br />
| 0110 || INR2 — Требование прерывания от ВУ || 33 || используется<br />
|-<br />
| 0010 || INR3 — Требование прерывания от ВУ || 32 || используется<br />
|-<br />
| 0011 || EVNT — Прерывание по внешнему событию || 35 || используется<br />
|-<br />
| 0001 || RQ — Запрос прерывания от ВУ || 28 || используется<br />
|-<br />
|}<br />
<br />
Вектора прерываний:<br />
* 160002 — сигнал/команда HALT в режиме HALT<br />
* 160006 — прерывание начального пуска<br />
* 160012 — ошибка при приёме вектора прерывания<br />
* 000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR<br />
* 000010 — резерный код команды<br />
* 000014 — прерывание по T-разряду или команда BPT<br />
* 000020 — команда IOT<br />
* 000024 — питание<br />
* 000030 — команда EMT<br />
* 000034 — команда TRAP<br />
* 000060 — терминал клавиатура (вызывается из кода ПЗУ)<br />
* 000064 — терминал дисплей (вызывается из кода ПЗУ)<br />
* 000100 — прерывание EVNT<br />
* 000104 — адрес обработчика сигнала Н4 от сетевой карты (вызывается из кода ПЗУ)<br />
* 000110 — мелодия закончилась кодом 040 (вызывается из кода ПЗУ)<br />
<br />
== Регистры (порты) ==<br />
{| class=standard<br />
! Регистр !! Назначение !! Примечание !! Значение в пульте 4.06<br />
|-<br />
| 170000 ||rowspan=3| Память ||rowspan=3| Используются микросхемой,<br />выполняющей операции умножения/делениия || 000000<br />
|-<br />
| 170002 || 000000<br />
|-<br />
| 170004 || 047764<br />
|-<br />
| 170006 || || Регистр данных клавиатуры (байт 170006),<br /> регистр фиксации HALT-запросов (байт 170007, D27) || 001412<br />
|-<br />
| 170010 ||rowspan=2| Адаптер<br />локальной сети || состояние || 074010<br />
|-<br />
| 170012 || данные || 000000<br />
|-<br />
| 170014 || ??? || || 000000<br />
|-<br />
| 170020 ||rowspan=6| Таймер и звук || состояние программируемого таймера || 001261<br />
|-<br />
| 170022 || первый счётчик || 000000<br />
|-<br />
| 170024 || второй счётчик || 000000<br />
|-<br />
| 170026 || включение звука || 000000<br />
|-<br />
| 170030 || управляющее слово выбора громкости и октавы || 000000<br />
|-<br />
| 170032 || отключение звука || 000000<br />
|-<br />
| 177100 ||rowspan=4| Контроллер<br />дисковода MD || состояние || 000271<br />
|-<br />
| 177102 || данные || 000377<br />
|-<br />
| 177104 || управление || 000127<br />
|-<br />
| 177106 || таймер || 000106<br />
|-<br />
| 177170* ||rowspan=2| Контроллер<br />дисковода DX* || состояние<br />
|-<br />
| 177172* || данные<br />
|-<br />
| 177514 ||rowspan=2| Устройство<br />сопряжения || состояние параллельного порта<br />
|-<br />
| 177516 || данные параллельного порта<br />
|-<br />
| 177560 ||rowspan=4| Регистры<br />системной консоли || состояние клавиатуры || 000000<br />
|-<br />
| 177562 || данные клавиатуры || 000012<br />
|-<br />
| 177564 || состояние терминала || 000200<br />
|-<br />
| 177566 || данные терминала || 000000<br />
|-<br />
| 177570 ||rowspan=2| Косвенный доступ<br />к памяти || данные || 000000<br />
|-<br />
| 177572 || адрес || 000000<br />
|-<br />
| 177574** || || Регистр управления || 000000<br />
|-<br />
|}<br />
<nowiki>*</nowiki> — код загрузки с дисковода формата DX обнаружен в прошивке версии 3.03; для загрузки с него используется команда «X».<br /><br />
<nowiki>**</nowiki> — аппаратная версия 4.x<br />
<br />
Результат прогона программы IOSCAN на реальной машине с прошивкой 4.06 [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570] (здесь детектируется регистр 170014, которого нет в документации):<br />
<pre>160000-170014<br />
170020-170032<br />
177100-177106<br />
177514-177516<br />
177560-177574<br />
177600-177776</pre><br />
<br />
;Регистр 170006<br />
Старший байт регистра 170006 — это регистр фиксации HALT-запросов, отдельные его биты отвечают за различные причины вызова HALT-прерывания. Младший байт регистра 170006 — регистр данных клавиатуры.<br />
<pre><br />
170006 (R) Регистр фиксации HALT и данных клавиатуры<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─1┴─1┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
СБРОС│ │ │ │ │ └── Данные клавиатуры ──┘<br />
Н1 Н2 Н3 Н4 Клавиатура<br />
</pre><br />
Младший байт регистра это байт с клавиатуры (регистр D27); если установлен бит 10, то символ готов для чтения.<br /><br />
Старший байт регистра это регистр фиксации HALT (D28, биты регистра идут в обратном порядке) — определяет причину появления прерывания HALT.<br />
* бит 15 — признак канального сигнала СБРОС;<br />
* бит 14 — сигнал Н1 — обращение к регистру данных терминала 177566;<br />
* бит 13 — сигнал Н2 — обращение к регистру данных клавиатуры 177562;<br />
* бит 12 — сигнал Н3 — кадровый синхроимпульс, 50 Гц<br />
* бит 11 — сигнал Н4 от платы адаптера локальной сети;<br />
* бит 10 — сигнал готовности очередного байта с клавиатуры, поступает с триггера D37.2;<br />
* биты 8,9 заземлены = 1.<br />
<br />
'''''NOTE:''''' В коде прошивки ПЗУ регистр 170006 также используют на запись, записывая в него байтовое значение 3 для перехода в HALT и значение 0 для возврата в USER. По записи в 170006 сбрасывается регистр D27 (видно по схеме).<br />
<br />
;Регистры системной консоли<br />
При разработке Немиги предусмотрели совместимость с «Электроника-60» по адресам и работе регистров системной консоли — это регистры 177560/177562 (состояние/данные клавиатуры) и 177564/177566 (состояние/данные терминала). Это просто ячейки ОЗУ, но обращение к ним приводит к вызову прерывания HALT с установкой соответствующих флагов в регистре 177006 (чтение регистра данных клавиатуры 177562, запись в регистр данных терминала 177566). Программа обработки прерывания HALT анализирует флаги и эмулирует работу регистров консоли, а также выполняет прерывания по векторам 60 и 64, если стоят соответствующие флаги в регистрах состояния.<br />
<pre><br />
177560 Регистр состояния клавиатуры<br />
177564 Регистр состояния терминала<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴──┴──┴──┴──┴──┴──┘<br />
│ └─ Разрешение прерывания: 1 = разрешено<br />
└──── Готовность к приёму/передаче: 0 = готов<br />
</pre><br />
<br />
; Регистр управления 177574 (только 4.xx)<br />
* бит 0 — специальная адресация памяти: экран проецируется на нижнюю память.<br />
<br />
== Память ==<br />
* Адреса 000000-137777 — ОЗУ<br />
* Адреса 140000-157777 — зарезервированы под дополнительные 8 КБ ПЗУ (D11-D14)<br />
* Адреса 160000-167777 — системное ПЗУ, 4 КБ (D9-D10)<br />
* Адреса 170000-177777 — ОЗУ и порты<br />
** Адреса 177600-177777 — окно памяти, включаемое только в режиме HALT<br />
<br />
Процессору непосредственно доступно 64 КБ памяти. Помимо этого, существует возможность «косвенного» обращения ко всем 128 КБ ОЗУ, через регистры косвенной адресации 177570 (адрес) и 177572 (данные). Адрес косвенной адресации получается сдвигом на один разряд вниз обычного адреса «прямой» адресации.<br />
<pre><br />
Адрес Косв. адрес<br />
000000 ┌────────────────────┐ 000000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ О З У │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
140000 ├────────────────────┤ 060000<br />
│ Дополнит. ПЗУ 8К │<br />
│ │<br />
160000 ├────────────────────┤ 070000<br />
│ Системное ПЗУ 4К │<br />
170000 ├────────────────────┤<br />
│ ОЗУ и порты │<br />
200000 ╞════════════════════╡ 100000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
├────────────────────┤ 140000<br />
│ │<br />
│ │<br />
│ │<br />
│ Э К Р А Н │<br />
│ │<br />
│ 32К │<br />
│ │<br />
│ │<br />
│ │<br />
└────────────────────┘ 200000<br />
</pre><br />
В аппаратной версии 4.x появилась возможность включить проецирование 32К экрана на нижние 32К обычной памяти (этим управляет новый регистр 177574, бит 0) — сделано это, очевидно, для ускорения вывода на экран.<br />
<br />
== Видео ==<br />
[[Файл:NemigaTO-pic9.png|thumb]]<br />
Видео-контроллер формирует растр размером 512×312 точек, в котором «полезной» площадью является блок 512×256 точек. Экран хранится в верхней части памяти, доступной по косвенному адресу 140000, занимает 32 КБ. Каждые 8 точек растра занимают 2 соседних байта — каждый байт это отдельный битплан, то есть каждая точка это два бита, лежащие в соседних байтах, что даёт 4 градации яркости на точку.<br />
<br />
Знакогенератор содержит символы размером 8×8 точек, при выводе текста между строками оставляют место высотой в два пиксела. Таким образом экран используется как текстовый в 25 строк.<br />
<br />
Прошивка 3.03 использует не всю ширину экрана, а только 416 точек — слева и справа остаются пустые полосы по 48 точек.<br />
Прошивки 4.05 и 4.06 используют уже всю ширину в 512 точек.<br />
<br />
3.03 4.05 и 4.06<br />
┌─ 512 × 312 ────────────────────────┐ ┌─ 512 × 312 ────────────────────────┐<br />
│ │ │ │<br />
│ │ │ │<br />
┌─┌─ 416 × 256 ────────────────────┐─┐ ┌─ 512 × 256 ────────────────────────┐<br />
│ | | │ │ │<br />
│ | 50 символов в строке | │ │ 64 символа в строке │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
└─└────────────────────────────────┘─┘ └────────────────────────────────────┘<br />
│ │ │ │<br />
│ │ │ │<br />
└────────────────────────────────────┘ └────────────────────────────────────┘<br />
<br />
[[Файл:Nemiga 303 pult.png|341px]] [[Файл:Nemiga 406 pult.png|341px]]<br />
<br />
== Клавиатура ==<br />
[[Файл:Nemiga-keyboard.jpg|thumb]]<br />
Раскладка клавиатуры:<br />
<pre><br />
( ) ( ) ( ) ( )<br />
РУС ВЕРХ ЛАТ ЦИФ<br />
┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐<br />
│Ф1 │Ф2 │ │Клю│ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ~ │<─ │ │ЦИФ│СТП│ ─ │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф3 │Ф4 │ │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ : │ Ъ │ ПС│ │ 7 │ 8 │ 9 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф5 │Ф6 │ │УПР│ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ . │ Ё │ВВО│ │ 4 │ 5 │ 6 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф7 │Ф8 │ │ ↑ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ , │ / │ _ │ ↑ │ФПБ│ │ 1 │ 2 │ 3 │<br />
├───┼───┤ ┌───┼───┼───┼───┴───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┘ ├───┼───┼───┤<br />
│Ф9 │Ф10│ │РУС│Р/Л│АЛТ│ │Р/Л│ЛАТ│ ЗБ│ДОП│ │ 0 │ . │ + │<br />
└───┴───┘ └───┴───┴───┴───────────────────────────────┴───┴───┴───┴───┘ └───┴───┴───┘<br />
</pre><br />
<br />
Клавиатура формирует 8-разрядный код клавиши (КОИ-8Р) и передаёт его в процессорный блок по последовательному каналу. Байт данных формируется в регистре D28 и затем передаётся в регистр D27.<br />
<br />
Текущие режимы хранятся в блоке клавиатуры и не могут быть установлены извне.<br />
При включении установлены режимы: ЛАТ, ВЕРХ, ЦИФ.<br />
<br />
Все клавиши кроме служебных составляют матрицу 8×12 контактов, «адрес» каждой клавиши выражается 7-битным значением (3 бита на номер места, 4 бита на номер строки).<br />
ПЗУ блока клавиатуры (D17) объёмом 2048 байт содержит 16 блоков по 128 байт — каждый блок соответствует одной из 16-ти комбинаций режимов.<br />
Код символа, соответствующий нажатой клавише, выбирается по адресу клавиши, из блока, определяемого текущим режимом.<br />
<br />
Автоповтор срабатывает через 1 секунду, с частотой 15 Гц.<br />
<br />
== Дисковод MD/MX ==<br />
ПЗУ версии 3.03 может загружать диски MD и DX; ПЗУ 4.05 и 4.06 — только диски MD.<br />
<br />
<pre><br />
177100 Регистр состояния КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴──┴─┬┴─┬┴──┴─┬┘<br />
TR ─┘ │ │ │ INDEX └─ RELOAD (R) / RUN/STEP (W)<br />
LOST-DATA ─┘ │ └──── TR00/WRPRT<br />
OP-FAILED <br />
<br />
177102 Регистр данных КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
<br />
<br />
177104 Регистр управления КНГМД (W) Операция 5 4<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┴──┴──┴ <br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ 0 0 ЧТЕНИЕ дорожки<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ 1 0 ЗАПИСЬ дорожки<br />
Операция ─┴──┘ │ │ └──┴─ Привод 0 1 ШАГ НАЗАД от центра диска<br />
Мотор └─ Поверхность 1 1 ШАГ ВПЕРЕД к центру диска<br />
<br />
<br />
177106 Регистр таймера КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┘<br />
└─ Пуск (W) / состояние (R)<br />
</pre><br />
Контроллер дисковода управляется на основе операций. Операция выполняется в два шага: (1) подготовка операции установкой в регистре управления битов операции и включения мотора; (2) запуск операции записью «1» в 0-й бит регистра состояния.<br />
<br />
=== Формат MD ===<br />
<br />
Дисковод формата MD, с кодированием FM (в ТО называется модель TEAC FD-55FV-003). Похож на MX, но использует побайтовую передачу данных.<br />
Каждый логический диск занимает только одну сторону физического диска, MD0: и MD1: это первый физический диск, MD2: и MD3: это второй.<br />
<br />
Ёмкость диска 459 КБ — 2 стороны по 80 дорожек, сектора по 128 байт, 23 сектора (или меньше) на дорожку. Диск вращается со скоростью 300 оборотов в минуту = 5 оборотов в секунду. Скорость обмена данными — 125 килобит в секунду (FM) = 125000 бит в секунду = 15625 байт в секунду = 3125 за оборот. Длительность одного цикла обмена: 1с / 5об / 3125 = 64 мкс.<br />
<br />
; Структура дорожки<br />
<pre><br />
──── Заголовок дорожки (10 байт) ─────────────<br />
1 343 — маркер<br />
1 xxx — номер дорожки<br />
1 023 — секторов на дорожку<br />
1 000 *<br />
2 xxx — первый сектор<br />
1 377 *<br />
1 377 *<br />
2 xxx — контрольная сумма<br />
──── Начало сектора 1..23 (130 байт на сектор) ─┐<br />
128 xxx — данные сектора │<br />
2 xxxx — контрольная сумма │<br />
──── Конец сектора ─────────────────────────────┘<br />
...<br />
</pre><br />
<br />
Прошивка 4.06 имеет поддержку «защиты» дискет. Три байта в заголовке дорожки (помечены «*») используются для перекодирования секторов при чтении — это встроено в цикл расчёта контрольной суммы сектора. При значениях этих байт 0/0xff/0xff — перекодирования не происходит.<br />
<br />
Первый сектор нулевой дорожки содержит информацию о количестве секторов на каждой дорожке, начиная с нулевого байта каждый байт описывает одну дорожку.<br />
<br />
=== Формат MX ===<br />
: ''См. [[Немига/System V502#MX.HLP]]'' — описание драйвера MX.SYS<br />
Используются обе стороны диска, поэтому только два устройства — MX0: и MX1:. На каждой дорожке 11 секторов по 128 слов = 256 байт. Односторонний диск = 256 * 11 * 80 = 225280 байт, двусторонний диск = 450560 байт.<br /><br />
Драйвер MX есть в комплекте системы «RT-11SJ V5.02(#)», и этот драйвер может только читать/писать, но не умеет форматировать.<br />
<br />
Структура дорожки для драйвера MX.SYS, называющего себя «ДРАЙВЕР ГМД ФОРМАТА MX40/80 МИКРОЦОС LTD. V2.2»:<br />
<pre><br />
──── Заголовок дорожки (3 байта) ─────────────<br />
1 Маркер 0363<br />
1 0 (этот байт можно рассматривать как старший байт от слова номера дорожки)<br />
1 Номер дорожки<br />
──── Начало сектора 1..11 (258 байт на сектор)<br />
256 128 слов, данные сектора<br />
2 Слово контрольной суммы, полученное обычным сложением всех слов сектора<br />
──── Конец сектора ───────────────────────────<br />
...<br />
──── Концевик ───────────────────────────────<br />
4 20 4F 54 01 (hex)<br />
2 Слово: номер дорожки * 2<br />
</pre><br />
Все слова данных сектора, а также слово контрольной суммы, записываются в формате старший байт затем младший байт, что отличается от обычного представления слов в памяти (младший потом старший), поэтому после чтения сектора и перед записью выполняется SWAB над всеми словами.<br /><br />
Без концевика получается 3 + 11 * (256 + 2) = 2841 байт, именно столько читает драйвер, остальные байты до конца дорожки игнорируются (длина дорожки примерно 3125 байт).<br /><br />
При записи дорожки кроме заголовка и данных секторов пишется ещё 6 байт концевика.<br />
<br />
== Дисковод DX ==<br />
Загрузка с дисков формата DX предусмотрена только в прошивке 3.03 — команда «X».<br />
<br />
DX — драйвер накопителя на гибких магнитных дисках [[ГМД-70]] или [[ГМД-7012]]. Полный объем устройства 494 блока.<br />
<br />
<pre><br />
177170 Регистр команд и состояний КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┌ 000 Заполнение буфера<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ │ 001 Разгрузка буфера<br />
└─┬┴─┬┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ │ 010 Запись сектора<br />
ОШБ └─ ПСБ ТРБ ─┘ │ │ ВБР │ │ │ ПСК │ 011 Чтение сектора<br />
РПР КОП └──┴──┴── КОМ ─┤ 100 Форматирование дорожки<br />
│ 101 Чтение регистра ошибок и состояний<br />
177172 Регистр буфер данных КНГМД (R/W) │ 110 Запись сектора стертых данных<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ └ 111 Чтение регистра ошибок<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
</pre><br />
<br />
На диске 77 дорожек 0..76, на каждой 26 секторов 1..26, по 128 байт на сектор, итого 77×26×128 = 256256 байт.<br />
Формат дорожки (из описаний [http://hobot.pdp-11.ru/BIBLIOTEKA/SM5631_3_060_205_IE_TO/SM5631_3_060_205_TO.rar] и [http://doc.pdp-11.org.ru/DVK/GMD7012/Format_GMD7012.pdf]):<br />
<pre><br />
Промежуток 46b<br />
Индексный маркер FC D7<br />
Начало сектора 1..26<br />
Преамбула 32/33b<br />
Идентификатор<br />
Преамбула 17b<br />
Данные 131b<br />
Конец сектора<br />
</pre><br />
<br />
'''''TODO'''''<br />
<br />
== Таймер и звук ==<br />
: ''См. также: [[Немига/Звук]]''<br />
<br />
Схема таймера построен на микросхеме таймера [[К588ВИ1|588ВИ1]]. Микросхема имеет два независимых 16-разрядных счётчика.<br />
<br />
Таймер 1 — входная частота 4 МГц, задержка задаётся в регистре 170022. Плюс для этого таймера есть делитель на степени двойки, задаваемый битами 0..2 регистра 170030 — это «октава». Так, например, для получения ноты A4 («ля» первой октавы, 440 Гц) мы задаём октаву 4 и задержку 1136, получаем: <code>4000000 / 2/2/2 / 1136 ~= 440.14 Гц</code><br />
<br />
Таймер 2 — на 50 Гц, задержка задаётся в регистре 170024. Используется для контроля длительности ноты.<br />
<br />
<pre><br />
170020 Регистр состояния программируемого таймера<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
Фикс прерывания 2 ─┘ │ │ │ │ │ │ │ │ └─ ??<br />
Фикс прерывания 1 ─┘ │ │ │ │ │ │ └ Режим работы 1-го счётчика<br />
Блокировка ЗПР2 ─┘ │ │ │ └──┴─ Режим пуска 1-го счётчика<br />
Блокировка ЗПР1 ─┘ │ │ 0 1 блокировка счётчика<br />
│ │ 1 0 запуск по CO1<br />
│ │ 1 1 запуск по C1<br />
└──┴─ Режим пуска 2-го счётчика<br />
0 1 блокировка счётчика<br />
1 0 запуск по CO2<br />
1 1 запуск по C2<br />
</pre><br />
<br />
Громкость 0..3 задаётся битами 4..3 регистра 170030.<br />
<br />
<pre><br />
170030 Регистр октавы и громкости<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
│ │ └──┴──┴─ Октава 1..7<br />
└──┴─ Громкость 0..3<br />
</pre><br />
<br />
Обращение к 170026 — включает звук.<br />
Обращение к 170032 — переключает состояние звука вкл/выкл.<br />
При этом таймер работает независимо от того, включен ли звук.<br />
Судя по схеме, звук также выключается по сигналу RESET, либо по окончанию счёта таймера 2 (сигнал ЗПР2).<br />
<br />
'''''NOTE:''''' Значения задержек для нот на прошивке 4.05 отличаются от 3.03 ровно в 1,6 раза. Вероятно, таймер 1 на новых моделях работает на частоте 6,4 МГц против 4 МГц на старой модели.<br />
<br />
== Порт принтера ==<br />
ИРПР построен на микросхеме КР1801ВП1-033.<br />
<br />
При включенном бите разрешения прерывания используется вектор прерывания 0200.<br />
<pre><br />
177514 Регистр состояния устройства сопряжения<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴──┼──┴──┴──┴──┴──┴──┼─┬┴─┬┴─┬┴──┴──┴──┴──┴──┘<br />
│ └─ Нач.уст-ка (W)─┘ │ │ └─ Завершено (R)<br />
└─ Ошибка (R) │ └─ Разрешение прерывания (R/W)<br />
Требование передачи (R) ─┘<br />
<br />
177516 Регистр данных устройства сопряжения <br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└────── Данные (W) ─────┘<br />
</pre><br />
'''''TODO'''''<br />
<br />
== ПЗУ ==<br />
{| class="standard"<br />
! Версия || MD5 checksum !! SHA1 checksum !! Размер !! Примечания<br />
|-<br />
| 3.03 || 9023be6bcac0535b9dea95eeda5ef1f3 || ecb2a5cf3d0af678ad44d87c524eaa8726ea1243 || 4 КБ ||<br />
|-<br />
| 4.05 || cbd626766fac3d80c9c786642277f00a || 97e4ebbe88daedf0eed42ede5ff4c0c0e256316a || 4 КБ ||<br />
|-<br />
| 4.06 || 2b6d7eaf21e8201c434743991a2f9228 || a6cb2c8a401bbcbe434320a883021fc32fa9bba4 || 4 КБ ||<br />
|-<br />
| Клавиатура || b6a893d3e603eed3e41d39ca8006abf2 || a530598653f5de87cc730ac0350a19c51f9e0799 || 2 КБ ||<br />
|}<br />
<br />
== Производительность ==<br />
Тест SPEED показывает, что Немига работает немного быстрее чем УКНЦ.<br />
<br />
Сравнение реальной машины версии 4.06 (MiX [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570]) и двух УКНЦ (Alex_K):<br />
Немига УКНЦ1 УКНЦ2<br />
сложение рег-рег 760 624 672 тыс.оп/сек<br />
сложение рег-пам 328 240 289 тыс.оп/сек<br />
умножение рег-рег 152 80 64 тыс.оп/сек<br />
деление рег-рег 256 80 64 тыс.оп/сек<br />
<br />
== Ссылки ==<br />
* [http://www.emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%83+%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&prefix=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0%2F&namespace=0 Подстраницы этой страницы в Emuverse]<br />
* ТУ 4-ЫД1.700.004ТУ-89 [http://www.1bm.ru/techdocs/kgs/tu/773/info/150570/ Комплекс вычислительный «Немига»]<br />
* [http://myadel-gimnaz.by/sites/default/files/Documents/Instruction/Comp/Nemiga_TO_instrukciya.djvu Комплекс вычислительный «Немига». Компьютеры персональные ПК 588, ПК 588-01. Техническое описание и инструкция по эксплуатации]<br />
* [http://myadel-gimnaz.by/node/107 КУВТ «Немига»]<br />
* [http://www.kaznachey.com/doc/5r1Jfo7tA6r/ Постановление Совета министров Белорусской ССР «О дополнительных мерах по обеспечению учебных заведений республики электронно-вычислительной техникой»]<br />
<br />
[[Категория:Немига|*]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0&diff=3342Немига2023-03-24T19:54:03Z<p>Nzeemin: /* Процессор */</p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:800px-NEMIGA class.jpg|thumb]]<br />
[[Файл:Nemiga PK588 loading.jpg|thumb]]<br />
'''Немига''' — советский 16-разрядный персональный компьютер, выпускался на белорусских предприятиях с 1989 года. Предназначался для поставки в учебные заведения в составе КУВТ. По системе команд совместим с PDP-11 и его советскими клонами — [[Электроника-60]], [[ДВК]].<br />
<br />
Процессор машины реализован на [[Микропроцессорный комплект 588|наборе микросхем серии 588]] — эти микросхемы выпускались на минском ПО «Интеграл».<br />
<br />
Существовало как минимум три версии Немиги, отличающихся схемотехникой и ПЗУ: 3.03, 4.05, 4.06.<br />
<br />
== Пульт ==<br />
При запуске машины начинается загрузка из сети, но если она не удалась, мы попадаем в пультовый режим с приглашением <code>ПУЛЬТ&gt;</code>.<br />
<br />
Пультовый режим воспринимает команды; каждая команда это либо символ, либо 8-ричное число и символ.<br />
<br />
Полный набор команд пульта для версии 3.03:<br />
* <code>S</code> — просмотр регистров<br />
* <code>/</code> либо <code>000000/</code> — просмотр ячеек памяти, c указанием адреса или без; ПС — след адрес, <code>^</code> (клавиша <code>Ч</code>) — пред адрес, <code>ВВОД</code> — выход<br />
* <code>G</code> — продолжить выполнение программы, <code>10000G</code> — продолжить с заданного адреса<br />
* <code>D</code> либо <code>1D</code> — загрузка с диска MD, с указанием номера диска 0..7 либо без<br />
* <code>X</code> либо <code>1X</code> — загрузка с диска DX, с указанием номера диска 0..1 либо без (только в прошивке 3.03)<br />
* <code>N</code> — загрузка из сети, реально просто переход к процедуре холодного старта<br />
* <code>УПР+L</code> — очистка экрана<br />
<br />
В любой момент выполнение программы можно прервать нажатием УПР+ФСД/СТОП, система переходит в пультовый режим. При этом содержимое всех регистров сохраняется, их можно просмотреть командой <code>S</code>. Команда <code>/</code> позволяет просмотреть/изменить отдельные ячейки памяти. А команда <code>G</code> восстанавливает регистры и продолжает выполнение прерванной программы с того же места.<br />
<br />
== Процессор ==<br />
<br />
Процессор реализован на [[Микропроцессорный комплект 588|микросхемах серии 588]]:<br />
* [[588ВС2|КР588ВС2]] (D1) — арифметико-логическое устройство (АЛУ), управляется 12-разрядными микрокомандами из КР588ВУ2-0001, −0002, −0004<br />
* [[588ВУ2|КР588ВУ2]]-0001, −0002, −0006, −0004, −0007 (D2..D6) — управляющая память (УП) — микропрограммы для D1, D17, D18<br />
* [[588ВГ1|КР588ВГ1]] (D18) — системный контроллер (СК) — обеспечивает внутренний интерфейс процессора и его связь с Q-шиной (МПИ, OCT 11305.903-80), управляется микрокодом из КР588ВУ2-0007<br />
* [[588ВР2|К588ВР2]] (D17) — арифметический умножитель 16×16 (УМ), управляется 5-разрядными микрокомандами из КР588ВУ2-0006 (D4); умножение и деление задействует память по адресам 170000-170005<br />
* [[588ВА1|КР588ВА1]] (D21, D24) — 8-разрядный магистральный приёмо-передатчик (МПП)<br />
* [[588ВГ2|КР588ВГ2]] (D15, D16) — контроллер запоминающего устройства (КЗУ)<br />
<br />
Начальный пуск: сброс устройств, затем чтение PC и PSW из 160006 и 160010, запуск в режиме HALT.<br />
<br />
; Система команд<br />
<br />
Процессор реализует систему команд компьютера Электроника-60 (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой). Есть команды расширенной арифметики (MUL, DIV, ASH, ASHC), реализуются микрокодом в D4 и умножителем D17.<br />
Набор команд описан в ТО и в справочниках по БИС сериии КР588.<br />
<br />
: '''''См. также: [[Немига/EIS]]'''''<br />
<br />
; Режимы USER и HALT<br />
Процессор поддерживает работу в двух режимах — USER и HALT.<br />
<br />
Ситуации перехода в режим HALT (согласно ТО):<br />
* появление сигнала СБРОС (INIT)<br />
* запрос на обслуживание локальной сети<br />
* обращение к области памяти 177560-177566 (регистры системной консоли)<br />
* нажатие клавиши на клавиатуре<br />
* выполнение команды HALT<br />
<br />
В режиме HALT область ОЗУ 177600-177777 замещается ОЗУ из другой области (предположительно, эти ячейки памяти лежат «под» системным ПЗУ и поэтому не используются обычным образом).<br />
<br />
'''''NOTE:''''' В документации не описан механизм возврата из режима HALT в USER. По коду прошивки ПЗУ видно, что к этому приводит запись байта 0 по адресу 170006; запись 3 в 170006 приводит к переходу из USER в HALT.<br />
<br />
; Прерывания<br />
Прерывания по описанию КР588ВГ1 (D18), в порядке убывания приоритета, использование определено по схеме:<br />
{|class=standard<br />
! Code !! Прерывание !! pin !! Использование<br />
|-<br />
| 1010 || Режим начального пуска / двойная ошибка канала<br />
|-<br />
| 1110 || Прерывание по T-разряду / ошибка канала<br />
|-<br />
| 1111 || Пропадание питания / ошибка канала || 30 || НЕ используется<br />
|-<br />
| 0111 || HLT — Прерывание по входу ОСТАНОВ / ошибка канала || 36 || используется<br />
|-<br />
| 0101 || INR0 — Требование прерывания от ВУ || 31 || НЕ используется<br />
|-<br />
| 0100 || INR1 — Требование прерывания от ВУ || 34 || НЕ используется<br />
|-<br />
| 0110 || INR2 — Требование прерывания от ВУ || 33 || используется<br />
|-<br />
| 0010 || INR3 — Требование прерывания от ВУ || 32 || используется<br />
|-<br />
| 0011 || EVNT — Прерывание по внешнему событию || 35 || используется<br />
|-<br />
| 0001 || RQ — Запрос прерывания от ВУ || 28 || используется<br />
|-<br />
|}<br />
<br />
Вектора прерываний:<br />
* 160002 — сигнал/команда HALT в режиме HALT<br />
* 160006 — прерывание начального пуска<br />
* 160012 — ошибка при приёме вектора прерывания<br />
* 000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR<br />
* 000010 — резерный код команды<br />
* 000014 — прерывание по T-разряду или команда BPT<br />
* 000020 — команда IOT<br />
* 000024 — питание<br />
* 000030 — команда EMT<br />
* 000034 — команда TRAP<br />
* 000060 — терминал клавиатура (вызывается из кода ПЗУ)<br />
* 000064 — терминал дисплей (вызывается из кода ПЗУ)<br />
* 000100 — прерывание EVNT<br />
* 000104 — адрес обработчика сигнала Н4 от сетевой карты (вызывается из кода ПЗУ)<br />
* 000110 — мелодия закончилась кодом 040 (вызывается из кода ПЗУ)<br />
<br />
== Регистры (порты) ==<br />
{| class=standard<br />
! Регистр !! Назначение !! Примечание !! Значение в пульте 4.06<br />
|-<br />
| 170000 ||rowspan=3| Память ||rowspan=3| Используются микросхемой,<br />выполняющей операции умножения/делениия || 000000<br />
|-<br />
| 170002 || 000000<br />
|-<br />
| 170004 || 047764<br />
|-<br />
| 170006 || || Регистр данных клавиатуры (байт 170006),<br /> регистр фиксации HALT-запросов (байт 170007, D27) || 001412<br />
|-<br />
| 170010 ||rowspan=2| Адаптер<br />локальной сети || состояние || 074010<br />
|-<br />
| 170012 || данные || 000000<br />
|-<br />
| 170014 || ??? || || 000000<br />
|-<br />
| 170020 ||rowspan=6| Таймер и звук || состояние программируемого таймера || 001261<br />
|-<br />
| 170022 || первый счётчик || 000000<br />
|-<br />
| 170024 || второй счётчик || 000000<br />
|-<br />
| 170026 || включение звука || 000000<br />
|-<br />
| 170030 || управляющее слово выбора громкости и октавы || 000000<br />
|-<br />
| 170032 || отключение звука || 000000<br />
|-<br />
| 177100 ||rowspan=4| Контроллер<br />дисковода MD || состояние || 000271<br />
|-<br />
| 177102 || данные || 000377<br />
|-<br />
| 177104 || управление || 000127<br />
|-<br />
| 177106 || таймер || 000106<br />
|-<br />
| 177170* ||rowspan=2| Контроллер<br />дисковода DX* || состояние<br />
|-<br />
| 177172* || данные<br />
|-<br />
| 177514 ||rowspan=2| Устройство<br />сопряжения || состояние параллельного порта<br />
|-<br />
| 177516 || данные параллельного порта<br />
|-<br />
| 177560 ||rowspan=4| Регистры<br />системной консоли || состояние клавиатуры || 000000<br />
|-<br />
| 177562 || данные клавиатуры || 000012<br />
|-<br />
| 177564 || состояние терминала || 000200<br />
|-<br />
| 177566 || данные терминала || 000000<br />
|-<br />
| 177570 ||rowspan=2| Косвенный доступ<br />к памяти || данные || 000000<br />
|-<br />
| 177572 || адрес || 000000<br />
|-<br />
| 177574** || || Регистр управления || 000000<br />
|-<br />
|}<br />
<nowiki>*</nowiki> — код загрузки с дисковода формата DX обнаружен в прошивке версии 3.03; для загрузки с него используется команда «X».<br /><br />
<nowiki>**</nowiki> — аппаратная версия 4.x<br />
<br />
Результат прогона программы IOSCAN на реальной машине с прошивкой 4.06 [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570] (здесь детектируется регистр 170014, которого нет в документации):<br />
<pre>160000-170014<br />
170020-170032<br />
177100-177106<br />
177514-177516<br />
177560-177574<br />
177600-177776</pre><br />
<br />
;Регистр 170006<br />
Старший байт регистра 170006 — это регистр фиксации HALT-запросов, отдельные его биты отвечают за различные причины вызова HALT-прерывания. Младший байт регистра 170006 — регистр данных клавиатуры.<br />
<pre><br />
170006 (R) Регистр фиксации HALT и данных клавиатуры<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─1┴─1┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
СБРОС│ │ │ │ │ └── Данные клавиатуры ──┘<br />
Н1 Н2 Н3 Н4 Клавиатура<br />
</pre><br />
Младший байт регистра это байт с клавиатуры (регистр D27); если установлен бит 10, то символ готов для чтения.<br /><br />
Старший байт регистра это регистр фиксации HALT (D28, биты регистра идут в обратном порядке) — определяет причину появления прерывания HALT.<br />
* бит 15 — признак канального сигнала СБРОС;<br />
* бит 14 — сигнал Н1 — обращение к регистру данных терминала 177566;<br />
* бит 13 — сигнал Н2 — обращение к регистру данных клавиатуры 177562;<br />
* бит 12 — сигнал Н3 — кадровый синхроимпульс, 50 Гц<br />
* бит 11 — сигнал Н4 от платы адаптера локальной сети;<br />
* бит 10 — сигнал готовности очередного байта с клавиатуры, поступает с триггера D37.2;<br />
* биты 8,9 заземлены = 1.<br />
<br />
'''''NOTE:''''' В коде прошивки ПЗУ регистр 170006 также используют на запись, записывая в него байтовое значение 3 для перехода в HALT и значение 0 для возврата в USER. По записи в 170006 сбрасывается регистр D27 (видно по схеме).<br />
<br />
;Регистры системной консоли<br />
При разработке Немиги предусмотрели совместимость с «Электроника-60» по адресам и работе регистров системной консоли — это регистры 177560/177562 (состояние/данные клавиатуры) и 177564/177566 (состояние/данные терминала). Это просто ячейки ОЗУ, но обращение к ним приводит к вызову прерывания HALT с установкой соответствующих флагов в регистре 177006 (чтение регистра данных клавиатуры 177562, запись в регистр данных терминала 177566). Программа обработки прерывания HALT анализирует флаги и эмулирует работу регистров консоли, а также выполняет прерывания по векторам 60 и 64, если стоят соответствующие флаги в регистрах состояния.<br />
<pre><br />
177560 Регистр состояния клавиатуры<br />
177564 Регистр состояния терминала<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴──┴──┴──┴──┴──┴──┘<br />
│ └─ Разрешение прерывания: 1 = разрешено<br />
└──── Готовность к приёму/передаче: 0 = готов<br />
</pre><br />
<br />
; Регистр управления 177574 (только 4.xx)<br />
* бит 0 — специальная адресация памяти ??;<br />
* бит 2 — бит выбора видео ОЗУ;<br />
* биты 3,4 — выбор цветовой палитры ??;<br />
* биты 8,9 — старшие адреса памяти A17,A18 ??;<br />
* бит 10 — разряд выбора блока ОЗУ A19 ??.<br />
<br />
== Память ==<br />
* Адреса 000000-137777 — ОЗУ<br />
* Адреса 140000-157777 — зарезервированы под дополнительные 8 КБ ПЗУ (D11-D14)<br />
* Адреса 160000-167777 — системное ПЗУ, 4 КБ (D9-D10)<br />
* Адреса 170000-177777 — ОЗУ и порты<br />
** Адреса 177600-177777 — окно памяти, включаемое только в режиме HALT<br />
<br />
Процессору непосредственно доступно 64 КБ памяти. Помимо этого, существует возможность «косвенного» обращения ко всем 128 КБ ОЗУ, через регистры косвенной адресации 177570 (адрес) и 177572 (данные). Адрес косвенной адресации получается сдвигом на один разряд вниз обычного адреса «прямой» адресации.<br />
<pre><br />
Адрес Косв. адрес<br />
000000 ┌────────────────────┐ 000000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ О З У │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
140000 ├────────────────────┤ 060000<br />
│ Дополнит. ПЗУ 8К │<br />
│ │<br />
160000 ├────────────────────┤ 070000<br />
│ Системное ПЗУ 4К │<br />
170000 ├────────────────────┤<br />
│ ОЗУ и порты │<br />
200000 ╞════════════════════╡ 100000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
├────────────────────┤ 140000<br />
│ │<br />
│ │<br />
│ │<br />
│ Э К Р А Н │<br />
│ │<br />
│ 32К │<br />
│ │<br />
│ │<br />
│ │<br />
└────────────────────┘ 200000<br />
</pre><br />
В аппаратной версии 4.x появилась возможность включить проецирование 32К экрана на нижние 32К обычной памяти (этим управляет новый регистр 177574, бит 0) — сделано это, очевидно, для ускорения вывода на экран.<br />
<br />
== Видео ==<br />
[[Файл:NemigaTO-pic9.png|thumb]]<br />
Видео-контроллер формирует растр размером 512×312 точек, в котором «полезной» площадью является блок 512×256 точек. Экран хранится в верхней части памяти, доступной по косвенному адресу 140000, занимает 32 КБ. Каждые 8 точек растра занимают 2 соседних байта — каждый байт это отдельный битплан, то есть каждая точка это два бита, лежащие в соседних байтах, что даёт 4 градации яркости на точку.<br />
<br />
Знакогенератор содержит символы размером 8×8 точек, при выводе текста между строками оставляют место высотой в два пиксела. Таким образом экран используется как текстовый в 25 строк.<br />
<br />
Прошивка 3.03 использует не всю ширину экрана, а только 416 точек — слева и справа остаются пустые полосы по 48 точек.<br />
Прошивки 4.05 и 4.06 используют уже всю ширину в 512 точек.<br />
<br />
3.03 4.05 и 4.06<br />
┌─ 512 × 312 ────────────────────────┐ ┌─ 512 × 312 ────────────────────────┐<br />
│ │ │ │<br />
│ │ │ │<br />
┌─┌─ 416 × 256 ────────────────────┐─┐ ┌─ 512 × 256 ────────────────────────┐<br />
│ | | │ │ │<br />
│ | 50 символов в строке | │ │ 64 символа в строке │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
└─└────────────────────────────────┘─┘ └────────────────────────────────────┘<br />
│ │ │ │<br />
│ │ │ │<br />
└────────────────────────────────────┘ └────────────────────────────────────┘<br />
<br />
[[Файл:Nemiga 303 pult.png|341px]] [[Файл:Nemiga 406 pult.png|341px]]<br />
<br />
== Клавиатура ==<br />
[[Файл:Nemiga-keyboard.jpg|thumb]]<br />
Раскладка клавиатуры:<br />
<pre><br />
( ) ( ) ( ) ( )<br />
РУС ВЕРХ ЛАТ ЦИФ<br />
┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐<br />
│Ф1 │Ф2 │ │Клю│ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ~ │<─ │ │ЦИФ│СТП│ ─ │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф3 │Ф4 │ │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ : │ Ъ │ ПС│ │ 7 │ 8 │ 9 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф5 │Ф6 │ │УПР│ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ . │ Ё │ВВО│ │ 4 │ 5 │ 6 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф7 │Ф8 │ │ ↑ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ , │ / │ _ │ ↑ │ФПБ│ │ 1 │ 2 │ 3 │<br />
├───┼───┤ ┌───┼───┼───┼───┴───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┘ ├───┼───┼───┤<br />
│Ф9 │Ф10│ │РУС│Р/Л│АЛТ│ │Р/Л│ЛАТ│ ЗБ│ДОП│ │ 0 │ . │ + │<br />
└───┴───┘ └───┴───┴───┴───────────────────────────────┴───┴───┴───┴───┘ └───┴───┴───┘<br />
</pre><br />
<br />
Клавиатура формирует 8-разрядный код клавиши (КОИ-8Р) и передаёт его в процессорный блок по последовательному каналу. Байт данных формируется в регистре D28 и затем передаётся в регистр D27.<br />
<br />
Текущие режимы хранятся в блоке клавиатуры и не могут быть установлены извне.<br />
При включении установлены режимы: ЛАТ, ВЕРХ, ЦИФ.<br />
<br />
Все клавиши кроме служебных составляют матрицу 8×12 контактов, «адрес» каждой клавиши выражается 7-битным значением (3 бита на номер места, 4 бита на номер строки).<br />
ПЗУ блока клавиатуры (D17) объёмом 2048 байт содержит 16 блоков по 128 байт — каждый блок соответствует одной из 16-ти комбинаций режимов.<br />
Код символа, соответствующий нажатой клавише, выбирается по адресу клавиши, из блока, определяемого текущим режимом.<br />
<br />
Автоповтор срабатывает через 1 секунду, с частотой 15 Гц.<br />
<br />
== Дисковод MD/MX ==<br />
ПЗУ версии 3.03 может загружать диски MD и DX; ПЗУ 4.05 и 4.06 — только диски MD.<br />
<br />
<pre><br />
177100 Регистр состояния КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴──┴─┬┴─┬┴──┴─┬┘<br />
TR ─┘ │ │ │ INDEX └─ RELOAD (R) / RUN/STEP (W)<br />
LOST-DATA ─┘ │ └──── TR00/WRPRT<br />
OP-FAILED <br />
<br />
177102 Регистр данных КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
<br />
<br />
177104 Регистр управления КНГМД (W) Операция 5 4<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┴──┴──┴ <br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ 0 0 ЧТЕНИЕ дорожки<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ 1 0 ЗАПИСЬ дорожки<br />
Операция ─┴──┘ │ │ └──┴─ Привод 0 1 ШАГ НАЗАД от центра диска<br />
Мотор └─ Поверхность 1 1 ШАГ ВПЕРЕД к центру диска<br />
<br />
<br />
177106 Регистр таймера КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┘<br />
└─ Пуск (W) / состояние (R)<br />
</pre><br />
Контроллер дисковода управляется на основе операций. Операция выполняется в два шага: (1) подготовка операции установкой в регистре управления битов операции и включения мотора; (2) запуск операции записью «1» в 0-й бит регистра состояния.<br />
<br />
=== Формат MD ===<br />
<br />
Дисковод формата MD, с кодированием FM (в ТО называется модель TEAC FD-55FV-003). Похож на MX, но использует побайтовую передачу данных.<br />
Каждый логический диск занимает только одну сторону физического диска, MD0: и MD1: это первый физический диск, MD2: и MD3: это второй.<br />
<br />
Ёмкость диска 459 КБ — 2 стороны по 80 дорожек, сектора по 128 байт, 23 сектора (или меньше) на дорожку. Диск вращается со скоростью 300 оборотов в минуту = 5 оборотов в секунду. Скорость обмена данными — 125 килобит в секунду (FM) = 125000 бит в секунду = 15625 байт в секунду = 3125 за оборот. Длительность одного цикла обмена: 1с / 5об / 3125 = 64 мкс.<br />
<br />
; Структура дорожки<br />
<pre><br />
──── Заголовок дорожки (10 байт) ─────────────<br />
1 343 — маркер<br />
1 xxx — номер дорожки<br />
1 023 — секторов на дорожку<br />
1 000 *<br />
2 xxx — первый сектор<br />
1 377 *<br />
1 377 *<br />
2 xxx — контрольная сумма<br />
──── Начало сектора 1..23 (130 байт на сектор) ─┐<br />
128 xxx — данные сектора │<br />
2 xxxx — контрольная сумма │<br />
──── Конец сектора ─────────────────────────────┘<br />
...<br />
</pre><br />
<br />
Прошивка 4.06 имеет поддержку «защиты» дискет. Три байта в заголовке дорожки (помечены «*») используются для перекодирования секторов при чтении — это встроено в цикл расчёта контрольной суммы сектора. При значениях этих байт 0/0xff/0xff — перекодирования не происходит.<br />
<br />
Первый сектор нулевой дорожки содержит информацию о количестве секторов на каждой дорожке, начиная с нулевого байта каждый байт описывает одну дорожку.<br />
<br />
=== Формат MX ===<br />
: ''См. [[Немига/System V502#MX.HLP]]'' — описание драйвера MX.SYS<br />
Используются обе стороны диска, поэтому только два устройства — MX0: и MX1:. На каждой дорожке 11 секторов по 128 слов = 256 байт. Односторонний диск = 256 * 11 * 80 = 225280 байт, двусторонний диск = 450560 байт.<br /><br />
Драйвер MX есть в комплекте системы «RT-11SJ V5.02(#)», и этот драйвер может только читать/писать, но не умеет форматировать.<br />
<br />
Структура дорожки для драйвера MX.SYS, называющего себя «ДРАЙВЕР ГМД ФОРМАТА MX40/80 МИКРОЦОС LTD. V2.2»:<br />
<pre><br />
──── Заголовок дорожки (3 байта) ─────────────<br />
1 Маркер 0363<br />
1 0 (этот байт можно рассматривать как старший байт от слова номера дорожки)<br />
1 Номер дорожки<br />
──── Начало сектора 1..11 (258 байт на сектор)<br />
256 128 слов, данные сектора<br />
2 Слово контрольной суммы, полученное обычным сложением всех слов сектора<br />
──── Конец сектора ───────────────────────────<br />
...<br />
──── Концевик ───────────────────────────────<br />
4 20 4F 54 01 (hex)<br />
2 Слово: номер дорожки * 2<br />
</pre><br />
Все слова данных сектора, а также слово контрольной суммы, записываются в формате старший байт затем младший байт, что отличается от обычного представления слов в памяти (младший потом старший), поэтому после чтения сектора и перед записью выполняется SWAB над всеми словами.<br /><br />
Без концевика получается 3 + 11 * (256 + 2) = 2841 байт, именно столько читает драйвер, остальные байты до конца дорожки игнорируются (длина дорожки примерно 3125 байт).<br /><br />
При записи дорожки кроме заголовка и данных секторов пишется ещё 6 байт концевика.<br />
<br />
== Дисковод DX ==<br />
Загрузка с дисков формата DX предусмотрена только в прошивке 3.03 — команда «X».<br />
<br />
DX — драйвер накопителя на гибких магнитных дисках [[ГМД-70]] или [[ГМД-7012]]. Полный объем устройства 494 блока.<br />
<br />
<pre><br />
177170 Регистр команд и состояний КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┌ 000 Заполнение буфера<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ │ 001 Разгрузка буфера<br />
└─┬┴─┬┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ │ 010 Запись сектора<br />
ОШБ └─ ПСБ ТРБ ─┘ │ │ ВБР │ │ │ ПСК │ 011 Чтение сектора<br />
РПР КОП └──┴──┴── КОМ ─┤ 100 Форматирование дорожки<br />
│ 101 Чтение регистра ошибок и состояний<br />
177172 Регистр буфер данных КНГМД (R/W) │ 110 Запись сектора стертых данных<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ └ 111 Чтение регистра ошибок<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
</pre><br />
<br />
На диске 77 дорожек 0..76, на каждой 26 секторов 1..26, по 128 байт на сектор, итого 77×26×128 = 256256 байт.<br />
Формат дорожки (из описаний [http://hobot.pdp-11.ru/BIBLIOTEKA/SM5631_3_060_205_IE_TO/SM5631_3_060_205_TO.rar] и [http://doc.pdp-11.org.ru/DVK/GMD7012/Format_GMD7012.pdf]):<br />
<pre><br />
Промежуток 46b<br />
Индексный маркер FC D7<br />
Начало сектора 1..26<br />
Преамбула 32/33b<br />
Идентификатор<br />
Преамбула 17b<br />
Данные 131b<br />
Конец сектора<br />
</pre><br />
<br />
'''''TODO'''''<br />
<br />
== Таймер и звук ==<br />
: ''См. также: [[Немига/Звук]]''<br />
<br />
Схема таймера построен на микросхеме таймера [[К588ВИ1|588ВИ1]]. Микросхема имеет два независимых 16-разрядных счётчика.<br />
<br />
Таймер 1 — входная частота 4 МГц, задержка задаётся в регистре 170022. Плюс для этого таймера есть делитель на степени двойки, задаваемый битами 0..2 регистра 170030 — это «октава». Так, например, для получения ноты A4 («ля» первой октавы, 440 Гц) мы задаём октаву 4 и задержку 1136, получаем: <code>4000000 / 2/2/2 / 1136 ~= 440.14 Гц</code><br />
<br />
Таймер 2 — на 50 Гц, задержка задаётся в регистре 170024. Используется для контроля длительности ноты.<br />
<br />
<pre><br />
170020 Регистр состояния программируемого таймера<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
Фикс прерывания 2 ─┘ │ │ │ │ │ │ │ │ └─ ??<br />
Фикс прерывания 1 ─┘ │ │ │ │ │ │ └ Режим работы 1-го счётчика<br />
Блокировка ЗПР2 ─┘ │ │ │ └──┴─ Режим пуска 1-го счётчика<br />
Блокировка ЗПР1 ─┘ │ │ 0 1 блокировка счётчика<br />
│ │ 1 0 запуск по CO1<br />
│ │ 1 1 запуск по C1<br />
└──┴─ Режим пуска 2-го счётчика<br />
0 1 блокировка счётчика<br />
1 0 запуск по CO2<br />
1 1 запуск по C2<br />
</pre><br />
<br />
Громкость 0..3 задаётся битами 4..3 регистра 170030.<br />
<br />
<pre><br />
170030 Регистр октавы и громкости<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
│ │ └──┴──┴─ Октава 1..7<br />
└──┴─ Громкость 0..3<br />
</pre><br />
<br />
Обращение к 170026 — включает звук.<br />
Обращение к 170032 — переключает состояние звука вкл/выкл.<br />
При этом таймер работает независимо от того, включен ли звук.<br />
Судя по схеме, звук также выключается по сигналу RESET, либо по окончанию счёта таймера 2 (сигнал ЗПР2).<br />
<br />
'''''NOTE:''''' Значения задержек для нот на прошивке 4.05 отличаются от 3.03 ровно в 1,6 раза. Вероятно, таймер 1 на новых моделях работает на частоте 6,4 МГц против 4 МГц на старой модели.<br />
<br />
== Порт принтера ==<br />
ИРПР построен на микросхеме КР1801ВП1-033.<br />
<br />
При включенном бите разрешения прерывания используется вектор прерывания 0200.<br />
<pre><br />
177514 Регистр состояния устройства сопряжения<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴──┼──┴──┴──┴──┴──┴──┼─┬┴─┬┴─┬┴──┴──┴──┴──┴──┘<br />
│ └─ Нач.уст-ка (W)─┘ │ │ └─ Завершено (R)<br />
└─ Ошибка (R) │ └─ Разрешение прерывания (R/W)<br />
Требование передачи (R) ─┘<br />
<br />
177516 Регистр данных устройства сопряжения <br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└────── Данные (W) ─────┘<br />
</pre><br />
'''''TODO'''''<br />
<br />
== ПЗУ ==<br />
{| class="standard"<br />
! Версия || MD5 checksum !! SHA1 checksum !! Размер !! Примечания<br />
|-<br />
| 3.03 || 9023be6bcac0535b9dea95eeda5ef1f3 || ecb2a5cf3d0af678ad44d87c524eaa8726ea1243 || 4 КБ ||<br />
|-<br />
| 4.05 || cbd626766fac3d80c9c786642277f00a || 97e4ebbe88daedf0eed42ede5ff4c0c0e256316a || 4 КБ ||<br />
|-<br />
| 4.06 || 2b6d7eaf21e8201c434743991a2f9228 || a6cb2c8a401bbcbe434320a883021fc32fa9bba4 || 4 КБ ||<br />
|-<br />
| Клавиатура || b6a893d3e603eed3e41d39ca8006abf2 || a530598653f5de87cc730ac0350a19c51f9e0799 || 2 КБ ||<br />
|}<br />
<br />
== Производительность ==<br />
Тест SPEED показывает, что Немига работает немного быстрее чем УКНЦ.<br />
<br />
Сравнение реальной машины версии 4.06 (MiX [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570]) и двух УКНЦ (Alex_K):<br />
Немига УКНЦ1 УКНЦ2<br />
сложение рег-рег 760 624 672 тыс.оп/сек<br />
сложение рег-пам 328 240 289 тыс.оп/сек<br />
умножение рег-рег 152 80 64 тыс.оп/сек<br />
деление рег-рег 256 80 64 тыс.оп/сек<br />
<br />
== Ссылки ==<br />
* [http://www.emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%83+%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&prefix=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0%2F&namespace=0 Подстраницы этой страницы в Emuverse]<br />
* ТУ 4-ЫД1.700.004ТУ-89 [http://www.1bm.ru/techdocs/kgs/tu/773/info/150570/ Комплекс вычислительный «Немига»]<br />
* [http://myadel-gimnaz.by/sites/default/files/Documents/Instruction/Comp/Nemiga_TO_instrukciya.djvu Комплекс вычислительный «Немига». Компьютеры персональные ПК 588, ПК 588-01. Техническое описание и инструкция по эксплуатации]<br />
* [http://myadel-gimnaz.by/node/107 КУВТ «Немига»]<br />
* [http://www.kaznachey.com/doc/5r1Jfo7tA6r/ Постановление Совета министров Белорусской ССР «О дополнительных мерах по обеспечению учебных заведений республики электронно-вычислительной техникой»]<br />
<br />
[[Категория:Немига|*]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0&diff=3341Немига2023-03-24T19:35:54Z<p>Nzeemin: /* Регистры (порты) */</p>
<hr />
<div>{{Emuverse}}<br />
[[Файл:800px-NEMIGA class.jpg|thumb]]<br />
[[Файл:Nemiga PK588 loading.jpg|thumb]]<br />
'''Немига''' — советский 16-разрядный персональный компьютер, выпускался на белорусских предприятиях с 1989 года. Предназначался для поставки в учебные заведения в составе КУВТ. По системе команд совместим с PDP-11 и его советскими клонами — [[Электроника-60]], [[ДВК]].<br />
<br />
Процессор машины реализован на [[Микропроцессорный комплект 588|наборе микросхем серии 588]] — эти микросхемы выпускались на минском ПО «Интеграл».<br />
<br />
Существовало как минимум три версии Немиги, отличающихся схемотехникой и ПЗУ: 3.03, 4.05, 4.06.<br />
<br />
== Пульт ==<br />
При запуске машины начинается загрузка из сети, но если она не удалась, мы попадаем в пультовый режим с приглашением <code>ПУЛЬТ&gt;</code>.<br />
<br />
Пультовый режим воспринимает команды; каждая команда это либо символ, либо 8-ричное число и символ.<br />
<br />
Полный набор команд пульта для версии 3.03:<br />
* <code>S</code> — просмотр регистров<br />
* <code>/</code> либо <code>000000/</code> — просмотр ячеек памяти, c указанием адреса или без; ПС — след адрес, <code>^</code> (клавиша <code>Ч</code>) — пред адрес, <code>ВВОД</code> — выход<br />
* <code>G</code> — продолжить выполнение программы, <code>10000G</code> — продолжить с заданного адреса<br />
* <code>D</code> либо <code>1D</code> — загрузка с диска MD, с указанием номера диска 0..7 либо без<br />
* <code>X</code> либо <code>1X</code> — загрузка с диска DX, с указанием номера диска 0..1 либо без (только в прошивке 3.03)<br />
* <code>N</code> — загрузка из сети, реально просто переход к процедуре холодного старта<br />
* <code>УПР+L</code> — очистка экрана<br />
<br />
В любой момент выполнение программы можно прервать нажатием УПР+ФСД/СТОП, система переходит в пультовый режим. При этом содержимое всех регистров сохраняется, их можно просмотреть командой <code>S</code>. Команда <code>/</code> позволяет просмотреть/изменить отдельные ячейки памяти. А команда <code>G</code> восстанавливает регистры и продолжает выполнение прерванной программы с того же места.<br />
<br />
== Процессор ==<br />
<br />
Процессор реализован на [[Микропроцессорный комплект 588|микросхемах серии 588]]:<br />
* [[588ВС2|КР588ВС2]] (D1) — арифметико-логическое устройство (АЛУ), управляется 12-разрядными микрокомандами из КР588ВУ2-0001, −0002, −0004<br />
* [[588ВУ2|КР588ВУ2]]-0001, −0002, −0006, −0004, −0007 (D2..D6) — управляющая память (УП) — микропрограммы для D1, D17, D18<br />
* [[588ВГ1|КР588ВГ1]] (D18) — системный контроллер (СК) — обеспечивает внутренний интерфейс процессора и его связь с Q-шиной (МПИ, OCT 11305.903-80), управляется микрокодом из КР588ВУ2-0007<br />
* [[588ВР2|К588ВР2]] (D17) — арифметический умножитель 16×16 (УМ), управляется 5-разрядными микрокомандами из КР588ВУ2-0006 (D4); умножение и деление задействует память по адресам 170000-170005<br />
* [[588ВА1|КР588ВА1]] (D21, D24) — 8-разрядный магистральный приёмо-передатчик (МПП)<br />
* [[588ВГ2|КР588ВГ2]] (D15, D16) — контроллер запоминающего устройства (КЗУ)<br />
<br />
Начальный пуск: сброс устройств, затем чтение PC и PSW из 160006 и 160010, запуск в режиме HALT.<br />
<br />
; Система команд<br />
<br />
Процессор реализует систему команд компьютера Электроника-60 (ОСТ 11 305.909-82), за исключением команд FIS (операций с плавающей запятой). Есть команды расширенной арифметики (MUL, DIV, ASH, ASHC), реализуются микрокодом в D4 и умножителем D17.<br />
Набор команд описан в ТО и в справочниках по БИС сериии КР588.<br />
<br />
: '''''См. также: [[Немига/EIS]]'''''<br />
<br />
; Режимы USER и HALT<br />
Процессор поддерживает работу в двух режимах — USER и HALT.<br />
<br />
Ситуации перехода в режим HALT (согласно ТО):<br />
* появление сигнала СБРОС (INIT)<br />
* запрос на обслуживание локальной сети<br />
* обращение к области памяти 177560-177566 (регистры системной консоли)<br />
* нажатие клавиши на клавиатуре<br />
* выполнение команды HALT<br />
<br />
В режиме HALT область ОЗУ 177600-177777 замещается ОЗУ из другой области (предположительно, эти ячейки памяти лежат «под» системным ПЗУ и поэтому не используются обычным образом).<br />
<br />
'''''NOTE:''''' В документации не описан механизм возврата из режима HALT в USER. По коду прошивки ПЗУ видно, что к этому приводит запись байта 0 по адресу 170006; запись 3 в 170006 приводит к переходу из USER в HALT.<br />
<br />
; Прерывания<br />
Прерывания по описанию КР588ВГ1 (D18), в порядке убывания приоритета, использование определено по схеме:<br />
{|class=standard<br />
! Code !! Прерывание !! pin !! Использование<br />
|-<br />
| 1010 || Режим начального пуска / двойная ошибка канала<br />
|-<br />
| 1110 || Прерывание по T-разряду / ошибка канала<br />
|-<br />
| 1111 || Пропадание питания / ошибка канала || 30 || НЕ используется<br />
|-<br />
| 0111 || HLT — Прерывание по входу ОСТАНОВ / ошибка канала || 36 || используется<br />
|-<br />
| 0101 || INR0 — Требование прерывания от ВУ || 31 || НЕ используется<br />
|-<br />
| 0100 || INR1 — Требование прерывания от ВУ || 34 || НЕ используется<br />
|-<br />
| 0110 || INR2 — Требование прерывания от ВУ || 33 || используется<br />
|-<br />
| 0010 || INR3 — Требование прерывания от ВУ || 32 || используется<br />
|-<br />
| 0011 || EVNT — Прерывание по внешнему событию || 35 || используется<br />
|-<br />
| 0001 || RQ — Запрос прерывания от ВУ || 28 || используется<br />
|-<br />
|}<br />
<br />
Вектора прерываний:<br />
* 160002 — сигнал/команда HALT в режиме HALT<br />
* 160006 — прерывание начального пуска<br />
* 160012 — ошибка при приёме вектора прерывания<br />
* 000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR<br />
* 000010 — резерный код команды<br />
* 000014 — прерывание по T-разряду или команда BPT<br />
* 000020 — команда IOT<br />
* 000030 — команда EMT<br />
* 000034 — команда TRAP<br />
* 000060 — терминал клавиатура (вызывается из кода ПЗУ)<br />
* 000064 — терминал дисплей (вызывается из кода ПЗУ)<br />
* 000100 — прерывание EVNT<br />
* 000104 — адрес обработчика сигнала Н4 от сетевой карты (вызывается из кода ПЗУ)<br />
* 000110 — мелодия закончилась кодом 040 (вызывается из кода ПЗУ)<br />
<br />
== Регистры (порты) ==<br />
{| class=standard<br />
! Регистр !! Назначение !! Примечание !! Значение в пульте 4.06<br />
|-<br />
| 170000 ||rowspan=3| Память ||rowspan=3| Используются микросхемой,<br />выполняющей операции умножения/делениия || 000000<br />
|-<br />
| 170002 || 000000<br />
|-<br />
| 170004 || 047764<br />
|-<br />
| 170006 || || Регистр данных клавиатуры (байт 170006),<br /> регистр фиксации HALT-запросов (байт 170007, D27) || 001412<br />
|-<br />
| 170010 ||rowspan=2| Адаптер<br />локальной сети || состояние || 074010<br />
|-<br />
| 170012 || данные || 000000<br />
|-<br />
| 170014 || ??? || || 000000<br />
|-<br />
| 170020 ||rowspan=6| Таймер и звук || состояние программируемого таймера || 001261<br />
|-<br />
| 170022 || первый счётчик || 000000<br />
|-<br />
| 170024 || второй счётчик || 000000<br />
|-<br />
| 170026 || включение звука || 000000<br />
|-<br />
| 170030 || управляющее слово выбора громкости и октавы || 000000<br />
|-<br />
| 170032 || отключение звука || 000000<br />
|-<br />
| 177100 ||rowspan=4| Контроллер<br />дисковода MD || состояние || 000271<br />
|-<br />
| 177102 || данные || 000377<br />
|-<br />
| 177104 || управление || 000127<br />
|-<br />
| 177106 || таймер || 000106<br />
|-<br />
| 177170* ||rowspan=2| Контроллер<br />дисковода DX* || состояние<br />
|-<br />
| 177172* || данные<br />
|-<br />
| 177514 ||rowspan=2| Устройство<br />сопряжения || состояние параллельного порта<br />
|-<br />
| 177516 || данные параллельного порта<br />
|-<br />
| 177560 ||rowspan=4| Регистры<br />системной консоли || состояние клавиатуры || 000000<br />
|-<br />
| 177562 || данные клавиатуры || 000012<br />
|-<br />
| 177564 || состояние терминала || 000200<br />
|-<br />
| 177566 || данные терминала || 000000<br />
|-<br />
| 177570 ||rowspan=2| Косвенный доступ<br />к памяти || данные || 000000<br />
|-<br />
| 177572 || адрес || 000000<br />
|-<br />
| 177574** || || Регистр управления || 000000<br />
|-<br />
|}<br />
<nowiki>*</nowiki> — код загрузки с дисковода формата DX обнаружен в прошивке версии 3.03; для загрузки с него используется команда «X».<br /><br />
<nowiki>**</nowiki> — аппаратная версия 4.x<br />
<br />
Результат прогона программы IOSCAN на реальной машине с прошивкой 4.06 [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570] (здесь детектируется регистр 170014, которого нет в документации):<br />
<pre>160000-170014<br />
170020-170032<br />
177100-177106<br />
177514-177516<br />
177560-177574<br />
177600-177776</pre><br />
<br />
;Регистр 170006<br />
Старший байт регистра 170006 — это регистр фиксации HALT-запросов, отдельные его биты отвечают за различные причины вызова HALT-прерывания. Младший байт регистра 170006 — регистр данных клавиатуры.<br />
<pre><br />
170006 (R) Регистр фиксации HALT и данных клавиатуры<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─1┴─1┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
СБРОС│ │ │ │ │ └── Данные клавиатуры ──┘<br />
Н1 Н2 Н3 Н4 Клавиатура<br />
</pre><br />
Младший байт регистра это байт с клавиатуры (регистр D27); если установлен бит 10, то символ готов для чтения.<br /><br />
Старший байт регистра это регистр фиксации HALT (D28, биты регистра идут в обратном порядке) — определяет причину появления прерывания HALT.<br />
* бит 15 — признак канального сигнала СБРОС;<br />
* бит 14 — сигнал Н1 — обращение к регистру данных терминала 177566;<br />
* бит 13 — сигнал Н2 — обращение к регистру данных клавиатуры 177562;<br />
* бит 12 — сигнал Н3 — кадровый синхроимпульс, 50 Гц<br />
* бит 11 — сигнал Н4 от платы адаптера локальной сети;<br />
* бит 10 — сигнал готовности очередного байта с клавиатуры, поступает с триггера D37.2;<br />
* биты 8,9 заземлены = 1.<br />
<br />
'''''NOTE:''''' В коде прошивки ПЗУ регистр 170006 также используют на запись, записывая в него байтовое значение 3 для перехода в HALT и значение 0 для возврата в USER. По записи в 170006 сбрасывается регистр D27 (видно по схеме).<br />
<br />
;Регистры системной консоли<br />
При разработке Немиги предусмотрели совместимость с «Электроника-60» по адресам и работе регистров системной консоли — это регистры 177560/177562 (состояние/данные клавиатуры) и 177564/177566 (состояние/данные терминала). Это просто ячейки ОЗУ, но обращение к ним приводит к вызову прерывания HALT с установкой соответствующих флагов в регистре 177006 (чтение регистра данных клавиатуры 177562, запись в регистр данных терминала 177566). Программа обработки прерывания HALT анализирует флаги и эмулирует работу регистров консоли, а также выполняет прерывания по векторам 60 и 64, если стоят соответствующие флаги в регистрах состояния.<br />
<pre><br />
177560 Регистр состояния клавиатуры<br />
177564 Регистр состояния терминала<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴──┴──┴──┴──┴──┴──┘<br />
│ └─ Разрешение прерывания: 1 = разрешено<br />
└──── Готовность к приёму/передаче: 0 = готов<br />
</pre><br />
<br />
; Регистр управления 177574 (только 4.xx)<br />
* бит 0 — специальная адресация памяти ??;<br />
* бит 2 — бит выбора видео ОЗУ;<br />
* биты 3,4 — выбор цветовой палитры ??;<br />
* биты 8,9 — старшие адреса памяти A17,A18 ??;<br />
* бит 10 — разряд выбора блока ОЗУ A19 ??.<br />
<br />
== Память ==<br />
* Адреса 000000-137777 — ОЗУ<br />
* Адреса 140000-157777 — зарезервированы под дополнительные 8 КБ ПЗУ (D11-D14)<br />
* Адреса 160000-167777 — системное ПЗУ, 4 КБ (D9-D10)<br />
* Адреса 170000-177777 — ОЗУ и порты<br />
** Адреса 177600-177777 — окно памяти, включаемое только в режиме HALT<br />
<br />
Процессору непосредственно доступно 64 КБ памяти. Помимо этого, существует возможность «косвенного» обращения ко всем 128 КБ ОЗУ, через регистры косвенной адресации 177570 (адрес) и 177572 (данные). Адрес косвенной адресации получается сдвигом на один разряд вниз обычного адреса «прямой» адресации.<br />
<pre><br />
Адрес Косв. адрес<br />
000000 ┌────────────────────┐ 000000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ О З У │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
140000 ├────────────────────┤ 060000<br />
│ Дополнит. ПЗУ 8К │<br />
│ │<br />
160000 ├────────────────────┤ 070000<br />
│ Системное ПЗУ 4К │<br />
170000 ├────────────────────┤<br />
│ ОЗУ и порты │<br />
200000 ╞════════════════════╡ 100000<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
│ │<br />
├────────────────────┤ 140000<br />
│ │<br />
│ │<br />
│ │<br />
│ Э К Р А Н │<br />
│ │<br />
│ 32К │<br />
│ │<br />
│ │<br />
│ │<br />
└────────────────────┘ 200000<br />
</pre><br />
В аппаратной версии 4.x появилась возможность включить проецирование 32К экрана на нижние 32К обычной памяти (этим управляет новый регистр 177574, бит 0) — сделано это, очевидно, для ускорения вывода на экран.<br />
<br />
== Видео ==<br />
[[Файл:NemigaTO-pic9.png|thumb]]<br />
Видео-контроллер формирует растр размером 512×312 точек, в котором «полезной» площадью является блок 512×256 точек. Экран хранится в верхней части памяти, доступной по косвенному адресу 140000, занимает 32 КБ. Каждые 8 точек растра занимают 2 соседних байта — каждый байт это отдельный битплан, то есть каждая точка это два бита, лежащие в соседних байтах, что даёт 4 градации яркости на точку.<br />
<br />
Знакогенератор содержит символы размером 8×8 точек, при выводе текста между строками оставляют место высотой в два пиксела. Таким образом экран используется как текстовый в 25 строк.<br />
<br />
Прошивка 3.03 использует не всю ширину экрана, а только 416 точек — слева и справа остаются пустые полосы по 48 точек.<br />
Прошивки 4.05 и 4.06 используют уже всю ширину в 512 точек.<br />
<br />
3.03 4.05 и 4.06<br />
┌─ 512 × 312 ────────────────────────┐ ┌─ 512 × 312 ────────────────────────┐<br />
│ │ │ │<br />
│ │ │ │<br />
┌─┌─ 416 × 256 ────────────────────┐─┐ ┌─ 512 × 256 ────────────────────────┐<br />
│ | | │ │ │<br />
│ | 50 символов в строке | │ │ 64 символа в строке │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
│ | | │ │ │<br />
└─└────────────────────────────────┘─┘ └────────────────────────────────────┘<br />
│ │ │ │<br />
│ │ │ │<br />
└────────────────────────────────────┘ └────────────────────────────────────┘<br />
<br />
[[Файл:Nemiga 303 pult.png|341px]] [[Файл:Nemiga 406 pult.png|341px]]<br />
<br />
== Клавиатура ==<br />
[[Файл:Nemiga-keyboard.jpg|thumb]]<br />
Раскладка клавиатуры:<br />
<pre><br />
( ) ( ) ( ) ( )<br />
РУС ВЕРХ ЛАТ ЦИФ<br />
┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐<br />
│Ф1 │Ф2 │ │Клю│ ; │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ ~ │<─ │ │ЦИФ│СТП│ ─ │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф3 │Ф4 │ │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ : │ Ъ │ ПС│ │ 7 │ 8 │ 9 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф5 │Ф6 │ │УПР│ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ . │ Ё │ВВО│ │ 4 │ 5 │ 6 │<br />
├───┼───┤ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ├───┼───┼───┤<br />
│Ф7 │Ф8 │ │ ↑ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ , │ / │ _ │ ↑ │ФПБ│ │ 1 │ 2 │ 3 │<br />
├───┼───┤ ┌───┼───┼───┼───┴───┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┘ ├───┼───┼───┤<br />
│Ф9 │Ф10│ │РУС│Р/Л│АЛТ│ │Р/Л│ЛАТ│ ЗБ│ДОП│ │ 0 │ . │ + │<br />
└───┴───┘ └───┴───┴───┴───────────────────────────────┴───┴───┴───┴───┘ └───┴───┴───┘<br />
</pre><br />
<br />
Клавиатура формирует 8-разрядный код клавиши (КОИ-8Р) и передаёт его в процессорный блок по последовательному каналу. Байт данных формируется в регистре D28 и затем передаётся в регистр D27.<br />
<br />
Текущие режимы хранятся в блоке клавиатуры и не могут быть установлены извне.<br />
При включении установлены режимы: ЛАТ, ВЕРХ, ЦИФ.<br />
<br />
Все клавиши кроме служебных составляют матрицу 8×12 контактов, «адрес» каждой клавиши выражается 7-битным значением (3 бита на номер места, 4 бита на номер строки).<br />
ПЗУ блока клавиатуры (D17) объёмом 2048 байт содержит 16 блоков по 128 байт — каждый блок соответствует одной из 16-ти комбинаций режимов.<br />
Код символа, соответствующий нажатой клавише, выбирается по адресу клавиши, из блока, определяемого текущим режимом.<br />
<br />
Автоповтор срабатывает через 1 секунду, с частотой 15 Гц.<br />
<br />
== Дисковод MD/MX ==<br />
ПЗУ версии 3.03 может загружать диски MD и DX; ПЗУ 4.05 и 4.06 — только диски MD.<br />
<br />
<pre><br />
177100 Регистр состояния КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴──┴─┬┴─┬┴──┴─┬┘<br />
TR ─┘ │ │ │ INDEX └─ RELOAD (R) / RUN/STEP (W)<br />
LOST-DATA ─┘ │ └──── TR00/WRPRT<br />
OP-FAILED <br />
<br />
177102 Регистр данных КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
<br />
<br />
177104 Регистр управления КНГМД (W) Операция 5 4<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┴──┴──┴ <br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ 0 0 ЧТЕНИЕ дорожки<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ 1 0 ЗАПИСЬ дорожки<br />
Операция ─┴──┘ │ │ └──┴─ Привод 0 1 ШАГ НАЗАД от центра диска<br />
Мотор └─ Поверхность 1 1 ШАГ ВПЕРЕД к центру диска<br />
<br />
<br />
177106 Регистр таймера КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┘<br />
└─ Пуск (W) / состояние (R)<br />
</pre><br />
Контроллер дисковода управляется на основе операций. Операция выполняется в два шага: (1) подготовка операции установкой в регистре управления битов операции и включения мотора; (2) запуск операции записью «1» в 0-й бит регистра состояния.<br />
<br />
=== Формат MD ===<br />
<br />
Дисковод формата MD, с кодированием FM (в ТО называется модель TEAC FD-55FV-003). Похож на MX, но использует побайтовую передачу данных.<br />
Каждый логический диск занимает только одну сторону физического диска, MD0: и MD1: это первый физический диск, MD2: и MD3: это второй.<br />
<br />
Ёмкость диска 459 КБ — 2 стороны по 80 дорожек, сектора по 128 байт, 23 сектора (или меньше) на дорожку. Диск вращается со скоростью 300 оборотов в минуту = 5 оборотов в секунду. Скорость обмена данными — 125 килобит в секунду (FM) = 125000 бит в секунду = 15625 байт в секунду = 3125 за оборот. Длительность одного цикла обмена: 1с / 5об / 3125 = 64 мкс.<br />
<br />
; Структура дорожки<br />
<pre><br />
──── Заголовок дорожки (10 байт) ─────────────<br />
1 343 — маркер<br />
1 xxx — номер дорожки<br />
1 023 — секторов на дорожку<br />
1 000 *<br />
2 xxx — первый сектор<br />
1 377 *<br />
1 377 *<br />
2 xxx — контрольная сумма<br />
──── Начало сектора 1..23 (130 байт на сектор) ─┐<br />
128 xxx — данные сектора │<br />
2 xxxx — контрольная сумма │<br />
──── Конец сектора ─────────────────────────────┘<br />
...<br />
</pre><br />
<br />
Прошивка 4.06 имеет поддержку «защиты» дискет. Три байта в заголовке дорожки (помечены «*») используются для перекодирования секторов при чтении — это встроено в цикл расчёта контрольной суммы сектора. При значениях этих байт 0/0xff/0xff — перекодирования не происходит.<br />
<br />
Первый сектор нулевой дорожки содержит информацию о количестве секторов на каждой дорожке, начиная с нулевого байта каждый байт описывает одну дорожку.<br />
<br />
=== Формат MX ===<br />
: ''См. [[Немига/System V502#MX.HLP]]'' — описание драйвера MX.SYS<br />
Используются обе стороны диска, поэтому только два устройства — MX0: и MX1:. На каждой дорожке 11 секторов по 128 слов = 256 байт. Односторонний диск = 256 * 11 * 80 = 225280 байт, двусторонний диск = 450560 байт.<br /><br />
Драйвер MX есть в комплекте системы «RT-11SJ V5.02(#)», и этот драйвер может только читать/писать, но не умеет форматировать.<br />
<br />
Структура дорожки для драйвера MX.SYS, называющего себя «ДРАЙВЕР ГМД ФОРМАТА MX40/80 МИКРОЦОС LTD. V2.2»:<br />
<pre><br />
──── Заголовок дорожки (3 байта) ─────────────<br />
1 Маркер 0363<br />
1 0 (этот байт можно рассматривать как старший байт от слова номера дорожки)<br />
1 Номер дорожки<br />
──── Начало сектора 1..11 (258 байт на сектор)<br />
256 128 слов, данные сектора<br />
2 Слово контрольной суммы, полученное обычным сложением всех слов сектора<br />
──── Конец сектора ───────────────────────────<br />
...<br />
──── Концевик ───────────────────────────────<br />
4 20 4F 54 01 (hex)<br />
2 Слово: номер дорожки * 2<br />
</pre><br />
Все слова данных сектора, а также слово контрольной суммы, записываются в формате старший байт затем младший байт, что отличается от обычного представления слов в памяти (младший потом старший), поэтому после чтения сектора и перед записью выполняется SWAB над всеми словами.<br /><br />
Без концевика получается 3 + 11 * (256 + 2) = 2841 байт, именно столько читает драйвер, остальные байты до конца дорожки игнорируются (длина дорожки примерно 3125 байт).<br /><br />
При записи дорожки кроме заголовка и данных секторов пишется ещё 6 байт концевика.<br />
<br />
== Дисковод DX ==<br />
Загрузка с дисков формата DX предусмотрена только в прошивке 3.03 — команда «X».<br />
<br />
DX — драйвер накопителя на гибких магнитных дисках [[ГМД-70]] или [[ГМД-7012]]. Полный объем устройства 494 блока.<br />
<br />
<pre><br />
177170 Регистр команд и состояний КНГМД (R/W)<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ ┌ 000 Заполнение буфера<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│ │ 001 Разгрузка буфера<br />
└─┬┴─┬┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ │ 010 Запись сектора<br />
ОШБ └─ ПСБ ТРБ ─┘ │ │ ВБР │ │ │ ПСК │ 011 Чтение сектора<br />
РПР КОП └──┴──┴── КОМ ─┤ 100 Форматирование дорожки<br />
│ 101 Чтение регистра ошибок и состояний<br />
177172 Регистр буфер данных КНГМД (R/W) │ 110 Запись сектора стертых данных<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ └ 111 Чтение регистра ошибок<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└──────── Данные ───────┘<br />
</pre><br />
<br />
На диске 77 дорожек 0..76, на каждой 26 секторов 1..26, по 128 байт на сектор, итого 77×26×128 = 256256 байт.<br />
Формат дорожки (из описаний [http://hobot.pdp-11.ru/BIBLIOTEKA/SM5631_3_060_205_IE_TO/SM5631_3_060_205_TO.rar] и [http://doc.pdp-11.org.ru/DVK/GMD7012/Format_GMD7012.pdf]):<br />
<pre><br />
Промежуток 46b<br />
Индексный маркер FC D7<br />
Начало сектора 1..26<br />
Преамбула 32/33b<br />
Идентификатор<br />
Преамбула 17b<br />
Данные 131b<br />
Конец сектора<br />
</pre><br />
<br />
'''''TODO'''''<br />
<br />
== Таймер и звук ==<br />
: ''См. также: [[Немига/Звук]]''<br />
<br />
Схема таймера построен на микросхеме таймера [[К588ВИ1|588ВИ1]]. Микросхема имеет два независимых 16-разрядных счётчика.<br />
<br />
Таймер 1 — входная частота 4 МГц, задержка задаётся в регистре 170022. Плюс для этого таймера есть делитель на степени двойки, задаваемый битами 0..2 регистра 170030 — это «октава». Так, например, для получения ноты A4 («ля» первой октавы, 440 Гц) мы задаём октаву 4 и задержку 1136, получаем: <code>4000000 / 2/2/2 / 1136 ~= 440.14 Гц</code><br />
<br />
Таймер 2 — на 50 Гц, задержка задаётся в регистре 170024. Используется для контроля длительности ноты.<br />
<br />
<pre><br />
170020 Регистр состояния программируемого таймера<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
Фикс прерывания 2 ─┘ │ │ │ │ │ │ │ │ └─ ??<br />
Фикс прерывания 1 ─┘ │ │ │ │ │ │ └ Режим работы 1-го счётчика<br />
Блокировка ЗПР2 ─┘ │ │ │ └──┴─ Режим пуска 1-го счётчика<br />
Блокировка ЗПР1 ─┘ │ │ 0 1 блокировка счётчика<br />
│ │ 1 0 запуск по CO1<br />
│ │ 1 1 запуск по C1<br />
└──┴─ Режим пуска 2-го счётчика<br />
0 1 блокировка счётчика<br />
1 0 запуск по CO2<br />
1 1 запуск по C2<br />
</pre><br />
<br />
Громкость 0..3 задаётся битами 4..3 регистра 170030.<br />
<br />
<pre><br />
170030 Регистр октавы и громкости<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
│ │ └──┴──┴─ Октава 1..7<br />
└──┴─ Громкость 0..3<br />
</pre><br />
<br />
Обращение к 170026 — включает звук.<br />
Обращение к 170032 — переключает состояние звука вкл/выкл.<br />
При этом таймер работает независимо от того, включен ли звук.<br />
Судя по схеме, звук также выключается по сигналу RESET, либо по окончанию счёта таймера 2 (сигнал ЗПР2).<br />
<br />
'''''NOTE:''''' Значения задержек для нот на прошивке 4.05 отличаются от 3.03 ровно в 1,6 раза. Вероятно, таймер 1 на новых моделях работает на частоте 6,4 МГц против 4 МГц на старой модели.<br />
<br />
== Порт принтера ==<br />
ИРПР построен на микросхеме КР1801ВП1-033.<br />
<br />
При включенном бите разрешения прерывания используется вектор прерывания 0200.<br />
<pre><br />
177514 Регистр состояния устройства сопряжения<br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴──┼──┴──┴──┴──┴──┴──┼─┬┴─┬┴─┬┴──┴──┴──┴──┴──┘<br />
│ └─ Нач.уст-ка (W)─┘ │ │ └─ Завершено (R)<br />
└─ Ошибка (R) │ └─ Разрешение прерывания (R/W)<br />
Требование передачи (R) ─┘<br />
<br />
177516 Регистр данных устройства сопряжения <br />
┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐<br />
│15│14 13 12│11 10 9│ 8 7 6│ 5 4 3│ 2 1 0│<br />
└──┴──┴──┴──┴──┴──┴──┴──┼──┴──┴──┴──┴──┴──┴──┴──┤<br />
└────── Данные (W) ─────┘<br />
</pre><br />
'''''TODO'''''<br />
<br />
== ПЗУ ==<br />
{| class="standard"<br />
! Версия || MD5 checksum !! SHA1 checksum !! Размер !! Примечания<br />
|-<br />
| 3.03 || 9023be6bcac0535b9dea95eeda5ef1f3 || ecb2a5cf3d0af678ad44d87c524eaa8726ea1243 || 4 КБ ||<br />
|-<br />
| 4.05 || cbd626766fac3d80c9c786642277f00a || 97e4ebbe88daedf0eed42ede5ff4c0c0e256316a || 4 КБ ||<br />
|-<br />
| 4.06 || 2b6d7eaf21e8201c434743991a2f9228 || a6cb2c8a401bbcbe434320a883021fc32fa9bba4 || 4 КБ ||<br />
|-<br />
| Клавиатура || b6a893d3e603eed3e41d39ca8006abf2 || a530598653f5de87cc730ac0350a19c51f9e0799 || 2 КБ ||<br />
|}<br />
<br />
== Производительность ==<br />
Тест SPEED показывает, что Немига работает немного быстрее чем УКНЦ.<br />
<br />
Сравнение реальной машины версии 4.06 (MiX [http://zx-pk.ru/threads/20590-emulyator-nemiga.html?p=891570&viewfull=1#post891570]) и двух УКНЦ (Alex_K):<br />
Немига УКНЦ1 УКНЦ2<br />
сложение рег-рег 760 624 672 тыс.оп/сек<br />
сложение рег-пам 328 240 289 тыс.оп/сек<br />
умножение рег-рег 152 80 64 тыс.оп/сек<br />
деление рег-рег 256 80 64 тыс.оп/сек<br />
<br />
== Ссылки ==<br />
* [http://www.emuverse.ru/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C+%D0%BF%D0%BE+%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D1%83+%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&prefix=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0%2F&namespace=0 Подстраницы этой страницы в Emuverse]<br />
* ТУ 4-ЫД1.700.004ТУ-89 [http://www.1bm.ru/techdocs/kgs/tu/773/info/150570/ Комплекс вычислительный «Немига»]<br />
* [http://myadel-gimnaz.by/sites/default/files/Documents/Instruction/Comp/Nemiga_TO_instrukciya.djvu Комплекс вычислительный «Немига». Компьютеры персональные ПК 588, ПК 588-01. Техническое описание и инструкция по эксплуатации]<br />
* [http://myadel-gimnaz.by/node/107 КУВТ «Немига»]<br />
* [http://www.kaznachey.com/doc/5r1Jfo7tA6r/ Постановление Совета министров Белорусской ССР «О дополнительных мерах по обеспечению учебных заведений республики электронно-вычислительной техникой»]<br />
<br />
[[Категория:Немига|*]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82-02&diff=3340Интеллект-022023-03-21T11:23:19Z<p>Nzeemin: /* Экземпляры устройства */</p>
<hr />
<div>{{Emuverse}}<br />
'''Интеллект-02''' — советский игровой компьютер на основе процессора [[КР580ВМ80А]].<br />
Корпус в виде шахматной доски, над которой расположен слот картриджа, внизу индикаторы и клавиатура.<br />
Программа работы задавалась ПЗУ в виде картриджа. Разработано, предположительно, в Львовском НИИ БРЭА.<br />
<br />
[[Файл:Intellekt-02-radio198309.jpg|thumb|Иллюстрация к новости в журнале «Радио»]]<br />
Устройство описано в журнале «Радио» 1983 № 9:<br />
<blockquote><br />
'''«ИНТЕЛЛЕКТ-02»'''<br />
Универсальное микропроцессорное устройство «Интеллект-02» предназначено для выполнения функций партнера в интеллектуальных играх, а также использования в шахматном спорте для тестирования профессиональных способностей шахматистов. Оно реализует следующие игровые программы: калах, гран, НИМ-1, НИМ-2, СМЭШ, куспак, шахматы и русские шашки (II спортивный разряд), нарды, уголки, крестики-нолики, шашки рэндзю, тест-программы для определения интеллектуальных способностей шахматистов. Нужную программу выбирают установкой соответствующей кассеты.<br />
«Интеллект-02» может быть использован также в качестве игрового автомата в клубах, парках, домах отдыха и санаториях.<br />
Ориентировочная цена — 300 руб.<br />
</blockquote><br />
<br />
== Технические характеристики ==<br />
* Процессор: [[КР580ВМ80А]]<br />
* Ввод-вывод: [[КР580ИК55]]<br />
* Память: ОЗУ 1 КБ (8 × КР565РУ2) — в адресном пространстве адреса f000h-f400h<br />
* Вывод:<br />
** Четыре 7-сегментных индикатора<br />
** Два светодиода («вы выиграли», «вы проиграли»)<br />
** Динамик<br />
* Ввод:<br />
** Клавиатура: 16 клавиш в два ряда по 8 клавиш<br />
<br />
== Индикаторы и клавиатура ==<br />
<pre><br />
___ ___ ___ ___ СБ ВИ ПП A1 B2 C3 D4 E5<br />
вы выиграли ( ) | | | | | | | | [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]<br />
| | | | | | | | ВВ СТ УИ F6 G7 H8 9 0<br />
вы проиграли ( ) |___| |___| |___| |___| [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] <br />
</pre><br />
Расшифровка названий клавиш:<br />
* СБ — сброс (reset)<br />
* ВВ — ввод (input)<br />
* ВИ — выбор игры (game select)<br />
* СТ — стирание (erase)<br />
* ПП — просмотр позиции (view position)<br />
* УИ — уровень игры (game level)<br />
<br />
== Порты ==<br />
; На чтение<br />
* f4h — порт A КР580ИК55, клавиатура, 255 — нет нажатия<br />
Скан-коды клавиатуры:<br />
СБ ВИ ПП A1 B2 C3 D4 E5<br />
[ ] [bf] [ ] [f1] [f2] [f3] [f4] [f5]<br />
ВВ СТ УИ F6 G7 H8 9 0<br />
[df] [7f] [fa] [f6] [f7] [f8] [ ] [ ] <br />
Примечание: клавиши ПП, 0, 9 — в программе кассеты «Шахматы» не используются, поэтому их скан-коды не определить экспериментально.<br />
<br />
; На запись<br />
* f7h — управляющий порт КР580ИК55, в самом начале задаётся режим 90h — порт А ввод, порты B/C вывод<br />
<br />
* f6h — порт КР580ИК55 — управляющий байт<br />
<pre><br />
┌──┬──┬──┬──┬──┬──┬──┬──┐ <br />
│ 7 6 5 4│ 3 2 1 0│ <br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ <br />
│ │ │ └──┴──┴──┴── выбор индикатора<br />
звук │ └── вы проиграли<br />
└───── вы выиграли<br />
</pre><br />
<br />
* f5h — порт КР580ИК55 — передаёт байт для 7-сегментного индикатора<br />
Кодирование 7-сегментных индикаторов (1 — сегмент включен, 0 — выключен) — при выводе в порт f5h:<br />
<pre><br />
a <br />
═╧══ <br />
┌──┬──┬──┬──┬──┬──┬──┬──┐ f─╢ ╟─b <br />
│ 7 6 5 4│ 3 2 1 0│ ║ g ║ <br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ ═╧══ <br />
, a b c d e f g e─╢ ╟─c <br />
║ d ║ <br />
═╧══ ╟─,<br />
</pre><br />
Изменение значения на 7-сегментных индикаторах выполняется так:<br />
* Запись в порт f5h байта для индикатора<br />
* Запись в порт f6h управляющего байта, с указанием выбранного индикатора в нижних четырёх битах<br />
* Запись нуля в порт f6h<br />
<br />
== Картридж Шахматы 1 ==<br />
На микросхеме КР568РЕ20003, 8 КБ — размещено с адреса 0000h.<br />
<br />
В начале работы задаётся режим портов — в порт f7h пишется 90h, стек устанавливается в f1ffh, очищается ОЗУ f000h-f1ffh.<br />
<br />
Адреса ОЗУ:<br />
* f000h-f03fh — 64 байта образа шахматной доски.<br />
* f1c8h-f1cbh — четыре байта готовые к выводу на 7-сегментные индикаторы. В начале работы и после сброса там 3b 67 00 30 — это <code>У Р &nbsp; 1</code>.<br />
* f188h-f18bh — четыре символа для вывода на 7-сегментные индикаторы.<br />
<br />
Довольно странно что картридж использует только 512 байт из доступных 1024 байт ОЗУ. ПЗУ также используется наполовину — только 3554 байт из 8 КБ ПЗУ. Mike Watters обнаружил [http://www.chesscomputeruk.com/html/intellect_-02.html], что Интеллект-02 даёт такие же ответные ходы что и шахматный компьютер [http://www.schach-computer.info/wiki/index.php?title=Fidelity_Chess_Challenger_3 Fidelity Chess Challenger 3]. Судя по характеристикам, очень похоже. Кроме того, Mike заметил что картридж от экземпляра 1991 года выпуска имеет четыре уровня игры вместо трёх, и даёт другие ответные ходы.<br />
<br />
== Картридж Шахматы 2 ==<br />
ПЗУ 8КБ по адресам 0000-1fffh.<br />
<br />
После запуска на индикаторе <code>У Р &nbsp; 1</code>. Кнопкой УИ можно выбрать уровень игры 1..4.<br />
<br />
Шахматная доска выглядит в памяти так — ситуация после запуска:<br />
<pre><br />
F000: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
F010: 00 FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
F020: 00 00 FF FF 0A 06 08 12 42 08 06 0A FF FF 09 00<br />
F030: 00 00 FF FF 02 02 02 02 02 02 02 02 FF FF 00 00<br />
F040: 00 00 FF FF 00 00 00 00 00 00 00 00 FF FF 00 28<br />
F050: 98 00 FF FF 00 00 00 00 00 00 00 00 FF FF 00 00<br />
F060: 00 00 FF FF 00 00 00 00 00 00 00 00 FF FF 00 00<br />
F070: 00 04 FF FF 00 00 00 00 00 00 00 00 FF FF 00 00<br />
F080: 00 00 FF FF 03 03 03 03 03 03 03 03 FF FF 00 00<br />
F090: 00 00 FF FF 0B 07 09 13 43 09 07 0B FF FF 00 00<br />
F0A0: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
F0B0: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
</pre><br />
<br />
== Экземпляры устройства ==<br />
Сортировка по дате выпуска:<br />
* № 5250, март 1986 [https://meshok.ru/item/26779977_%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80_%D0%98%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82_02_%D0%B8%D0%B7_%D0%A1%D0%A1%D0%A1%D0%A0]<br />
* № 6720 июль 1987 [http://newauction.ru/offer/mikroprocessornyj_partner_intellekt_02-i5527439012.html]<br />
* № 1649 ноябрь 1987 [http://olx.ua/obyavlenie/intellekt-02-partner-universalnyy-mikroprotsessornyy-IDl4WWE.html]<br />
* № 8548 ноябрь 1987 [http://market.zx-pk.ru/forum/viewtopic.php?t=4710] — с этого экземпляра снят имеющийся образ ПЗУ «Шахматы»<br />
* № 4513 декабрь 1987 [https://skylots.org/6586432374/Universalnoe+mikroprocessornoe+ustroystvo+Intellekt-02+87+god+Mega+redkost+Mojno+v+kolekciyu+Vse+rodnoe+na+meste]<br />
* № 9373 март 1988 [https://www.farpost.ru/ussuriisk/hobby/antiques/stamps/shahmatnyj-kompjuter-intellekt-02-sssr-1988g-82021426.html]<br />
* № 7984 август 1988 [https://www.avito.ru/sankt-peterburg/sport_i_otdyh/shahmatnyy_kompyuter_intellekt-02_sssr_442273896]<br />
* № 4288 ноябрь 1988, кассета шахматы № 4315 ноябрь 1988 [http://www.chesscomputeruk.com/html/intellect_-02.html]<br />
* № 6404 декабрь 1990, кассета шахматы № 5383 декабрь 1990 [https://meshok.net/item/61626607_%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80_1990_%D0%9F%D0%B0%D1%80%D1%82%D0%BD%D0%B5%D1%80_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%98%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82_02_%D0%98%D0%B3%D1%80%D0%B0_%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B_%D0%BA%D0%B0%D1%80%D1%82%D1%80%D0%B8%D0%B4%D0%B6_%D0%AD%D0%92%D0%9C_%D0%A1%D0%A1%D0%A1%D0%A0]<br />
* № 6660 июль 1991, кассета № 5777 июль 1991 [https://meshok.net/item/280544151_%D0%98%D0%93%D0%A0%D0%9E%D0%92%D0%90%D0%AF_%D0%9F%D0%A0%D0%98%D0%A1%D0%A2%D0%90%D0%92%D0%9A%D0%90_%D0%9A%D0%9E%D0%9C%D0%9F%D0%AC%D0%AE%D0%A2%D0%95%D0%A0_%D0%98%D0%9D%D0%A2%D0%95%D0%9B%D0%9B%D0%95%D0%9A%D0%A2_02_%D0%9F%D0%90%D0%A0%D0%A2%D0%9D%D0%95%D0%A0_%D0%9C%D0%98%D0%9A%D0%A0%D0%9E%D0%9F%D0%A0%D0%9E%D0%A6%D0%95%D0%A1%D0%A1%D0%9E%D0%A0%D0%9D%D0%AB%D0%99]<br />
* № 7828 декабрь 1991, кассета шахматы № 2052 май 1989, кассета калах/гран № 8508 март 1989 — [http://www.leningrad.su/museum/show_calc.php?n=328 Интеллект-02 в коллекции Сергея Фролова]<br />
<br />
== Ссылки ==<br />
* https://github.com/nzeemin/intellekt02<br />
* [http://zx-pk.ru/threads/26864-emulyator-shakhmatnogo-kompyutera-intellekt-02.html Эмулятор шахматного компьютера Интеллект-02 — тема на zx-pk.ru]<br />
<br />
[[Категория:Настольные игры]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%98%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82-02&diff=3339Интеллект-022023-03-21T11:16:05Z<p>Nzeemin: /* Экземпляры устройства */</p>
<hr />
<div>{{Emuverse}}<br />
'''Интеллект-02''' — советский игровой компьютер на основе процессора [[КР580ВМ80А]].<br />
Корпус в виде шахматной доски, над которой расположен слот картриджа, внизу индикаторы и клавиатура.<br />
Программа работы задавалась ПЗУ в виде картриджа. Разработано, предположительно, в Львовском НИИ БРЭА.<br />
<br />
[[Файл:Intellekt-02-radio198309.jpg|thumb|Иллюстрация к новости в журнале «Радио»]]<br />
Устройство описано в журнале «Радио» 1983 № 9:<br />
<blockquote><br />
'''«ИНТЕЛЛЕКТ-02»'''<br />
Универсальное микропроцессорное устройство «Интеллект-02» предназначено для выполнения функций партнера в интеллектуальных играх, а также использования в шахматном спорте для тестирования профессиональных способностей шахматистов. Оно реализует следующие игровые программы: калах, гран, НИМ-1, НИМ-2, СМЭШ, куспак, шахматы и русские шашки (II спортивный разряд), нарды, уголки, крестики-нолики, шашки рэндзю, тест-программы для определения интеллектуальных способностей шахматистов. Нужную программу выбирают установкой соответствующей кассеты.<br />
«Интеллект-02» может быть использован также в качестве игрового автомата в клубах, парках, домах отдыха и санаториях.<br />
Ориентировочная цена — 300 руб.<br />
</blockquote><br />
<br />
== Технические характеристики ==<br />
* Процессор: [[КР580ВМ80А]]<br />
* Ввод-вывод: [[КР580ИК55]]<br />
* Память: ОЗУ 1 КБ (8 × КР565РУ2) — в адресном пространстве адреса f000h-f400h<br />
* Вывод:<br />
** Четыре 7-сегментных индикатора<br />
** Два светодиода («вы выиграли», «вы проиграли»)<br />
** Динамик<br />
* Ввод:<br />
** Клавиатура: 16 клавиш в два ряда по 8 клавиш<br />
<br />
== Индикаторы и клавиатура ==<br />
<pre><br />
___ ___ ___ ___ СБ ВИ ПП A1 B2 C3 D4 E5<br />
вы выиграли ( ) | | | | | | | | [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]<br />
| | | | | | | | ВВ СТ УИ F6 G7 H8 9 0<br />
вы проиграли ( ) |___| |___| |___| |___| [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] <br />
</pre><br />
Расшифровка названий клавиш:<br />
* СБ — сброс (reset)<br />
* ВВ — ввод (input)<br />
* ВИ — выбор игры (game select)<br />
* СТ — стирание (erase)<br />
* ПП — просмотр позиции (view position)<br />
* УИ — уровень игры (game level)<br />
<br />
== Порты ==<br />
; На чтение<br />
* f4h — порт A КР580ИК55, клавиатура, 255 — нет нажатия<br />
Скан-коды клавиатуры:<br />
СБ ВИ ПП A1 B2 C3 D4 E5<br />
[ ] [bf] [ ] [f1] [f2] [f3] [f4] [f5]<br />
ВВ СТ УИ F6 G7 H8 9 0<br />
[df] [7f] [fa] [f6] [f7] [f8] [ ] [ ] <br />
Примечание: клавиши ПП, 0, 9 — в программе кассеты «Шахматы» не используются, поэтому их скан-коды не определить экспериментально.<br />
<br />
; На запись<br />
* f7h — управляющий порт КР580ИК55, в самом начале задаётся режим 90h — порт А ввод, порты B/C вывод<br />
<br />
* f6h — порт КР580ИК55 — управляющий байт<br />
<pre><br />
┌──┬──┬──┬──┬──┬──┬──┬──┐ <br />
│ 7 6 5 4│ 3 2 1 0│ <br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ <br />
│ │ │ └──┴──┴──┴── выбор индикатора<br />
звук │ └── вы проиграли<br />
└───── вы выиграли<br />
</pre><br />
<br />
* f5h — порт КР580ИК55 — передаёт байт для 7-сегментного индикатора<br />
Кодирование 7-сегментных индикаторов (1 — сегмент включен, 0 — выключен) — при выводе в порт f5h:<br />
<pre><br />
a <br />
═╧══ <br />
┌──┬──┬──┬──┬──┬──┬──┬──┐ f─╢ ╟─b <br />
│ 7 6 5 4│ 3 2 1 0│ ║ g ║ <br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘ ═╧══ <br />
, a b c d e f g e─╢ ╟─c <br />
║ d ║ <br />
═╧══ ╟─,<br />
</pre><br />
Изменение значения на 7-сегментных индикаторах выполняется так:<br />
* Запись в порт f5h байта для индикатора<br />
* Запись в порт f6h управляющего байта, с указанием выбранного индикатора в нижних четырёх битах<br />
* Запись нуля в порт f6h<br />
<br />
== Картридж Шахматы 1 ==<br />
На микросхеме КР568РЕ20003, 8 КБ — размещено с адреса 0000h.<br />
<br />
В начале работы задаётся режим портов — в порт f7h пишется 90h, стек устанавливается в f1ffh, очищается ОЗУ f000h-f1ffh.<br />
<br />
Адреса ОЗУ:<br />
* f000h-f03fh — 64 байта образа шахматной доски.<br />
* f1c8h-f1cbh — четыре байта готовые к выводу на 7-сегментные индикаторы. В начале работы и после сброса там 3b 67 00 30 — это <code>У Р &nbsp; 1</code>.<br />
* f188h-f18bh — четыре символа для вывода на 7-сегментные индикаторы.<br />
<br />
Довольно странно что картридж использует только 512 байт из доступных 1024 байт ОЗУ. ПЗУ также используется наполовину — только 3554 байт из 8 КБ ПЗУ. Mike Watters обнаружил [http://www.chesscomputeruk.com/html/intellect_-02.html], что Интеллект-02 даёт такие же ответные ходы что и шахматный компьютер [http://www.schach-computer.info/wiki/index.php?title=Fidelity_Chess_Challenger_3 Fidelity Chess Challenger 3]. Судя по характеристикам, очень похоже. Кроме того, Mike заметил что картридж от экземпляра 1991 года выпуска имеет четыре уровня игры вместо трёх, и даёт другие ответные ходы.<br />
<br />
== Картридж Шахматы 2 ==<br />
ПЗУ 8КБ по адресам 0000-1fffh.<br />
<br />
После запуска на индикаторе <code>У Р &nbsp; 1</code>. Кнопкой УИ можно выбрать уровень игры 1..4.<br />
<br />
Шахматная доска выглядит в памяти так — ситуация после запуска:<br />
<pre><br />
F000: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
F010: 00 FF FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
F020: 00 00 FF FF 0A 06 08 12 42 08 06 0A FF FF 09 00<br />
F030: 00 00 FF FF 02 02 02 02 02 02 02 02 FF FF 00 00<br />
F040: 00 00 FF FF 00 00 00 00 00 00 00 00 FF FF 00 28<br />
F050: 98 00 FF FF 00 00 00 00 00 00 00 00 FF FF 00 00<br />
F060: 00 00 FF FF 00 00 00 00 00 00 00 00 FF FF 00 00<br />
F070: 00 04 FF FF 00 00 00 00 00 00 00 00 FF FF 00 00<br />
F080: 00 00 FF FF 03 03 03 03 03 03 03 03 FF FF 00 00<br />
F090: 00 00 FF FF 0B 07 09 13 43 09 07 0B FF FF 00 00<br />
F0A0: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
F0B0: 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 00<br />
</pre><br />
<br />
== Экземпляры устройства ==<br />
* № 5250, март 1986 [https://meshok.ru/item/26779977_%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80_%D0%98%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82_02_%D0%B8%D0%B7_%D0%A1%D0%A1%D0%A1%D0%A0]<br />
* № 6720 июль 1987 [http://newauction.ru/offer/mikroprocessornyj_partner_intellekt_02-i5527439012.html]<br />
* № 1649 ноябрь 1987 [http://olx.ua/obyavlenie/intellekt-02-partner-universalnyy-mikroprotsessornyy-IDl4WWE.html]<br />
* № 8548 ноябрь 1987 [http://market.zx-pk.ru/forum/viewtopic.php?t=4710] — с этого экземпляра снят имеющийся образ ПЗУ «Шахматы»<br />
* № 9373 март 1988 [https://www.farpost.ru/ussuriisk/hobby/antiques/stamps/shahmatnyj-kompjuter-intellekt-02-sssr-1988g-82021426.html]<br />
* № 7984 август 1988 [https://www.avito.ru/sankt-peterburg/sport_i_otdyh/shahmatnyy_kompyuter_intellekt-02_sssr_442273896]<br />
* № 4288 ноябрь 1988, кассета шахматы № 4315 ноябрь 1988 [http://www.chesscomputeruk.com/html/intellect_-02.html]<br />
* № 6404 декабрь 1990, кассета шахматы № 5383 декабрь 1990 [https://meshok.net/item/61626607_%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80_1990_%D0%9F%D0%B0%D1%80%D1%82%D0%BD%D0%B5%D1%80_%D1%83%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%98%D0%BD%D1%82%D0%B5%D0%BB%D0%BB%D0%B5%D0%BA%D1%82_02_%D0%98%D0%B3%D1%80%D0%B0_%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B_%D0%BA%D0%B0%D1%80%D1%82%D1%80%D0%B8%D0%B4%D0%B6_%D0%AD%D0%92%D0%9C_%D0%A1%D0%A1%D0%A1%D0%A0]<br />
* № 6660 июль 1991, кассета № 5777 июль 1991 [https://meshok.net/item/280544151_%D0%98%D0%93%D0%A0%D0%9E%D0%92%D0%90%D0%AF_%D0%9F%D0%A0%D0%98%D0%A1%D0%A2%D0%90%D0%92%D0%9A%D0%90_%D0%9A%D0%9E%D0%9C%D0%9F%D0%AC%D0%AE%D0%A2%D0%95%D0%A0_%D0%98%D0%9D%D0%A2%D0%95%D0%9B%D0%9B%D0%95%D0%9A%D0%A2_02_%D0%9F%D0%90%D0%A0%D0%A2%D0%9D%D0%95%D0%A0_%D0%9C%D0%98%D0%9A%D0%A0%D0%9E%D0%9F%D0%A0%D0%9E%D0%A6%D0%95%D0%A1%D0%A1%D0%9E%D0%A0%D0%9D%D0%AB%D0%99]<br />
* № 7828 декабрь 1991, кассета шахматы № 2052 май 1989, кассета калах/гран № 8508 март 1989 — [http://www.leningrad.su/museum/show_calc.php?n=328 Интеллект-02 в коллекции Сергея Фролова]<br />
<br />
== Ссылки ==<br />
* https://github.com/nzeemin/intellekt02<br />
* [http://zx-pk.ru/threads/26864-emulyator-shakhmatnogo-kompyutera-intellekt-02.html Эмулятор шахматного компьютера Интеллект-02 — тема на zx-pk.ru]<br />
<br />
[[Категория:Настольные игры]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3338Микропроцессорный комплект 5882023-03-16T14:09:40Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Медведев А. В., Рудометов Е. Н. Организация работы арифметического устройства К588ИК2 в автономном режиме // Электронная промышленность, 1983, № 3.<br />
* Черняховский Д. Н., Шиллер В. А., Юровский А. А. Процессор с системой команд и интерфейсом микроЭВМ «Электроника-60» на основе БИС серйи КР588. — Электронная промышленность, 1983, вып. 9, с. 11 — 13.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С. Н., Черняковский Д. Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
* Горовой В. В., Кособрюхов В. А., Таратын И. А., Хвощ С. Т. Комплект интерфейсных БИС серии К588 для мультиплексного канала // Электронная промышленность. 1986, № 2.<br />
* Корнуков А. П., Криворучко Ю. Т., Песляк Е. А. Одноплатные микроЭВМ на микропроцессорных БИС серии К588 // Электронная промышленность. 1986, № 2.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3337Микропроцессорный комплект 5882023-03-16T14:06:39Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Медведев А. В., Рудометов Е. Н. Организация работы арифметического устройства К588ИК2 в автономном режиме // Электронная промышленность, 1983, № 3.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С. Н., Черняковский Д. Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
* Горовой В. В., Кособрюхов В. А., Таратын И. А., Хвощ С. Т. Комплект интерфейсных БИС серии К588 для мультиплексного канала // Электронная промышленность. 1986, № 2.<br />
* Корнуков А. П., Криворучко Ю. Т., Песляк Е. А. Одноплатные микроЭВМ на микропроцессорных БИС серии К588 // Электронная промышленность. 1986, № 2.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3336Микропроцессорный комплект 5882023-03-16T14:01:36Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Медведев А.В., Рудометов Е.Н. Организация работы арифметического устройства К588ИК2 в автономном режиме // Электронная промышленность, 1983, № 3.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С.Н., Черняковский Д.Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3335Микропроцессорный комплект 5882023-03-16T08:00:02Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
; Книги<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
; Статьи<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С.Н., Черняковский Д.Н. 16-разрядный арифметический умножитель К588ВР2 // Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1 // Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3 // Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1 // Электронная промышленность. 1985, № 9.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3334Микропроцессорный комплект 5882023-03-16T07:39:40Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Ковалевский В. К., Сергеев А. А., Тихомиров С.Н., Черняковский Д.Н. 16-разрядный арифметический умножитель К588ВР2. Электронная промышленность. 1984, № 6.<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1. Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3. Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1. Электронная промышленность. 1985, № 9.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3333Микропроцессорный комплект 5882023-03-16T07:34:20Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1. Электронная промышленность. 1985, № 7.<br />
* Васильев А. Н., Горовой В. В., Сухопаров А. И., Хвощ С. Т. Кодер-декодер последовательного мультиплексного канала К588ВГ3. Электронная промышленность. 1985, № 9.<br />
* Лозицкая В. А., Лукошко Г. К., Тихомиров С. Н. Микромощная БИС магистрального приёмопередатчика К588ВА1. Электронная промышленность. 1985, № 9.<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_RESET_trace&diff=3332Немига RESET trace2023-03-12T14:11:02Z<p>Nzeemin: </p>
<hr />
<div>{{Emuverse}}<br />
Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.<br />
<br />
Дамп снимался на работающей машине, триггером было появление сигнала СБРОС, выполнялось нажатием кнопки СБРОС на корпусе.<br />
<br />
<pre><br />
RESET<br />
READ 000024 000000 ; Чтение вектора прерывания "нарушение питания"<br />
READ 000026 000000<br />
<br />
READ 000000 000000 HALT<br />
<br />
WRITE 177706 000000 ; Запись PSW и PC в стек<br />
WRITE 177704 000002<br />
READ 160002 160210 ; Чтение вектора прерывания HALT<br />
READ 160004 000341 <br />
READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224 ; память инициализирована, потому что сброс сделан на работающей машине<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564 ; Уст. состояние терминала - не готов<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142 ; Канальный сигнал СБРОС? да, переходим на обработку канального сигнала СБРОС<br />
READ 160142 012737 ROM MOV #000357, @#000206 ; 239. -> VFORM<br />
READ 160144 000357 ROM<br />
READ 160146 000206 ROM<br />
WRITE 000206 000357<br />
READ 160150 005037 ROM CLR @#177560 ; Сброс состояния клавиатуры<br />
READ 160152 177560 ROM<br />
READ 177560 000000<br />
WRITE 177560 000000<br />
READ 160154 012737 ROM MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания<br />
READ 160156 000200 ROM<br />
READ 160160 177564 ROM<br />
WRITE 177564 000200<br />
READ 160162 005037 ROM CLR @#177770<br />
READ 160164 177770 ROM<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 160166 042737 ROM BIC #177541, @#177766 ; Оставляем только флаги #136<br />
READ 160170 177541 ROM<br />
READ 160172 177766 ROM<br />
READ 177766 000000<br />
WRITE 177766 000000<br />
READ 160174 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160176 000137 ROM JMP @#161074 ; Завершаем обработку прерывания HALT<br />
READ 160200 161074 ROM<br />
READ 161074 105037 ROM CLRB @#170006 ; Разрешаем системные прерывания<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 000002 ; Восстанавливаем PC<br />
READ 177706 000000 ; Восстанавливаем PSW<br />
<br />
READ 000002 000000 HALT<br />
<br />
WRITE 177706 000000<br />
WRITE 177704 000004<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160202 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160204 000137 ROM JMP @#161142 ; Переходим к сохранению регистров и пульту<br />
READ 160206 161142 ROM<br />
READ 161142 012637 ROM MOV (SP)+, @#177736 ; Сохраняем PC<br />
READ 161142 012637 ROM<br />
READ 177704 000004<br />
READ 161144 177736 ROM<br />
WRITE 177736 000004<br />
READ 161146 012637 MOV (SP)+, @#177740 ; Сохраняем PSW<br />
READ 177706 000000<br />
READ 161150 177740 ROM<br />
WRITE 177740 000000<br />
READ 161152 010637 ROM MOV SP, @#177734<br />
READ 161154 177734 ROM<br />
WRITE 177734 177710<br />
READ 161156 012706 ROM MOV #177734, SP ; Сохраняем остальные регистры<br />
READ 161160 177734 ROM<br />
READ 161162 010546 ROM PUSH R5 ; -> 177732<br />
WRITE 177732 000000<br />
READ 161164 010446 ROM PUSH R4 ; -> 177730<br />
WRITE 177730 000142<br />
READ 161166 010346 ROM PUSH R3 ; -> 177726<br />
WRITE 177726 040042<br />
READ 161170 010246 ROM PUSH R2 ; -> 177724<br />
WRITE 177724 177770<br />
READ 161172 010146 ROM PUSH R1 ; -> 177722<br />
WRITE 177722 000000<br />
READ 161174 010046 ROM PUSH R0 ; -> 177720 - начало блока регистров<br />
WRITE 177720 000000<br />
READ 161176 013746 ROM MOV @#000004, -(SP) ; Адрес прерывания<br />
READ 161200 000004 ROM<br />
READ 000004 161546<br />
WRITE 177716 161546<br />
READ 161202 013746 ROM MOV @#000006, -(SP) ; PSW прерывания<br />
READ 161204 000006 ROM<br />
READ 000006 000340<br />
WRITE 177714 000340<br />
READ 161206 013746 MOV @#177766, -(SP)<br />
READ 161210 177766 ROM<br />
READ 177766 000000<br />
WRITE 177712 000000<br />
READ 161212 005037 ROM CLR @#177766<br />
READ 161214 177766 ROM<br />
READ 177766 000000<br />
WRITE 000000 000000<br />
READ 161216 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161220 000340 ROM<br />
READ 161222 000006 ROM<br />
WRITE 000006 000340<br />
READ 161224 012737 ROM MOV #161444, @#000004 ; Адрес прерывания??<br />
READ 161226 161444 ROM<br />
READ 161230 000004 ROM<br />
WRITE 000004 161444<br />
READ 161232 012737 ROM MOV #000060, @#170010 ; Регистр состояния адаптера локальной сети<br />
READ 161234 000060 ROM<br />
READ 161236 170010 ROM<br />
WRITE 170010 000060<br />
READ 161240 000501 ROM BR 161444 ; Переход к пультовому терминалу<br />
; Вывод приглашения пульта и ожидание команды<br />
READ 161444 012705 ROM MOV #162704, R5 ; Строка "Пульт>"<br />
READ 161446 162704 ROM<br />
READ 161450 012706 ROM MOV #177712, SP<br />
READ 161452 177712 ROM<br />
READ 161454 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161456 000340 ROM<br />
READ 161460 000006 ROM<br />
WRITE 000006 000340<br />
READ 161462 012737 ROM MOV #161546, @#000004 ; Адрес прерывания по вектору 4<br />
READ 161464 161546 ROM<br />
READ 161466 000004 ROM<br />
WRITE 000004 161546<br />
READ 161470 004737 ROM CALL @#162274 ; PRINT Вывод строки, адрес в R5<br />
READ 161472 162274 ROM<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
WRITE 177710 161474<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162704 006406 ROM<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163474 004736 ROM CALL @(SP)+<br />
READ 177704 163726<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
WRITE 177704 163476<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
READ 163730 177642 ROM<br />
WRITE 177642 177704<br />
READ 163732 012706 ROM MOV #177642, SP<br />
READ 163734 177642 ROM<br />
READ 163736 052737 ROM BIS #000001, @#177574<br />
READ 163740 000001 ROM<br />
READ 163742 177574 ROM<br />
READ 177574 000000<br />
WRITE 177574 000001<br />
READ 163744 004777 ROM CALL @177774<br />
READ 163746 014024 ROM<br />
READ 177774 164042<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177640 163750<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177636 000006<br />
READ 164044 010146 ROM PUSH R1<br />
WRITE 177634 000000<br />
READ 164046 010246 ROM PUSH R2<br />
WRITE 177632 177770<br />
READ 164050 010346 ROM PUSH R3<br />
WRITE 177630 040042<br />
READ 164052 010446 ROM PUSH R4<br />
WRITE 177626 000142<br />
READ 164054 010546 ROM PUSH R5<br />
WRITE 177624 162705<br />
READ 164056 004737 ROM CALL @#165206<br />
READ 164060 165206 ROM<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
WRITE 177622 164062<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
READ 165210 177772 ROM<br />
READ 177772 034606<br />
READ 165212 100415 ROM BMI 165246<br />
READ 165214 105737 ROM TSTB @#177771<br />
READ 165216 177771 ROM<br />
READ 177771 000000<br />
READ 165220 100412 ROM BMI 165246<br />
READ 165222 005737 ROM TST @#177756<br />
READ 165224 177756 ROM<br />
READ 177756 000003<br />
READ 165226 100007 ROM BPL 165246<br />
READ 165246 000207 ROM RETURN <br />
READ 177622 164062<br />
READ 164062 016605 ROM MOV 000012(SP), R5<br />
READ 164064 000012 ROM<br />
READ 177636 000006<br />
READ 164066 042705 ROM BIC #177400, R5<br />
READ 164070 177400 ROM<br />
READ 164072 012701 ROM MOV #000100, R1<br />
READ 164074 000100 ROM<br />
READ 164076 012702 ROM MOV #177770, R2<br />
READ 164100 177770 ROM<br />
READ 164102 105712 ROM TSTB (R2)<br />
READ 177770 000000<br />
READ 164104 100014 ROM BPL 164136<br />
READ 164136 001311 ROM BNE 164762<br />
READ 164140 113704 ROM MOVB @#177766, R4<br />
READ 164142 177766 ROM<br />
READ 177766 000000<br />
READ 164144 100014 ROM BPL 164176<br />
READ 164176 020527 ROM CMP R5, #000040<br />
READ 164200 000040 ROM<br />
READ 164202 103437 ROM BLO 164302<br />
; Обработка символов с кодом меньше #040<br />
READ 164302 012702 ROM MOV #165324, R2<br />
READ 164304 165324 ROM<br />
READ 164306 132704 ROM BITB #000010, R4<br />
READ 164310 000010 ROM<br />
READ 164312 001004 ROM BNE 164324<br />
READ 164314 022222 ROM CMP (R2)+, (R2)+<br />
READ 165324 037303 ROM BIT @000002(R3), R3<br />
READ 165326 000002 ROM<br />
READ 164316 105704 ROM TSTB R4<br />
READ 164320 100401 ROM BMI 164324<br />
READ 164322 022222 ROM CMP (R2)+, (R2)+<br />
READ 165330 001757 ROM<br />
READ 165332 000222 ROM unknown <br />
READ 164324 012200 ROM MOV (R2)+, R0<br />
READ 165334 177774 ROM unknown <br />
READ 164326 011201 ROM<br />
READ 165336 177777 ROM<br />
READ 164330 073005 ROM ASHC R5, R0<br />
READ 164332 100122 ROM BPL 164600<br />
READ 164334 116504 ROM MOVB 165250(R5), R4<br />
READ 164336 165250 ROM<br />
READ 165256 110431 ROM MOVB R4, @(R1)+<br />
READ 164340 042704 ROM BIC #177400, R4<br />
READ 164342 177400 ROM<br />
READ 164344 006304 ROM ASL R4<br />
READ 164346 012702 ROM MOV #177770, R2<br />
READ 164350 177770 ROM<br />
READ 164352 060407 ROM ADD R4, PC<br />
READ 164436 005012 ROM CLR (R2)<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 164440 005742 ROM TST -(R2)<br />
READ 177766 000000<br />
READ 164442 005042 ROM CLR -(R2)<br />
READ 177764 000000<br />
WRITE 177764 000000<br />
READ 164444 005042 ROM CLR -(R2)<br />
READ 177762 000000<br />
WRITE 177762 000000<br />
READ 164446 000454 ROM BR 164600<br />
READ 164600 000546 ROM BR 165116<br />
READ 165116 004737 ROM CALL @#165206<br />
READ 165120 165206 ROM<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
WRITE 177622 165122<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
READ 165210 177772 ROM<br />
READ 177772 034606<br />
READ 165212 100415 ROM BMI 165246<br />
READ 165214 105737 ROM TSTB @#177771<br />
READ 165216 177771 ROM<br />
READ 177771 000000<br />
READ 165220 100412 ROM BMI 165246<br />
READ 165222 005737 ROM TST @#177756<br />
READ 165224 177756 ROM<br />
READ 177756 000003<br />
READ 165226 100007 ROM BPL 165246<br />
READ 165246 000207 ROM RETURN <br />
READ 177622 165122<br />
READ 165122 012605 ROM POP R5<br />
READ 177624 162705<br />
READ 165124 012604 ROM POP R4<br />
READ 177626 000142<br />
READ 165126 012603 ROM POP R3<br />
READ 177630 040042<br />
READ 165130 012602 ROM POP R2<br />
READ 177632 177770<br />
READ 165132 012601 ROM POP R1<br />
READ 177634 000000<br />
READ 165134 012600 ROM POP R0<br />
READ 177636 000006<br />
READ 165136 000207 ROM RETURN <br />
READ 177640 163750<br />
READ 163750 042737 ROM BIC #000001, @#177574<br />
READ 163752 000001 ROM<br />
READ 163754 177574 ROM<br />
READ 177574 000001<br />
WRITE 177574 000000<br />
READ 163756 011606 ROM MOV (SP), SP<br />
READ 177642 177704<br />
READ 163760 000207 ROM RETURN <br />
READ 177704 163476<br />
READ 163476 105037 ROM CLRB @#170006<br />
READ 163500 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163502 000207 ROM RETURN <br />
READ 177706 162306<br />
READ 162306 000772 ROM BR 163274<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162705 005015 ROM CLR (R5)<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
WRITE 177706 162306<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
WRITE 177704 163726<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163474 004736 ROM CALL @(SP)+<br />
READ 177704 163726<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
WRITE 177704 163476<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
READ 163730 177642 ROM<br />
WRITE 177642 177704<br />
READ 163732 012706 ROM MOV #177642, SP<br />
READ 163734 177642 ROM<br />
READ 163736 052737 ROM BIS #000001, @#177574<br />
READ 163740 000001 ROM<br />
READ 163742 177574 ROM<br />
READ 177574 000000<br />
WRITE 177574 000001<br />
READ 163744 004777 ROM CALL @177774<br />
READ 163746 014024 ROM<br />
READ 177774 164042<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177640 163750<br />
...<br />
</pre><br />
<br />
В самом конце трассы - ожидание ввода с терминала и прерывание:<br />
<pre><br />
...<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
<br />
WRITE 177706 000344 ; Запись PSW и PC в стек<br />
WRITE 177704 162320<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160246 032737 ROM BIT #004000, @#170006<br />
READ 160250 004000 ROM<br />
READ 160252 170006 ROM<br />
READ 170006 000000<br />
READ 160254 001402 ROM BEQ 160262<br />
READ 160262 032737 ROM BIT #040000, @#170006<br />
READ 160264 040000 ROM<br />
READ 160266 170006 ROM<br />
READ 170006 000000<br />
READ 160270 001404 ROM BEQ 160302<br />
READ 160302 032737 ROM BIT #020000, @#170006<br />
READ 160304 020000 ROM<br />
READ 160306 170006 ROM<br />
READ 170006 000000<br />
READ 160310 001411 ROM BEQ 160334<br />
READ 160334 013700 ROM MOV @#170006, R0<br />
READ 160336 170006 ROM<br />
READ 170006 000000<br />
READ 160340 032700 ROM BIT #002000, R0<br />
READ 160342 002000 ROM<br />
READ 160344 001520 ROM BEQ 160606<br />
READ 160606 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160610 032737 ROM BIT #010000, @#170006<br />
READ 160612 010000 ROM<br />
READ 160614 170006 ROM<br />
READ 170006 000000<br />
READ 160616 001526 ROM BEQ 161074<br />
READ 160620 010446 ROM PUSH R4<br />
WRITE 177702 000142<br />
READ 160622 005737 ROM TST @#177760<br />
READ 160624 177760 ROM<br />
READ 177760 000001<br />
READ 160626 100050 ROM BPL 160750<br />
READ 160750 105337 ROM DECB @#177756<br />
READ 160752 177756 ROM<br />
READ 177756 177402<br />
WRITE 177756 177401<br />
READ 160754 100027 ROM BPL 161034<br />
READ 161034 012604 ROM POP R4<br />
READ 177702 000142<br />
READ 161036 105766 ROM TSTB 000002(SP)<br />
READ 161040 000002 ROM<br />
READ 177706 000344<br />
READ 161042 100414 ROM BMI 161074<br />
READ 161074 105037 ROM CLRB @#170006<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 162320<br />
READ 177706 000344<br />
<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
...<br />
</pre><br />
<br />
[[Категория:Немига]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_POWERON_trace&diff=3331Немига POWERON trace2023-03-12T14:10:09Z<p>Nzeemin: Новая страница: «Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06. Дамп…»</p>
<hr />
<div>Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.<br />
<br />
Дамп снимался на машине сразу после включения питания.<br />
<br />
<pre><br />
01180209 RESET<br />
01180233 READ 000024 000000 ; Чтение вектора прерывания "нарушение питания"<br />
01180263 READ 000026 000000<br />
<br />
01180302 READ 000000 000000 ; HALT<br />
<br />
01180375 WRITE 150250 000000 ; Запись PSW и PC в стек<br />
01180396 WRITE 150246 000000<br />
01180419 READ 160002 160210 ROM ; Чтение вектора прерывания HALT<br />
01180438 READ 160004 000341 ROM <br />
<br />
01180473 READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
01180493 READ 160212 056364 ROM<br />
01180513 READ 160214 177776 ROM<br />
01180525 READ 177776 177777<br />
01180551 READ 160216 001402 ROM BEQ 160224<br />
01180576 READ 160220 000137 ROM <br />
...<br />
</pre><br />
<br />
[[Категория:Немига]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3330Союз-Неон ПК-11/162023-03-10T09:51:21Z<p>Nzeemin: /* Ссылки */</p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД и КНЖМД (MFM)<br />
** Последовательный порт<br />
** Мышь стандарта MSX<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Шильдики ==<br />
* ??.??г 00122 — был показан на Демодуляции<br />
* 06.92г 00196 — у nzeemin, получен от М.Гусева<br />
* 06.92г 00197 — был распаян для создания реплики<br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = http://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
* [https://archive.pdp-11.org.ru/vid/PK11_NEON/ Сборник софта в хламнике Хобота]<br />
* [http://mirrors.pdp-11.ru/_pk11-16/ Сборник софта на pdp-11.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BC%D0%BF%D0%BB%D0%B5%D0%BA%D1%82_588&diff=3329Микропроцессорный комплект 5882023-03-09T15:59:51Z<p>Nzeemin: /* Литература и статьи */</p>
<hr />
<div>{{Emuverse}}<br />
<br />
'''Микропроцессорный комплект серии К588 (КР588)'''<br />
<br />
== Микросхемы комплекта ==<br />
* [[588ВА1]] — магистральный приёмо-передатчик, 8-разрядный, со схемой контроля четности<br />
* [[588ВА2]] — приемо-передатчик для сопряжения с трансформаторной магистралью, двухканальный<br />
* [[588ВА3]] — усилитель-ограничитель<br />
* [[588ВА4]] — асинхронный адаптер дистанционной связи<br />
* [[588ВА5]] — схема адресного приемопередатчика<br />
* [[588ВГ1]] — системный контроллер<br />
* [[588ВГ2]] — контроллер запоминающего устройства<br />
* [[588ВГ3]] — кодек контроллера последовательного интерфейса<br />
* [[588ВГ4]] — аналого-цифровой преобразователь<br />
* [[588ВГ5]] — контроллер ЦАП<br />
* [[588ВГ6]] — контроллер ЗУ оконечного устройства<br />
* [[588ВГ7]] — контроллер ЗУ оконечного устройства<br />
* [[588ВЖ1]] — БИС цифровой фильтрации для модуля речевого вывода<br />
* [[588ВИ1]] — двухканальный таймер<br />
* [[588ВН1]] — контроллер прерываний<br />
* [[588ВР1]] — арифметический расширитель с фиксированной точкой<br />
* [[588ВР2]] — арифметический умножитель 16 × 16<br />
* [[588ВС1]] — арифметическо-логическое устройство (АЛУ)<br />
* [[588ВС2]] — 16-разрядное АЛУ<br />
* [[588ВТ1]] — селектор адреса Q-шины, для 8 регистров внешних устройств<br />
* [[588ВТ2]] — контроллер ПДП<br />
* [[588ВУ1]] — управляющая память (микрокод)<br />
* [[588ВУ2]] — управляющая память (микрокод)<br />
* [[588ИК1]] — устройство микропрограммного управления<br />
* [[588ИК2]] — арифметическое утройство<br />
* [[588ИК3]] — арифметический расширитель с плавающей запятой<br />
* [[588ИР1]] — многофункциональный буферный регистр<br />
* [[588ИР2]] — адресный регистр, 12 рязрядов<br />
* [[588КП1]] — схема контроля двигателя<br />
* [[588ЛД1]] — кодек контроллера последовательного интерфейса<br />
* [[588РЕ1]] — ПЗУ 4096 × 16 бит<br />
* [[588РР4]] — ОЗУ 64К<br />
<br />
== Применение ==<br />
* [[Электроника МК 90]]<br />
* [[Немига]]<br />
<br />
== Литература и статьи ==<br />
* Бобков В. А. и др. Микромощные микропроцессорные БИС серии К588 на дополняющих МДП-транзисторах // Электронная промышленность, 1979, вып. 10. С. 36—38.<br />
* Микропроцессорные комплекты интегральных схем: состав и структура: Справочник / Борисов В. С., Васенков, А. А., Малашевич Б. М. идр. Под ред, A. А. Васенкова, В. А. Шахнова. М.: Радио и связь, 1982. 192 с.<br />
* Г. Г. Гришин, А. А. Мошков, О. В. Ольшанский, Ю. А. Овечкин. Микропроцессоры: Справочное пособие для разработчиков судовой РЭА. Л.: Судостроение, 1987. [[К588/Гришин|Глава 6. МИКРОПРОЦЕССОРНЫЙ КОМПЛЕКТ СЕРИИ К588 (КР588)]]<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. П. Ключников, В. А. Бобков, В. В. Становский. КОНТРОЛЛЕР АНАЛОГО-ЦИФРОВОГО ПРЕОБРАЗОВАТЕЛЯ К588ВГ4 // Микропроцессорные средства и системы. 1987, № 1<br />
* В. Н. Кушарев, В. С. Свиридович, Б. Н. Чернуха, В. А. Бобков, В. П. Ключников, Н. В. Нижникова. [[К588ВИ1/МПСиС-1987-01|ТАЙМЕР К588ВИ1]] // Микропроцессорные средства и системы. 1987, № 1<br />
* Е. В. Коннов, Г. К. Лукошко, С. Н. Тихомиров. Многофункциональный буферный регистр К588ИР1. Электронная промышленность. 1985, № 7<br />
<br />
== Ссылки ==<br />
* [https://integral.by/ru/products/serii-kr588-ka588-k588 Интеграл — Серии КР588, КА588, K588]<br />
<br />
[[Категория:Микропроцессорные комплекты]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A_90&diff=3328Электроника МК 902023-03-06T12:55:45Z<p>Nzeemin: </p>
<hr />
<div>{{emuverse}}<br />
'''Электроника МК 90''' — советский микрокалькулятор (портативная электронно-вычислительная машина) с 16-разрядным процессором на микросхемах серии 588.<br />
<br />
Производился в Минске на заводе «Электрон».<br />
<br />
== Технические характеристики ==<br />
* Процессор: на [[Микропроцессорный комплект 588|микросхемах серии 588]], по системе команд совместим с [[PDP-11]], [[Электроника-60]], [[Диалоговый вычислительный комплекс|ДВК]]<br />
* Оперативная память: 16 КБ<br />
* ПЗУ: 16 КБ либо 32 КБ (с интерпретатором Бейсика)<br />
* Дисплей: жидкокристаллический, 120 × 64 пикселей, обычно это 8 строк по 20 символов<br />
* Клавиатура: 63 клавиши<br />
* Устройства хранения данных — сменные модули памяти (СМП), объёмом 10 КБ<br />
<br />
== Процессор и чипсет ==<br />
* [[588ВС2|КА588ВС2]] (D1) — арифметико-логическое устройство (АЛУ), управляется 12-разрядными микрокомандами из КА588ВУ2 −0001, −0002, −0004<br />
* [[588ВУ2|КА588ВУ2]] −0001, −0002, −0003, −0004, −0005 — управляющая память (УП)<br />
* [[588ВГ1|КА588ВГ1]] — системный контроллер (СК), управляется 5-разрядными микрокомандами из КА588ВУ2−0005<br />
* [[1835РЕ1|КА1835РЕ1]] — ПЗУ<br />
* [[КА1034НР3]] —<br />
* [[КА1835ВГ5]] — системный контроллер-диспетчер<br />
* [[КА512ВИ1]] —<br />
* [[КА1835ВГ4]] — контроллер внешних устройств<br />
* [[КА1835ВГ3]] — контроллер запоминающего устройства<br />
* [[КА1835ВГ1]] —<br />
<br />
Ветора прерываний:<br />
* 000004 — нечётный адрес при обращении по слову; ошибка обращения к каналу; HALT в режиме USER; неверная адресация JMP/JSR<br />
* 000010 — резерный код команды<br />
* 000014 — прерывание по T-разряду или команда BPT<br />
* 000020 — команда IOT<br />
* 000030 — команда EMT<br />
* 000034 — команда TRAP<br />
* 000100 — прерывание EVNT<br />
* 000310 — прерывание от клавиатуры<br />
* 160002 — сигнал/команда HALT в режиме HALT<br />
* 160006 — двойное зависание<br />
* 160012 — ошибка при приёме вектора прерывания<br />
<br />
== Регистры (порты) ==<br />
{| class=standard<br />
! Регистр !! Назначение !! Примечание<br />
|-<br />
| 164000, 164004 || Регистр начального адреса (мл., ст. байт) ||rowspan=2| Контроллер запоминающего устройства<br />КА1835ВГ3<br />
|-<br />
| 164002, 164006 || Регистр режима (мл., ст. байт)<br />
|-<br />
| 164020 || Регистр данных, байтовый ||rowspan=4| Контроллер внешних устройств<br />КА1835ВГ4<br />
|-<br />
| 164022 || Регистр коэффициэнта деления для частоты сигнала CLK<br />
|-<br />
| 164024 || Регистр контроля (W), регистр состояния (R)<br />
|-<br />
| 164026 || Регистр команд<br />
|-<br />
| 164032 || Регистр конфигурации RG1 (слово) ||rowspan=2| Системный контроллер<br />КА1835ВГ5<br />
|-<br />
| 164034 || Регистр конфигурации RG2 (слово)<br />
|-<br />
| 165000-165177 || || Часы реального времени (RTC)<br />
|-<br />
|}<br />
<br />
<pre><br />
164024 (R) Регистр состояния контроллера внешних устройств КА1835ВГ4<br />
┌──┬──┬──┬──┬──┬──┬──┬──┐<br />
│ 7 6│ 5 4 3│ 2 1 0│<br />
└─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┴─┬┘<br />
│ INT mask │ RA 0 0 <br />
Data ─┘ │ │ │ SELECT<br />
ready │ │ └─ 4: от внешних устройств<br />
│ └──── 5: от регистра данных<br />
└─────── 6: от таймера<br />
</pre><br />
<br />
TODO<br />
<br />
== Память ==<br />
* Адреса 000000-037777 — ОЗУ 16 КБ<br />
* Адреса 040000-077777 — дополнительное ПЗУ 16 КБ<br />
* Адреса 100000-177777 — основное ПЗУ 32 КБ<br />
<br />
== Клавиатура ==<br />
Контроллер клавиатуры построен на микросхеме КА1835ВГ1.<br />
<br />
Скан-код нажатой клавиши передаётся через канал 2 контроллера КА1835ВГ4. Нажатие клавиши также приводит к прерыванию по вектору 000310.<br />
<br />
== Эмуляция ==<br />
* Эмулятор от Piotr Piatek с исходниками на Delphi [http://www.pisi.com.pl/piotr433/mk90emue.htm]<br />
* Драйвер <code>mk90</code> в составе MAME [https://github.com/mamedev/mame/blob/30371b5717b3aa88da7f3d19235821f7eca0d429/src/mame/drivers/mk90.cpp], нерабочий<br />
<br />
== Ссылки ==<br />
* [https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-90 Электроника МК 90 в Википедии]<br />
* [http://www.pisi.com.pl/piotr433/mk90hwe.htm Elektronika MK-90 — hardware] от Piotr Piatek (материалы по советским устройствам удалены автором в 2022 году)<br />
* [https://github.com/Yprits/MK90 Yprits/MK90] — бэкап информации с сайта Piotr Piatek<br />
<br />
[[Категория:Электроника МК 90]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_RESET_trace&diff=3327Немига RESET trace2023-03-03T21:47:25Z<p>Nzeemin: </p>
<hr />
<div>Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.<br />
<br />
Дамп снимался на работающей машине, триггером было появление сигнала СБРОС, выполнялось нажатием кнопки СБРОС на корпусе.<br />
<br />
<pre><br />
RESET<br />
READ 000024 000000 ; Чтение вектора прерывания "нарушение питания"<br />
READ 000026 000000<br />
<br />
READ 000000 000000 HALT<br />
<br />
WRITE 177706 000000 ; Запись PSW и PC в стек<br />
WRITE 177704 000002<br />
READ 160002 160210 ; Чтение вектора прерывания HALT<br />
READ 160004 000341 <br />
READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224 ; память инициализирована, потому что сброс сделан на работающей машине<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564 ; Уст. состояние терминала - не готов<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142 ; Канальный сигнал СБРОС? да, переходим на обработку канального сигнала СБРОС<br />
READ 160142 012737 ROM MOV #000357, @#000206 ; 239. -> VFORM<br />
READ 160144 000357 ROM<br />
READ 160146 000206 ROM<br />
WRITE 000206 000357<br />
READ 160150 005037 ROM CLR @#177560 ; Сброс состояния клавиатуры<br />
READ 160152 177560 ROM<br />
READ 177560 000000<br />
WRITE 177560 000000<br />
READ 160154 012737 ROM MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания<br />
READ 160156 000200 ROM<br />
READ 160160 177564 ROM<br />
WRITE 177564 000200<br />
READ 160162 005037 ROM CLR @#177770<br />
READ 160164 177770 ROM<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 160166 042737 ROM BIC #177541, @#177766 ; Оставляем только флаги #136<br />
READ 160170 177541 ROM<br />
READ 160172 177766 ROM<br />
READ 177766 000000<br />
WRITE 177766 000000<br />
READ 160174 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160176 000137 ROM JMP @#161074 ; Завершаем обработку прерывания HALT<br />
READ 160200 161074 ROM<br />
READ 161074 105037 ROM CLRB @#170006 ; Разрешаем системные прерывания<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 000002 ; Восстанавливаем PC<br />
READ 177706 000000 ; Восстанавливаем PSW<br />
<br />
READ 000002 000000 HALT<br />
<br />
WRITE 177706 000000<br />
WRITE 177704 000004<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160202 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160204 000137 ROM JMP @#161142 ; Переходим к сохранению регистров и пульту<br />
READ 160206 161142 ROM<br />
READ 161142 012637 ROM MOV (SP)+, @#177736 ; Сохраняем PC<br />
READ 161142 012637 ROM<br />
READ 177704 000004<br />
READ 161144 177736 ROM<br />
WRITE 177736 000004<br />
READ 161146 012637 MOV (SP)+, @#177740 ; Сохраняем PSW<br />
READ 177706 000000<br />
READ 161150 177740 ROM<br />
WRITE 177740 000000<br />
READ 161152 010637 ROM MOV SP, @#177734<br />
READ 161154 177734 ROM<br />
WRITE 177734 177710<br />
READ 161156 012706 ROM MOV #177734, SP ; Сохраняем остальные регистры<br />
READ 161160 177734 ROM<br />
READ 161162 010546 ROM PUSH R5 ; -> 177732<br />
WRITE 177732 000000<br />
READ 161164 010446 ROM PUSH R4 ; -> 177730<br />
WRITE 177730 000142<br />
READ 161166 010346 ROM PUSH R3 ; -> 177726<br />
WRITE 177726 040042<br />
READ 161170 010246 ROM PUSH R2 ; -> 177724<br />
WRITE 177724 177770<br />
READ 161172 010146 ROM PUSH R1 ; -> 177722<br />
WRITE 177722 000000<br />
READ 161174 010046 ROM PUSH R0 ; -> 177720 - начало блока регистров<br />
WRITE 177720 000000<br />
READ 161176 013746 ROM MOV @#000004, -(SP) ; Адрес прерывания<br />
READ 161200 000004 ROM<br />
READ 000004 161546<br />
WRITE 177716 161546<br />
READ 161202 013746 ROM MOV @#000006, -(SP) ; PSW прерывания<br />
READ 161204 000006 ROM<br />
READ 000006 000340<br />
WRITE 177714 000340<br />
READ 161206 013746 MOV @#177766, -(SP)<br />
READ 161210 177766 ROM<br />
READ 177766 000000<br />
WRITE 177712 000000<br />
READ 161212 005037 ROM CLR @#177766<br />
READ 161214 177766 ROM<br />
READ 177766 000000<br />
WRITE 000000 000000<br />
READ 161216 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161220 000340 ROM<br />
READ 161222 000006 ROM<br />
WRITE 000006 000340<br />
READ 161224 012737 ROM MOV #161444, @#000004 ; Адрес прерывания??<br />
READ 161226 161444 ROM<br />
READ 161230 000004 ROM<br />
WRITE 000004 161444<br />
READ 161232 012737 ROM MOV #000060, @#170010 ; Регистр состояния адаптера локальной сети<br />
READ 161234 000060 ROM<br />
READ 161236 170010 ROM<br />
WRITE 170010 000060<br />
READ 161240 000501 ROM BR 161444 ; Переход к пультовому терминалу<br />
; Вывод приглашения пульта и ожидание команды<br />
READ 161444 012705 ROM MOV #162704, R5 ; Строка "Пульт>"<br />
READ 161446 162704 ROM<br />
READ 161450 012706 ROM MOV #177712, SP<br />
READ 161452 177712 ROM<br />
READ 161454 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161456 000340 ROM<br />
READ 161460 000006 ROM<br />
WRITE 000006 000340<br />
READ 161462 012737 ROM MOV #161546, @#000004 ; Адрес прерывания по вектору 4<br />
READ 161464 161546 ROM<br />
READ 161466 000004 ROM<br />
WRITE 000004 161546<br />
READ 161470 004737 ROM CALL @#162274 ; PRINT Вывод строки, адрес в R5<br />
READ 161472 162274 ROM<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
WRITE 177710 161474<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162704 006406 ROM<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163474 004736 ROM CALL @(SP)+<br />
READ 177704 163726<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
WRITE 177704 163476<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
READ 163730 177642 ROM<br />
WRITE 177642 177704<br />
READ 163732 012706 ROM MOV #177642, SP<br />
READ 163734 177642 ROM<br />
READ 163736 052737 ROM BIS #000001, @#177574<br />
READ 163740 000001 ROM<br />
READ 163742 177574 ROM<br />
READ 177574 000000<br />
WRITE 177574 000001<br />
READ 163744 004777 ROM CALL @177774<br />
READ 163746 014024 ROM<br />
READ 177774 164042<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177640 163750<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177636 000006<br />
READ 164044 010146 ROM PUSH R1<br />
WRITE 177634 000000<br />
READ 164046 010246 ROM PUSH R2<br />
WRITE 177632 177770<br />
READ 164050 010346 ROM PUSH R3<br />
WRITE 177630 040042<br />
READ 164052 010446 ROM PUSH R4<br />
WRITE 177626 000142<br />
READ 164054 010546 ROM PUSH R5<br />
WRITE 177624 162705<br />
READ 164056 004737 ROM CALL @#165206<br />
READ 164060 165206 ROM<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
WRITE 177622 164062<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
READ 165210 177772 ROM<br />
READ 177772 034606<br />
READ 165212 100415 ROM BMI 165246<br />
READ 165214 105737 ROM TSTB @#177771<br />
READ 165216 177771 ROM<br />
READ 177771 000000<br />
READ 165220 100412 ROM BMI 165246<br />
READ 165222 005737 ROM TST @#177756<br />
READ 165224 177756 ROM<br />
READ 177756 000003<br />
READ 165226 100007 ROM BPL 165246<br />
READ 165246 000207 ROM RETURN <br />
READ 177622 164062<br />
READ 164062 016605 ROM MOV 000012(SP), R5<br />
READ 164064 000012 ROM<br />
READ 177636 000006<br />
READ 164066 042705 ROM BIC #177400, R5<br />
READ 164070 177400 ROM<br />
READ 164072 012701 ROM MOV #000100, R1<br />
READ 164074 000100 ROM<br />
READ 164076 012702 ROM MOV #177770, R2<br />
READ 164100 177770 ROM<br />
READ 164102 105712 ROM TSTB (R2)<br />
READ 177770 000000<br />
READ 164104 100014 ROM BPL 164136<br />
READ 164136 001311 ROM BNE 164762<br />
READ 164140 113704 ROM MOVB @#177766, R4<br />
READ 164142 177766 ROM<br />
READ 177766 000000<br />
READ 164144 100014 ROM BPL 164176<br />
READ 164176 020527 ROM CMP R5, #000040<br />
READ 164200 000040 ROM<br />
READ 164202 103437 ROM BLO 164302<br />
; Обработка символов с кодом меньше #040<br />
READ 164302 012702 ROM MOV #165324, R2<br />
READ 164304 165324 ROM<br />
READ 164306 132704 ROM BITB #000010, R4<br />
READ 164310 000010 ROM<br />
READ 164312 001004 ROM BNE 164324<br />
READ 164314 022222 ROM CMP (R2)+, (R2)+<br />
READ 165324 037303 ROM BIT @000002(R3), R3<br />
READ 165326 000002 ROM<br />
READ 164316 105704 ROM TSTB R4<br />
READ 164320 100401 ROM BMI 164324<br />
READ 164322 022222 ROM CMP (R2)+, (R2)+<br />
READ 165330 001757 ROM<br />
READ 165332 000222 ROM unknown <br />
READ 164324 012200 ROM MOV (R2)+, R0<br />
READ 165334 177774 ROM unknown <br />
READ 164326 011201 ROM<br />
READ 165336 177777 ROM<br />
READ 164330 073005 ROM ASHC R5, R0<br />
READ 164332 100122 ROM BPL 164600<br />
READ 164334 116504 ROM MOVB 165250(R5), R4<br />
READ 164336 165250 ROM<br />
READ 165256 110431 ROM MOVB R4, @(R1)+<br />
READ 164340 042704 ROM BIC #177400, R4<br />
READ 164342 177400 ROM<br />
READ 164344 006304 ROM ASL R4<br />
READ 164346 012702 ROM MOV #177770, R2<br />
READ 164350 177770 ROM<br />
READ 164352 060407 ROM ADD R4, PC<br />
READ 164436 005012 ROM CLR (R2)<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 164440 005742 ROM TST -(R2)<br />
READ 177766 000000<br />
READ 164442 005042 ROM CLR -(R2)<br />
READ 177764 000000<br />
WRITE 177764 000000<br />
READ 164444 005042 ROM CLR -(R2)<br />
READ 177762 000000<br />
WRITE 177762 000000<br />
READ 164446 000454 ROM BR 164600<br />
READ 164600 000546 ROM BR 165116<br />
READ 165116 004737 ROM CALL @#165206<br />
READ 165120 165206 ROM<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
WRITE 177622 165122<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
READ 165210 177772 ROM<br />
READ 177772 034606<br />
READ 165212 100415 ROM BMI 165246<br />
READ 165214 105737 ROM TSTB @#177771<br />
READ 165216 177771 ROM<br />
READ 177771 000000<br />
READ 165220 100412 ROM BMI 165246<br />
READ 165222 005737 ROM TST @#177756<br />
READ 165224 177756 ROM<br />
READ 177756 000003<br />
READ 165226 100007 ROM BPL 165246<br />
READ 165246 000207 ROM RETURN <br />
READ 177622 165122<br />
READ 165122 012605 ROM POP R5<br />
READ 177624 162705<br />
READ 165124 012604 ROM POP R4<br />
READ 177626 000142<br />
READ 165126 012603 ROM POP R3<br />
READ 177630 040042<br />
READ 165130 012602 ROM POP R2<br />
READ 177632 177770<br />
READ 165132 012601 ROM POP R1<br />
READ 177634 000000<br />
READ 165134 012600 ROM POP R0<br />
READ 177636 000006<br />
READ 165136 000207 ROM RETURN <br />
READ 177640 163750<br />
READ 163750 042737 ROM BIC #000001, @#177574<br />
READ 163752 000001 ROM<br />
READ 163754 177574 ROM<br />
READ 177574 000001<br />
WRITE 177574 000000<br />
READ 163756 011606 ROM MOV (SP), SP<br />
READ 177642 177704<br />
READ 163760 000207 ROM RETURN <br />
READ 177704 163476<br />
READ 163476 105037 ROM CLRB @#170006<br />
READ 163500 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163502 000207 ROM RETURN <br />
READ 177706 162306<br />
READ 162306 000772 ROM BR 163274<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162705 005015 ROM CLR (R5)<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
WRITE 177706 162306<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
WRITE 177704 163726<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163474 004736 ROM CALL @(SP)+<br />
READ 177704 163726<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
WRITE 177704 163476<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
READ 163730 177642 ROM<br />
WRITE 177642 177704<br />
READ 163732 012706 ROM MOV #177642, SP<br />
READ 163734 177642 ROM<br />
READ 163736 052737 ROM BIS #000001, @#177574<br />
READ 163740 000001 ROM<br />
READ 163742 177574 ROM<br />
READ 177574 000000<br />
WRITE 177574 000001<br />
READ 163744 004777 ROM CALL @177774<br />
READ 163746 014024 ROM<br />
READ 177774 164042<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177640 163750<br />
...<br />
</pre><br />
<br />
В самом конце трассы - ожидание ввода с терминала и прерывание:<br />
<pre><br />
...<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
<br />
WRITE 177706 000344 ; Запись PSW и PC в стек<br />
WRITE 177704 162320<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160246 032737 ROM BIT #004000, @#170006<br />
READ 160250 004000 ROM<br />
READ 160252 170006 ROM<br />
READ 170006 000000<br />
READ 160254 001402 ROM BEQ 160262<br />
READ 160262 032737 ROM BIT #040000, @#170006<br />
READ 160264 040000 ROM<br />
READ 160266 170006 ROM<br />
READ 170006 000000<br />
READ 160270 001404 ROM BEQ 160302<br />
READ 160302 032737 ROM BIT #020000, @#170006<br />
READ 160304 020000 ROM<br />
READ 160306 170006 ROM<br />
READ 170006 000000<br />
READ 160310 001411 ROM BEQ 160334<br />
READ 160334 013700 ROM MOV @#170006, R0<br />
READ 160336 170006 ROM<br />
READ 170006 000000<br />
READ 160340 032700 ROM BIT #002000, R0<br />
READ 160342 002000 ROM<br />
READ 160344 001520 ROM BEQ 160606<br />
READ 160606 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160610 032737 ROM BIT #010000, @#170006<br />
READ 160612 010000 ROM<br />
READ 160614 170006 ROM<br />
READ 170006 000000<br />
READ 160616 001526 ROM BEQ 161074<br />
READ 160620 010446 ROM PUSH R4<br />
WRITE 177702 000142<br />
READ 160622 005737 ROM TST @#177760<br />
READ 160624 177760 ROM<br />
READ 177760 000001<br />
READ 160626 100050 ROM BPL 160750<br />
READ 160750 105337 ROM DECB @#177756<br />
READ 160752 177756 ROM<br />
READ 177756 177402<br />
WRITE 177756 177401<br />
READ 160754 100027 ROM BPL 161034<br />
READ 161034 012604 ROM POP R4<br />
READ 177702 000142<br />
READ 161036 105766 ROM TSTB 000002(SP)<br />
READ 161040 000002 ROM<br />
READ 177706 000344<br />
READ 161042 100414 ROM BMI 161074<br />
READ 161074 105037 ROM CLRB @#170006<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 162320<br />
READ 177706 000344<br />
<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
READ 162320 100375 ROM BPL 163314<br />
READ 162314 105737 ROM TSTB @#177560<br />
READ 162316 177560 ROM<br />
READ 177560 000000<br />
...<br />
</pre></div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_RESET_trace&diff=3326Немига RESET trace2023-03-03T21:35:00Z<p>Nzeemin: </p>
<hr />
<div>Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.<br />
<br />
Дамп снимался на работающей машине, триггером было появление сигнала СБРОС, выполнялось нажатием кнопки СБРОС на корпусе.<br />
<br />
<pre><br />
RESET<br />
READ 000024 000000 ; Чтение вектора прерывания "нарушение питания"<br />
READ 000026 000000<br />
<br />
READ 000000 000000 HALT<br />
<br />
WRITE 177706 000000 ; Запись PSW и PC в стек<br />
WRITE 177704 000002<br />
READ 160002 160210 ; Чтение вектора прерывания HALT<br />
READ 160004 000341 <br />
READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224 ; память инициализирована, потому что сброс сделан на работающей машине<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564 ; Уст. состояние терминала - не готов<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142 ; Канальный сигнал СБРОС? да, переходим на обработку канального сигнала СБРОС<br />
READ 160142 012737 ROM MOV #000357, @#000206 ; 239. -> VFORM<br />
READ 160144 000357 ROM<br />
READ 160146 000206 ROM<br />
WRITE 000206 000357<br />
READ 160150 005037 ROM CLR @#177560 ; Сброс состояния клавиатуры<br />
READ 160152 177560 ROM<br />
READ 177560 000000<br />
WRITE 177560 000000<br />
READ 160154 012737 ROM MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания<br />
READ 160156 000200 ROM<br />
READ 160160 177564 ROM<br />
WRITE 177564 000200<br />
READ 160162 005037 ROM CLR @#177770<br />
READ 160164 177770 ROM<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 160166 042737 ROM BIC #177541, @#177766 ; Оставляем только флаги #136<br />
READ 160170 177541 ROM<br />
READ 160172 177766 ROM<br />
READ 177766 000000<br />
WRITE 177766 000000<br />
READ 160174 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160176 000137 ROM JMP @#161074 ; Завершаем обработку прерывания HALT<br />
READ 160200 161074 ROM<br />
READ 161074 105037 ROM CLRB @#170006 ; Разрешаем системные прерывания<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 000002 ; Восстанавливаем PC<br />
READ 177706 000000 ; Восстанавливаем PSW<br />
<br />
READ 000002 000000 HALT<br />
<br />
WRITE 177706 000000<br />
WRITE 177704 000004<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160202 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160204 000137 ROM JMP @#161142 ; Переходим к сохранению регистров и пульту<br />
READ 160206 161142 ROM<br />
READ 161142 012637 ROM MOV (SP)+, @#177736 ; Сохраняем PC<br />
READ 161142 012637 ROM<br />
READ 177704 000004<br />
READ 161144 177736 ROM<br />
WRITE 177736 000004<br />
READ 161146 012637 MOV (SP)+, @#177740 ; Сохраняем PSW<br />
READ 177706 000000<br />
READ 161150 177740 ROM<br />
WRITE 177740 000000<br />
READ 161152 010637 ROM MOV SP, @#177734<br />
READ 161154 177734 ROM<br />
WRITE 177734 177710<br />
READ 161156 012706 ROM MOV #177734, SP ; Сохраняем остальные регистры<br />
READ 161160 177734 ROM<br />
READ 161162 010546 ROM PUSH R5 ; -> 177732<br />
WRITE 177732 000000<br />
READ 161164 010446 ROM PUSH R4 ; -> 177730<br />
WRITE 177730 000142<br />
READ 161166 010346 ROM PUSH R3 ; -> 177726<br />
WRITE 177726 040042<br />
READ 161170 010246 ROM PUSH R2 ; -> 177724<br />
WRITE 177724 177770<br />
READ 161172 010146 ROM PUSH R1 ; -> 177722<br />
WRITE 177722 000000<br />
READ 161174 010046 ROM PUSH R0 ; -> 177720 - начало блока регистров<br />
WRITE 177720 000000<br />
READ 161176 013746 ROM MOV @#000004, -(SP) ; Адрес прерывания<br />
READ 161200 000004 ROM<br />
READ 000004 161546<br />
WRITE 177716 161546<br />
READ 161202 013746 ROM MOV @#000006, -(SP) ; PSW прерывания<br />
READ 161204 000006 ROM<br />
READ 000006 000340<br />
WRITE 177714 000340<br />
READ 161206 013746 MOV @#177766, -(SP)<br />
READ 161210 177766 ROM<br />
READ 177766 000000<br />
WRITE 177712 000000<br />
READ 161212 005037 ROM CLR @#177766<br />
READ 161214 177766 ROM<br />
READ 177766 000000<br />
WRITE 000000 000000<br />
READ 161216 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161220 000340 ROM<br />
READ 161222 000006 ROM<br />
WRITE 000006 000340<br />
READ 161224 012737 ROM MOV #161444, @#000004 ; Адрес прерывания??<br />
READ 161226 161444 ROM<br />
READ 161230 000004 ROM<br />
WRITE 000004 161444<br />
READ 161232 012737 ROM MOV #000060, @#170010 ; Регистр состояния адаптера локальной сети<br />
READ 161234 000060 ROM<br />
READ 161236 170010 ROM<br />
WRITE 170010 000060<br />
READ 161240 000501 ROM BR 161444 ; Переход к пультовому терминалу<br />
; Вывод приглашения пульта и ожидание команды<br />
READ 161444 012705 ROM MOV #162704, R5 ; Строка "Пульт>"<br />
READ 161446 162704 ROM<br />
READ 161450 012706 ROM MOV #177712, SP<br />
READ 161452 177712 ROM<br />
READ 161454 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161456 000340 ROM<br />
READ 161460 000006 ROM<br />
WRITE 000006 000340<br />
READ 161462 012737 ROM MOV #161546, @#000004 ; Адрес прерывания по вектору 4<br />
READ 161464 161546 ROM<br />
READ 161466 000004 ROM<br />
WRITE 000004 161546<br />
READ 161470 004737 ROM CALL @#162274 ; PRINT Вывод строки, адрес в R5<br />
READ 161472 162274 ROM<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
WRITE 177710 161474<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162704 006406 ROM<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163474 004736 ROM CALL @(SP)+<br />
READ 177704 163726<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
WRITE 177704 163476<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
READ 163730 177642 ROM<br />
WRITE 177642 177704<br />
READ 163732 012706 ROM MOV #177642, SP<br />
READ 163734 177642 ROM<br />
READ 163736 052737 ROM BIS #000001, @#177574<br />
READ 163740 000001 ROM<br />
READ 163742 177574 ROM<br />
READ 177574 000000<br />
WRITE 177574 000001<br />
READ 163744 004777 ROM CALL @177774<br />
READ 163746 014024 ROM<br />
READ 177774 164042<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177640 163750<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177636 000006<br />
READ 164044 010146 ROM PUSH R1<br />
WRITE 177634 000000<br />
READ 164046 010246 ROM PUSH R2<br />
WRITE 177632 177770<br />
READ 164050 010346 ROM PUSH R3<br />
WRITE 177630 040042<br />
READ 164052 010446 ROM PUSH R4<br />
WRITE 177626 000142<br />
READ 164054 010546 ROM PUSH R5<br />
WRITE 177624 162705<br />
READ 164056 004737 ROM CALL @#165206<br />
READ 164060 165206 ROM<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
WRITE 177622 164062<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
READ 165210 177772 ROM<br />
READ 177772 034606<br />
READ 165212 100415 ROM BMI 165246<br />
READ 165214 105737 ROM TSTB @#177771<br />
READ 165216 177771 ROM<br />
READ 177771 000000<br />
READ 165220 100412 ROM BMI 165246<br />
READ 165222 005737 ROM TST @#177756<br />
READ 165224 177756 ROM<br />
READ 177756 000003<br />
READ 165226 100007 ROM BPL 165246<br />
READ 165246 000207 ROM RETURN <br />
READ 177622 164062<br />
READ 164062 016605 ROM MOV 000012(SP), R5<br />
READ 164064 000012 ROM<br />
READ 177636 000006<br />
READ 164066 042705 ROM BIC #177400, R5<br />
READ 164070 177400 ROM<br />
READ 164072 012701 ROM MOV #000100, R1<br />
READ 164074 000100 ROM<br />
READ 164076 012702 ROM MOV #177770, R2<br />
READ 164100 177770 ROM<br />
READ 164102 105712 ROM TSTB (R2)<br />
READ 177770 000000<br />
READ 164104 100014 ROM BPL 164136<br />
READ 164136 001311 ROM BNE 164762<br />
READ 164140 113704 ROM MOVB @#177766, R4<br />
READ 164142 177766 ROM<br />
READ 177766 000000<br />
READ 164144 100014 ROM BPL 164176<br />
READ 164176 020527 ROM CMP R5, #000040<br />
READ 164200 000040 ROM<br />
READ 164202 103437 ROM BLO 164302<br />
; Обработка символов с кодом меньше #040<br />
READ 164302 012702 ROM MOV #165324, R2<br />
READ 164304 165324 ROM<br />
READ 164306 132704 ROM BITB #000010, R4<br />
READ 164310 000010 ROM<br />
READ 164312 001004 ROM BNE 164324<br />
READ 164314 022222 ROM CMP (R2)+, (R2)+<br />
READ 165324 037303 ROM BIT @000002(R3), R3<br />
READ 165326 000002 ROM<br />
READ 164316 105704 ROM TSTB R4<br />
READ 164320 100401 ROM BMI 164324<br />
READ 164322 022222 ROM CMP (R2)+, (R2)+<br />
READ 165330 001757 ROM<br />
READ 165332 000222 ROM unknown <br />
READ 164324 012200 ROM MOV (R2)+, R0<br />
READ 165334 177774 ROM unknown <br />
READ 164326 011201 ROM<br />
READ 165336 177777 ROM<br />
READ 164330 073005 ROM ASHC R5, R0<br />
READ 164332 100122 ROM BPL 164600<br />
READ 164334 116504 ROM MOVB 165250(R5), R4<br />
READ 164336 165250 ROM<br />
READ 165256 110431 ROM MOVB R4, @(R1)+<br />
READ 164340 042704 ROM BIC #177400, R4<br />
READ 164342 177400 ROM<br />
READ 164344 006304 ROM ASL R4<br />
READ 164346 012702 ROM MOV #177770, R2<br />
READ 164350 177770 ROM<br />
READ 164352 060407 ROM ADD R4, PC<br />
READ 164436 005012 ROM CLR (R2)<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 164440 005742 ROM TST -(R2)<br />
READ 177766 000000<br />
READ 164442 005042 ROM CLR -(R2)<br />
READ 177764 000000<br />
WRITE 177764 000000<br />
READ 164444 005042 ROM CLR -(R2)<br />
READ 177762 000000<br />
WRITE 177762 000000<br />
READ 164446 000454 ROM BR 164600<br />
READ 164600 000546 ROM BR 165116<br />
READ 165116 004737 ROM CALL @#165206<br />
READ 165120 165206 ROM<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
WRITE 177622 165122<br />
READ 165206 013703 ROM MOV @#177772, R3<br />
READ 165210 177772 ROM<br />
READ 177772 034606<br />
READ 165212 100415 ROM BMI 165246<br />
READ 165214 105737 ROM TSTB @#177771<br />
READ 165216 177771 ROM<br />
READ 177771 000000<br />
READ 165220 100412 ROM BMI 165246<br />
READ 165222 005737 ROM TST @#177756<br />
READ 165224 177756 ROM<br />
READ 177756 000003<br />
READ 165226 100007 ROM BPL 165246<br />
READ 165246 000207 ROM RETURN <br />
READ 177622 165122<br />
READ 165122 012605 ROM POP R5<br />
READ 177624 162705<br />
READ 165124 012604 ROM POP R4<br />
READ 177626 000142<br />
READ 165126 012603 ROM POP R3<br />
READ 177630 040042<br />
READ 165130 012602 ROM POP R2<br />
READ 177632 177770<br />
READ 165132 012601 ROM POP R1<br />
READ 177634 000000<br />
READ 165134 012600 ROM POP R0<br />
READ 177636 000006<br />
READ 165136 000207 ROM RETURN <br />
READ 177640 163750<br />
READ 163750 042737 ROM BIC #000001, @#177574<br />
READ 163752 000001 ROM<br />
READ 163754 177574 ROM<br />
READ 177574 000001<br />
WRITE 177574 000000<br />
READ 163756 011606 ROM MOV (SP), SP<br />
READ 177642 177704<br />
READ 163760 000207 ROM RETURN <br />
READ 177704 163476<br />
READ 163476 105037 ROM CLRB @#170006<br />
READ 163500 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163502 000207 ROM RETURN <br />
READ 177706 162306<br />
READ 162306 000772 ROM BR 163274<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162705 005015 ROM CLR (R5)<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
WRITE 177706 162306<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
WRITE 177704 163726<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 163474 004736 ROM CALL @(SP)+<br />
READ 177704 163726<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
WRITE 177704 163476<br />
READ 163726 010637 ROM MOV SP, @#177642<br />
READ 163730 177642 ROM<br />
WRITE 177642 177704<br />
READ 163732 012706 ROM MOV #177642, SP<br />
READ 163734 177642 ROM<br />
READ 163736 052737 ROM BIS #000001, @#177574<br />
READ 163740 000001 ROM<br />
READ 163742 177574 ROM<br />
READ 177574 000000<br />
WRITE 177574 000001<br />
READ 163744 004777 ROM CALL @177774<br />
READ 163746 014024 ROM<br />
READ 177774 164042<br />
READ 164042 010046 ROM PUSH R0<br />
WRITE 177640 163750<br />
<br />
<br />
</pre></div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_RESET_trace&diff=3325Немига RESET trace2023-03-03T21:24:50Z<p>Nzeemin: </p>
<hr />
<div>Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.<br />
<br />
Дамп снимался на работающей машине, триггером было появление сигнала СБРОС, выполнялось нажатием кнопки СБРОС на корпусе.<br />
<br />
<pre><br />
RESET<br />
READ 000024 000000 ; Чтение вектора прерывания "нарушение питания"<br />
READ 000026 000000<br />
<br />
READ 000000 000000 HALT<br />
<br />
WRITE 177706 000000 ; Запись PSW и PC в стек<br />
WRITE 177704 000002<br />
READ 160002 160210 ; Чтение вектора прерывания HALT<br />
READ 160004 000341 <br />
READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224 ; память инициализирована, потому что сброс сделан на работающей машине<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564 ; Уст. состояние терминала - не готов<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142 ; Канальный сигнал СБРОС? да, переходим на обработку канального сигнала СБРОС<br />
READ 160142 012737 ROM MOV #000357, @#000206 ; 239. -> VFORM<br />
READ 160144 000357 ROM<br />
READ 160146 000206 ROM<br />
WRITE 000206 000357<br />
READ 160150 005037 ROM CLR @#177560 ; Сброс состояния клавиатуры<br />
READ 160152 177560 ROM<br />
READ 177560 000000<br />
WRITE 177560 000000<br />
READ 160154 012737 ROM MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания<br />
READ 160156 000200 ROM<br />
READ 160160 177564 ROM<br />
WRITE 177564 000200<br />
READ 160162 005037 ROM CLR @#177770<br />
READ 160164 177770 ROM<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 160166 042737 ROM BIC #177541, @#177766 ; Оставляем только флаги #136<br />
READ 160170 177541 ROM<br />
READ 160172 177766 ROM<br />
READ 177766 000000<br />
WRITE 177766 000000<br />
READ 160174 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160176 000137 ROM JMP @#161074 ; Завершаем обработку прерывания HALT<br />
READ 160200 161074 ROM<br />
READ 161074 105037 ROM CLRB @#170006 ; Разрешаем системные прерывания<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 000002 ; Восстанавливаем PC<br />
READ 177706 000000 ; Восстанавливаем PSW<br />
<br />
READ 000002 000000 HALT<br />
<br />
WRITE 177706 000000<br />
WRITE 177704 000004<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160202 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160204 000137 ROM JMP @#161142 ; Переходим к сохранению регистров и пульту<br />
READ 160206 161142 ROM<br />
READ 161142 012637 ROM MOV (SP)+, @#177736 ; Сохраняем PC<br />
READ 161142 012637 ROM<br />
READ 177704 000004<br />
READ 161144 177736 ROM<br />
WRITE 177736 000004<br />
READ 161146 012637 MOV (SP)+, @#177740 ; Сохраняем PSW<br />
READ 177706 000000<br />
READ 161150 177740 ROM<br />
WRITE 177740 000000<br />
READ 161152 010637 ROM MOV SP, @#177734<br />
READ 161154 177734 ROM<br />
WRITE 177734 177710<br />
READ 161156 012706 ROM MOV #177734, SP ; Сохраняем остальные регистры<br />
READ 161160 177734 ROM<br />
READ 161162 010546 ROM PUSH R5 ; -> 177732<br />
WRITE 177732 000000<br />
READ 161164 010446 ROM PUSH R4 ; -> 177730<br />
WRITE 177730 000142<br />
READ 161166 010346 ROM PUSH R3 ; -> 177726<br />
WRITE 177726 040042<br />
READ 161170 010246 ROM PUSH R2 ; -> 177724<br />
WRITE 177724 177770<br />
READ 161172 010146 ROM PUSH R1 ; -> 177722<br />
WRITE 177722 000000<br />
READ 161174 010046 ROM PUSH R0 ; -> 177720 - начало блока регистров<br />
WRITE 177720 000000<br />
READ 161176 013746 ROM MOV @#000004, -(SP) ; Адрес прерывания<br />
READ 161200 000004 ROM<br />
READ 000004 161546<br />
WRITE 177716 161546<br />
READ 161202 013746 ROM MOV @#000006, -(SP) ; PSW прерывания<br />
READ 161204 000006 ROM<br />
READ 000006 000340<br />
WRITE 177714 000340<br />
READ 161206 013746 MOV @#177766, -(SP)<br />
READ 161210 177766 ROM<br />
READ 177766 000000<br />
WRITE 177712 000000<br />
READ 161212 005037 ROM CLR @#177766<br />
READ 161214 177766 ROM<br />
READ 177766 000000<br />
WRITE 000000 000000<br />
READ 161216 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161220 000340 ROM<br />
READ 161222 000006 ROM<br />
WRITE 000006 000340<br />
READ 161224 012737 ROM MOV #161444, @#000004 ; Адрес прерывания??<br />
READ 161226 161444 ROM<br />
READ 161230 000004 ROM<br />
WRITE 000004 161444<br />
READ 161232 012737 ROM MOV #000060, @#170010 ; Регистр состояния адаптера локальной сети<br />
READ 161234 000060 ROM<br />
READ 161236 170010 ROM<br />
WRITE 170010 000060<br />
READ 161240 000501 ROM BR 161444 ; Переход к пультовому терминалу<br />
; Вывод приглашения пульта и ожидание команды<br />
READ 161444 012705 ROM MOV #162704, R5 ; Строка "Пульт>"<br />
READ 161446 162704 ROM<br />
READ 161450 012706 ROM MOV #177712, SP<br />
READ 161452 177712 ROM<br />
READ 161454 012737 ROM MOV #000340, @#000006 ; PSW для прерывания<br />
READ 161456 000340 ROM<br />
READ 161460 000006 ROM<br />
WRITE 000006 000340<br />
READ 161462 012737 ROM MOV #161546, @#000004 ; Адрес прерывания по вектору 4<br />
READ 161464 161546 ROM<br />
READ 161466 000004 ROM<br />
WRITE 000004 161546<br />
READ 161470 004737 ROM CALL @#162274 ; PRINT Вывод строки, адрес в R5<br />
READ 161472 162274 ROM<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
WRITE 177710 161474<br />
READ 162274 112500 ROM MOVB (R5)+, R0<br />
READ 162704 006406 ROM<br />
READ 162276 001001 ROM BNE 162302<br />
READ 162302 004737 ROM CALL @#163722<br />
READ 162304 163722 ROM<br />
READ 163722 004737 ROM CALL @#163466<br />
READ 163724 163466 ROM<br />
READ 163466 112737 ROM MOVB #000003, @#170006<br />
READ 163470 000003 ROM<br />
READ 163472 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
<br />
</pre></div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%9D%D0%B5%D0%BC%D0%B8%D0%B3%D0%B0_RESET_trace&diff=3324Немига RESET trace2023-03-03T18:15:30Z<p>Nzeemin: Новая страница: «Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06. Дамп…»</p>
<hr />
<div>Трасса операций на шине МПИ, восстановленная по дампу сигналов. Снято на Немиге 4.06.<br />
<br />
Дамп снимался на работающей машине, триггером было появление сигнала СБРОС, выполнялось нажатием кнопки СБРОС на корпусе.<br />
<br />
<pre><br />
RESET<br />
READ 000024 000000 ; Чтение вектора прерывания "нарушение питания"<br />
READ 000026 000000<br />
<br />
READ 000000 000000 HALT<br />
<br />
WRITE 177706 000000 ; Запись PSW и PC в стек<br />
WRITE 177704 000002<br />
READ 160002 160210 ; Чтение вектора прерывания HALT<br />
READ 160004 000341 <br />
READ 160210 022737 ROM CMP #056364, @#177776 ; Проверка, настроена ли память режима HALT<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224 ; память инициализирована, потому что сброс сделан на работающей машине<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564 ; Уст. состояние терминала - не готов<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006 ; Проверка старших 6 бит регистра фиксации HALT<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142 ; Канальный сигнал СБРОС? да, переходим на обработку канального сигнала СБРОС<br />
READ 160142 012737 ROM MOV #000357, @#000206 ; 239. -> VFORM<br />
READ 160144 000357 ROM<br />
READ 160146 000206 ROM<br />
WRITE 000206 000357<br />
READ 160150 005037 ROM CLR @#177560 ; Сброс состояния клавиатуры<br />
READ 160152 177560 ROM<br />
READ 177560 000000<br />
WRITE 177560 000000<br />
READ 160154 012737 ROM MOV #000200, @#177564 ; Уст. состояние терминала - не готов, запрет прерывания<br />
READ 160156 000200 ROM<br />
READ 160160 177564 ROM<br />
WRITE 177564 000200<br />
READ 160162 005037 ROM CLR @#177770<br />
READ 160164 177770 ROM<br />
READ 177770 000000<br />
WRITE 177770 000000<br />
READ 160166 042737 ROM BIC #177541, @#177766 ; Оставляем только флаги #136<br />
READ 160170 177541 ROM<br />
READ 160172 177766 ROM<br />
READ 177766 000000<br />
WRITE 177766 000000<br />
READ 160174 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160176 000137 ROM JMP @#161074 ; Завершаем обработку прерывания HALT<br />
READ 160200 161074 ROM<br />
READ 161074 105037 ROM CLRB @#170006 ; Разрешаем системные прерывания<br />
READ 161076 170006 ROM<br />
READ 170006 000000<br />
WRITE 170006 000000<br />
READ 161100 000002 ROM RTI <br />
READ 177704 000002 ; Восстанавливаем PC<br />
READ 177706 000000 ; Восстанавливаем PSW<br />
<br />
READ 000002 000000 HALT<br />
<br />
WRITE 177706 000000<br />
WRITE 177704 000004<br />
READ 160002 160210 ROM<br />
READ 160004 000341 ROM<br />
READ 160210 022737 ROM CMP #056364, @#177776<br />
READ 160212 056364 ROM<br />
READ 160214 177776 ROM<br />
READ 177776 056364<br />
READ 160216 001402 ROM BEQ 160224<br />
READ 160224 010046 ROM PUSH R0<br />
WRITE 177702 000000<br />
READ 160226 052737 ROM BIS #000200, @#177564<br />
READ 160230 000200 ROM<br />
READ 160232 177564 ROM<br />
READ 177564 000200<br />
WRITE 177564 000200<br />
READ 160234 032737 ROM BIT #176000, @#170006<br />
READ 160236 176000 ROM<br />
READ 160240 170006 ROM<br />
READ 170006 000000<br />
READ 160242 100737 ROM BMI 161142<br />
READ 160244 001756 ROM BEQ 161202<br />
READ 160202 012600 ROM POP R0<br />
READ 177702 000000<br />
READ 160204 000137 ROM JMP @#161142 ; Переходим к сохранению регистров и пульту<br />
READ 160206 161142 ROM<br />
READ 161142 012637 ROM MOV (SP)+, @#177736 ; Сохраняем PC<br />
READ 161142 012637 ROM<br />
READ 177704 000004<br />
READ 161144 177736 ROM<br />
WRITE 177736 000004<br />
READ 161146 012637 MOV (SP)+, @#177740 ; Сохраняем PSW<br />
READ 177706 000000<br />
READ 161150 177740 ROM<br />
WRITE 177740 000000<br />
READ 161152 010637 ROM MOV SP, @#177734<br />
READ 161154 177734 ROM<br />
WRITE 177734 177710<br />
READ 161156 012706 ROM MOV #177734, SP ; Сохраняем остальные регистры<br />
READ 161160 177734 ROM<br />
READ 161162 010546 ROM PUSH R5 ; -> 177732<br />
WRITE 177732 000000<br />
READ 161164 010446 ROM PUSH R4 ; -> 177730<br />
WRITE 177730 000142<br />
READ 161166 010346 ROM PUSH R3 ; -> 177726<br />
WRITE 177726 040042<br />
READ 161170 010246 ROM PUSH R2 ; -> 177724<br />
WRITE 177724 177770<br />
READ 161172 010146 ROM PUSH R1 ; -> 177722<br />
WRITE 177722 000000<br />
READ 161174 010046 ROM PUSH R0 ; -> 177720 - начало блока регистров<br />
WRITE 177720 000000<br />
<br />
</pre></div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3323Союз-Неон ПК-11/162023-02-17T15:54:31Z<p>Nzeemin: /* Шильдики */</p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД и КНЖМД (MFM)<br />
** Последовательный порт<br />
** Мышь стандарта MSX<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Шильдики ==<br />
* ??.??г 00122 — был показан на Демодуляции<br />
* 06.92г 00196 — у nzeemin, получен от М.Гусева<br />
* 06.92г 00197 — был распаян для создания реплики<br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = http://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3322Союз-Неон ПК-11/162023-02-17T14:39:31Z<p>Nzeemin: /* Документация */</p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД и КНЖМД (MFM)<br />
** Последовательный порт<br />
** Мышь стандарта MSX<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Шильдики ==<br />
* 06.92г 00196 — у nzeemin, получен от М.Гусева<br />
* 06.92г 00197 — был распаян для создания реплики<br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = http://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3321Союз-Неон ПК-11/162023-02-17T14:24:59Z<p>Nzeemin: </p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД и КНЖМД (MFM)<br />
** Последовательный порт<br />
** Мышь стандарта MSX<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = http://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeeminhttps://emuverse.ru/w/index.php?title=%D0%A1%D0%BE%D1%8E%D0%B7-%D0%9D%D0%B5%D0%BE%D0%BD_%D0%9F%D0%9A-11/16&diff=3320Союз-Неон ПК-11/162023-02-17T13:37:15Z<p>Nzeemin: /* Ссылки */</p>
<hr />
<div>{{Википедия}}<br />
[[Файл:Союз-Неон.jpg|thumb]]<br />
'''"Союз-Неон ПК-11/16''' — советский компьютер, является продолжением серии [[PDP-11]]-совместимых компьютеров ([[Электроника-60]], [[ДВК]], [[БК]], [[УКНЦ]] и др.) Выпущен малой серией, в разных источниках называются числа от 200 до 1000 штук.<br />
<br />
== Технические характеристики ==<br />
* Процессор: [[Н1806ВМ2]] на частоте 8 МГц<br />
* Память:<br />
** ПЗУ 16 КБ<br />
** Оперативная память: 512/1024/2048/4096 КБ<br />
* Видео: разрешение 832 × 300 пикселей; видеоконтроллер использует таблицу адресов строк, строки состоят из видеоотрезков<br />
** 16 видеорежимов, отличающихся цветностью (1/2/4/8 бит на точку) и масштабированием<br />
** палитры в 2/4/16/256 цветов из общей палитры в 65536 цветов<br />
** аппаратная поддержка окон<br />
* Клавиатура: «Электроника МС 7007», 88 клавиш<br />
* Звук: два программируемых таймера [[КР580ВИ53]], трёхканальный звук с регулировкой громкости<br />
* Внешние устройства:<br />
** Параллельный интерфейс<br />
** КНГМД и КНЖМД (MFM)<br />
** Последовательный порт<br />
** Мышь стандарта MSX<br />
<br />
== Особенности ==<br />
Карта памяти с точки зрения процессора:<br />
<pre><br />
режим HALT режим USER<br />
64K 64K<br />
╔══╗ ╔══╗<br />
HR7 ║ 7║│ страница в/в │║ 7║ UR7<br />
╠══╣ ╠══╣ 160000<br />
HR6 ║ 6║ ║ 6║ UR6<br />
╠══╣ ╠══╣ 140000<br />
HR5 ║ 5║ ║ 5║ UR5<br />
╠══╣ ╠══╣ 120000<br />
HR4 ║ 4║ ║ 4║ UR4<br />
╠══╣ ╠══╣ 100000<br />
HR3 ║ 3║ ║ 3║ UR3<br />
╠══╣ ╠══╣ 060000<br />
HR2 ║ 2║ ║ 2║ UR2<br />
╠══╣ ╠══╣ 040000<br />
HR1 ║ 1║│ ║ 1║ UR1<br />
╠══╣├ ПЗУ 16К ╠══╣ 020000<br />
HR0 ║ 0║│ ║ 0║ UR0<br />
╚══╝ ╚══╝ 000000<br />
</pre><br />
<br />
Видеорежимы, по битам в видеоуказателе:<br />
<pre><br />
9 8 7 6 <br />
┬───────┬───────┬<br />
│VD1 VD0│VN1 VN0│ инф. бит/ точек<br />
┴───┴───┴───┴───┴ плотность точку в строке<br />
0 0 0 0 52 б/сдв 1 416<br />
0 0 0 1 52 б/сдв 2 208<br />
0 0 1 0 52 б/сдв 4 104<br />
0 0 1 1 52 б/сдв 4 104<br />
0 1 0 0 52 байта 1 416<br />
0 1 0 1 52 байта 2 208<br />
0 1 1 0 52 байта 4 104<br />
0 1 1 1 52 байта 4 104<br />
1 0 0 0 104 байта 1 832<br />
1 0 0 1 104 байта 2 416<br />
1 0 1 0 104 байта 4 208<br />
1 0 1 1 104 байта 4 208<br />
1 1 0 0 208 байт 1 x (запрещенная комбинация)<br />
1 1 0 1 208 байт 2 832<br />
1 1 1 0 208 байт 4 416<br />
1 1 1 1 208 байт 4/8* 416 *зависит от бита PB<br />
</pre><br />
<br />
== Документация ==<br />
* {{статья <br />
|автор = Г.В. Вигдорчик, М. Я. Вохменцев, В. П. Климкович, П. П. Леонов, В. П. Семик. <br />
|заглавие = Персональная ЭВМ ПК-11 <br />
|издание = Микропроцессорные средства и системы <br />
|год = 1987 <br />
|номер = 1 <br />
|страницы = 16-18<br />
|ссылка = http://emuverse.ru/downloads/computers/souz-neon/docs/MPSS_souz-neon_1987_1.djvu<br />
}}<br />
** [[Союз-Неон_ПК-11/Статья МСиС 1987]] — описывает ранний вариант машины<br />
* [[Союз-Неон ПК-11/16 архитектура]] — описание раннего варианта машины<br />
<br />
* [[Союз-Неон ПК-11/16 ТО]] — Плата вычислителя. Техническое описание. 25 сентября 1990<br />
* [[Союз-Неон ПК-11/16 ВПО]]<br />
* [[Союз-Неон_ПК-11/16_АСПЕКТ_ТЗ]] — Техническое задание на разработку АСПЕКТ. 1991<br />
<br />
== Ссылки ==<br />
* [[w:Союз-Неон ПК-11/16|Статья в Википедии]]<br />
* [http://zx-pk.ru/threads/14857-dokumentatsiya-na-pk-11-16.html Обсуждение на zx-pk.ru]<br />
* Проект реплики: [https://zx-pk.ru/threads/29407-proekt-otkrytoj-repliki-soyuz-neon-pk-11-16.html zx-pk.ru] [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5617 forum.pk-fpga.ru]<br />
** Реплика контроллера IDE HDD: [https://forum.pk-fpga.ru/viewtopic.php?f=15&t=6079 forum.pk-fpga.ru]<br />
<br />
== Эмуляторы ==<br />
* [https://zx-pk.ru/threads/24587-emulyator-soyuz-neon-pk-11-16-emustudio.html EmuStudio от Titus] — только под Windows, не сохраняет изменения в образе диска<br />
* [https://github.com/nzeemin/neonbtl NeonBTL] — только Windows, в разработке<br />
* [https://github.com/nzeemin/neonbtl-qt NeonBTL Qt] — кросс-платформенный, в разработке<br />
<br />
== Файлы ==<br />
* {{rom|Образ |ПЗУ|computers/souz-neon/firmware/souz-neon_roms.zip}}<br />
<br />
[[Категория:Союз-Неон ПК-11/16]]</div>Nzeemin