Общие сведения Картотека Игротека Люди Форум
Библиотека Галерея Софт для PC Помощь сайту

      ПЭВМ Агат » Мастерская » Прошивки ПЗУ Агата

Розыск железа

Агат ↔ PC

Линк N 1

Линк N 2 (мост)

Дисковод

Подключение 840 кб/3.5''

Подключение 840 кб/5.25''

Эмулятор 140+840

Другие железки

Подключение PS/2 клавиатуры

Пульты и джои

Подключение принтеров

Оборудование НКЛ

Ремонт

Распиновка разъёмов/жгутов

Прошивки + ZGN

Диаграмма шины

Частоты

Отладочная прошивка и ремкомментарии

История одного ремонта

--

Слесарка и размеры

P-CAD (старое)

*CAD (новое)

Прошивки ПЗУ Агата

На этой странице представлены архивы с некоторыми прошивками ПЗУ Агата и периферии.

Слова из четырёхбитных микросхем сохранены в байтах, значащие только четыре младших разряда: D0 - пин 12, D1 - пин 11, D2 - пин 10, D3 - пин 9.

Некоторые образы кр556рт5 не полные: 256 байт вместо 512. Это означает, что вторая половина незапрограммирована и старшая адресная линия жестко подключена к шине питания.

Ни одного Агата во время получения этих прошивок не пострадало !

Важно: в разных источниках наименование выходных линий микросхемы кр556рт4 различается: мы при снятии использовали следующий порядок: пин 12 - Q0, пин 11 - Q1, пин 10 - Q2, пин 9 - Q3. Такой порядок встречается в некоторых справочниках. Однако в схемах Агата принят обратный порядок: пин 12 - Q4, пин 11 - Q3, пин 10 - Q2, пин 9 - Q1. Также в коллекциях агатовских дисков нам довелось находить образы ПЗУшек с таким порядоком. При прошивке проверяйте, какого порядка придерживается ваш программатор. С рт5 и другими рт таких нестыковок пока не встречалось.

* * *

Агат-7

Скачать комплект ПЗУ от генплаты и модуля процессора семёрки.

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

  • ПЗУ модуля процессора - официальная прошивка системного монитора.
  • Две версии ПЗУ классического знакогенератора. Различия между ними либо эстетические либо случайные. Но оба варианта встречались на нескольких машинах, так что отличия обусловлены не сбоями ПЗУ, а чем-то более глобальным. Визуально: цифра "6" не имеет одной точки в нижней линии, символ с кодом $00 ($80) - не пробел, но две горизонтальные черты. Здесь только 128 знаков.
  • ПЗУ расширенного знакогенератора (256 знаков) - официальная версия.

+ Бонус от DEKA :

  • ПЗУ модуля процессора - это системный монитор (но не оригинальный, а немного переделанный мной во времена активного использования Агата). В корректности не сомневаюсь.
  • Отладочное ПЗУ модуля процессора. Моё. И тут же FIL-файл с исходником. Его можно использовать для аппаратной диагностики системной платы семёрки в случае серьёзных отказов, например, повреждения микросхем или контроллера RAM. Особенности реализации модуля процессора семёрки позволяют исполнять код системного монитора даже в случае практически полного отказа системной платы. Достаточно, чтобы с неё шел тактовый сигнал и не были заблокированы линии IRQ и DMA. Содержимое этого образа устроено так, что его функционирование практически не зависит от работоспособности системной платы. Однако процессор будет генерировать сигналы обращения к магистрали, что позволяет анализировать состояние компонент осцилографом. Подробности тут.
  • ПЗУ знакогенератора, маленькие буквы. Отмечены литерой "m". Это - мои маленькие буквы для семёрки. Нестандартные. Но использовались несколько лет. В дальнейшем перекочевали в мой эмулятор (MS-DOS). Они добавляются к классическим 128 знакам.

* * *

Агат-9

Известно, что платы РВИЖ 467444.001 слегка отличаются компоновкой от ЯБ 3.089.026, у них также есть отличия в программной архитектуре, но не очень существенные. Однако содержимое ПЗУ у них одинаковое.

Скачать комплект ПЗУ от генплаты девятки.

D03  | КР556РТ11 | управление состоянием псевдо-ПЗУ        | BusCtrl   |
D06  | К573РФ2   | программа - монитор                     | SusMon9   |
D14  | КР556РТ18 | управляющие сигналы ОЗУ и др.устройств  | DevSel    | (синтез состояния системной шины)  
D61  | К573РФ2   | счетчик горизонтальной развертки        | H         |
D62  | К573РФ2   | счетчики вертикальной развертки         | V         |
D63  | К573РФ2   | счетчики вертикальной развертки         | VA        | 
D64  | К573РФ2   | алфавитно-цифровой знакогенератор       | ZGN       | 
D65  | К573РФ2   | графический генератор                   | GGN Apple | 
D72  | КР556РТ13 | ПЗУ цветовой окраски изображения        | Palette   |
D73  | КР556РТ11 | преобразователь кодов гориз. развертки  | AdrTransl | 
D84  | КР556РТ18 | управл. сигналы диспл. контроллера      | СУ1       | (в т.ч. выходными коммутаторами RGB)
D85  | КР556РТ18 | управл. сигналы диспл. контроллера      | СУ2       | 

Note1: D72 между платами отличается в одном бите. Пока неизвестно, случайность это или нет, подробности на форуме.

Note2: D65 по схеме, вторая половина пространства не используется. Но встречается версия USN (именно она в архиве) у которой туда добавлено что-то. Возможно это группа палитр или реализация дополнительных режимов Apple для какой-то модифицированной генплаты. Первая половина совпадает с оригиналом, что не мешает её использовать в стандартной плате.

Note3: D14, D84, D85 в разных схемах и реальных платах варьируются между рт7 и рт18. Эти микросхемы различаются типом выхода - открытый коллектор или тристабильный. Явных нагрузочных резисторов для ОК не наблюдается, места для них не предусмотрено. Почему ?

Интересно (проверено на платах ЯБ и РВИЖ): пзу системного монитора на системной плате агат-9 имеет два окна в адресном пространстве: f800..ffff - это окно соответствует документации и его адрес выбран не случайно: в регионе fffa..ffff располагаются вектора прерываний и сброса процессора. Второе окно: f000..f7ff - предположительно, появилось случайно и является результатом незавершенной (или, во всяком случае - неиспользованной) попытки разместить на плате полное ПЗУ объёмом 12 или 16 кб для размещения в нём Бейсика.
Следует учитывать следующее: системный монитор является "вещью в себе" - его мало кто использует кроме как для запуска системы. Обычно все загружаемые ОС имеют собственную копию (иногда заметно расширенную) системного монитора. Но всё же многие начальные загрузчики используют некоторые его процедуры. Более того, небольшое количество загрузчиков используют процедуры, обращаясь к ним именно по адресам второго окна (f000..f7ff).

* * *

Периферия

Скачать сборник ПЗУ от различной периферии.

  • Драйвера сетевых карт (НИИВК и НПО СВТ). Работоспособность модулей не проверялась.
  • Драйвер контроллера принтера. Работоспособность драйвера не проверялась. Но в остальном контроллер вполне исправен.
  • ПЗУшка "Ячейки 121" (знакогенератор).
  • ПЗУшка от Card93.
  • ПЗУшка программируемого знакогенератора. Вполне уверенно работала.
  • FDD140 (старый). Зато живой. Содержимое D1 вопросов не вызывает, проверялась многократно, что же касается D12: она была прочитана с исправного контроллера, но после возвращения микросхемы он не проверялся.
  • FDD140 (новый). Тоже живой. Отличия см. здесь.
  • FDD140 (Apple Disk ][). Вообще в упаковке был.
  • FDD840. Данные прочитаны из двух исправных контроллеров (волжского и загорского), после возвращения микросхем контроллеры неоднократно использовались, никаких проблем обнаружено не было. Отличия между контроллерами есть в коде загрузчика (D1), остальные прошивки идентичны.
  • Клавиатура мс7004а (основная программа ЦП).
  • Модем AM1200 (основная программа ЦП и какая-то табличка).
  • Модуль расширения ОЗУ девятки (две мелких таблички).
  • Модем-АОН-автоответчик "Спрайт".
  • Communication Extension for AGAT 7/9.
  • Плата управления цветовыми палитрами (Знакогенератор # 1).

* * *

Про знакогенераторы

Изначально Агат-7 был запланирован с знакогенератором в 256 знаков. Но микросхемы 556РТ7 были очень дефицитными, и их заменили на пару 556РТ5, установленными друг на друга.

Таким образом, получалось только 128 знаков. Как только РТ7/РТ18 стали более доступными, бутерброд был заменён.

96 процентов реального софта, если даже не поддерживали маленькие/большие буквы, всё равно старались выводить на экран с установленным старшим битом. "Агат-Автор" пытался использовать полный знакогенератор по честному. Причем он большие буквы выводил в инверсии, на случай, если з/г всё-таки 128.
Бейсики и сопутствующие им ДОСы семёрки довольно вольготно пользовались старшим битом в текстовых строках и текстовых файлах. Например, при выводе на экран стандартными средствами (через PRINT) у HELLO-60 D7 жестко ставится в 1.
Отладочный комплекс и редактор РАПИРы выводили маленькие буквы голубым, а большие - зелёным. Но почему-то в нём тоже жестко устанавливался старший бит. Если эту установку отключить (подправив код в памяти или на диске) - редактор совершенно корректно работал с полным набором 256 знаков.
2 процента реального софта выводили буквы в виде "тексТ". Т.е. последний знак большой, остальные - маленькие. Они не были рассчитаны на 256, а их авторы в коде использовали макрос DCI - он последнему знаку в строке выставлял D7=1 - это такой, чисто Агатовский, вариант ASCIZ. Ну и, возможно, были какие-то ещё 2 процента со своей придурью.

Вид знакогенераторов Агат-7 ранний, АГАТ-7 поздний, АГАТ-9:
    

Если программа при выводе текста использует только $A0-$FF, то на всех исполнениях агата все будет выглядеть одинаково, с поправкой на то, что внешний вид некоторых знаков немного отличался (например: размер квадратных скобкок, символ $DF у девятки короче на один левый писель, начертание символа $CD и т.д.). Кроме того, адреса строчных букв обоих алфавитов совпадают у расширенных знакогенераторов.

Интересный момент. Во всех семерочных знакогенераторах пиксели идут от младшего бита к старшему, и нулевой бит обозначает линию, а единичный -- фон. А в девяточном -- от старшего к младшему, нулевой бит значит фон, а единичный -- линию.

Вид знакогенераторов в режиме яч121 у Агат-7 и режиме Apple у Агат-9:
  

Знакогенератор для режимов эпл у девятки, берет тайлы из основного. Первые три фрагмента полностью дублируют $80-$BF, а последний -- $C0-$FF. Первые $00-$7F вообще не используются. Кроме того, нет инверсии для РУС букв.

Знакогенератор для режима яч121 у семерки расположен в микросхеме D35 на плате ячейки 121 и не зависит от основного.

Автор раздела: Garnizon

Зеркало сайта