PDP-11 , Электроника-60, СМ-1420 и им подобные
Главная | Каталог статей | Регистрация | Вход
Приветствую Вас Гость | RSS

Дорогие посетители.Убедительно просим Вас Загружать имеющуюся у Вас информацию (Файлы образов дисков, Исходники, Книги и т.д.) касающуюся ПЭВМ с архитектурой PDP-11.

Меню сайта
  • Создание сайтов в Усть-каменогорске
  • Люди на сайте
    Друзья Нравится
    Google
    Форма входа
    Категории раздела
    Contrib [88]
    Статьи, взятые из разных источников.
    My atticle [2]
    Статьи,написаные лично мною
    Forex [22]
    Всё о заработке на рынке FOREX
    Поиск
    Облако тэгов
    RT-11 LSI-11 PDP-11 Последняя версия RT-11 БК ДВК бк-0010 приставка Бортника сопроцессор Кроскомпилятор схема ANDOS БК-0011 КНГМД RADIX-50 Rtty БК0010 радиосвязь Сеть УКНЦ 11/70 11/83 11/93 RSX-11
    Прогноз Forex
    Котировки от Forex4You
    Открыть реальный счет
    Статистика
    Счетчик тИЦ, PR и обратных ссылок Resurs.kz: сайты Казахстана и раскрутка сайта
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Поиск
    Главная » Статьи » Contrib

    Контроллеры жестких и гибких дисков для БК

    Самыми "продвинутыми" контроллерами дисковода и/или винчестера на БК были контроллеры фирмы "АльтПро". Эта небольшая статья рассказывает о них в аспекте их эмулирования.

    Обзор

    В статье рассматриваются контроллеры фирмы "АльтПро", выпущенные после 1996 года. Приведу их характеристики:

    • Ёмкость ДОЗУ от 64 до 512 Кб
    • Различные режимы подключения ДОЗУ (в некоторых из них почти всё адресное пространство является оперативной памятью)
    • Наличие так называемого HALT-режима (позволяет прерывать работу почти любой программы и записать её текущее состояние, например, на диск с возможностью последующего возобновления её работы
    • Возможность полной или частичной замены драйверов винчестера или дисковода (переадресация вызовов на драйвер пользователя), возможность перехвата Reset программой пользователя
    • Постоянное хранение таблицы разделов в памяти
    • Наличие высокоуровневого диспетчера памяти

    Контроллеры маркируются следующим образом: сначала идёт вариант контроллера (A - дисководный, SMK - совмещённый дисководный и винчестера), далее количество ДОЗУ, затем буква M для дисководной версии контроллера. Другими словами, имелись следующие контроллеры: SMK64, SMK128, SMK256, SMK512, A64M, A128M, A256M, A512M.

    Для управления подключением дополтельного ОЗУ к адресному пространству используется регистр 177130. Регистры портов контроллера винчестера расположены по адресам 177740-177756, регистр данных контроллера дисковода - 177132.

    Определение типа контроллера

    Информация о контроллере хранится в ПЗУ по адресу 167776. Если младший байт больше 0, то этот контроллер содержит устаревшую версию прошивки. Если младший байт от 0200 до 0300, то это совмещённый контроллер винчестера и дисковода, если больше 0300, то это дисководный контроллер. В старшем байте хранится информация о количестве установленной дополнительной памяти, информация бует размещена чуть позже.

    Вся память разделена на страницы по 32 Кб. Одновременно к адресному пространству могут подключаться только сегменты (по 4 Кб) из одной страницы. Сегменты номерыются числами от 0 до 7.

    Режимы работы

    Приведу таблицу режимов работы и распределния памяти:
    Название режимаSYSStd10ОЗУ10AllStd11ОЗУ11Htl10Hlt11
    Код подключения01600600120020014004001000
    сигнал отключения монитора БК0010  ++  ++
    сигнал отключения монитора БК0011м + + + +
    сигнал отключения верхнего ОЗУ БК0011м++++    
    АдресаНомера подключаемых сегментов
    0170000-0177000 (SMK)ПЗУ7737777
    0170000-0 (A)ПЗУ-7W/-3R--7W7W
    0160000-0170000ПЗУПЗУ62ПЗУ66R/66
    0150000-01600001551-555
    0140000-01500000440-444
    0130000-01400007337--3-
    0120000-01300006226--2-
    0110000-0120000--15--1-
    0100000-0110000--04--0R-

    Замечания:

    • Буква W обозначает, что сегмент доступен только для записи.
    • Буква R обозначает, что сегмент доступен только для чтения. Такой способ подключения необходим для режима Std10, так как многие программы занимались заполнением экранной памяти до прерывания по вектору 4, также эта защита важна при чтении файлов.
    • Указание сегментов через слеш соответствует старой и новой версии модификации контроллера (никак не связано с версией ПЗУ). Версию контроллера можно определять проверкой возможности записи по адресу 160000 в режиме Hlt10.
    • В режиме SYS ПЗУ контроллера (размером 010000 байт) подключается сразу к двум окнам (0160000-0170000, 0170000-0). Благодаря этому изменяется адрес перезапуска (происходит перехват Reset).
    • В контроллерах SMK и A по-разному подключаются сегменты только по адресам 0170000-0177000), выше подключение одинаково (по стандарту A).
    • Все режимы можно использовать и на БК-0010, и на БК0011м вне зависимости от использования чисел 10 или 11 в названии режима.
    • Отключение монитора БК-0010 работало не на всех экземплярах БК.
    • Отключение монитора БК-0011м требовало доработки.
    • Записывать 0 в качестве режима нельзя, поэтому, если не установлены другие биты, для режима Hlt11 рекомендуется использовать код включения 020000.

    Выбор страницы осуществляется за счёт накладывания следующих масок на номер режима: 
    0 или 02000 для 64 Кб 
    0, 02000, 4, 020004 для 128Кб 
    0, 02000, 4, 02004, 010, 02010, 014, 02014 для 256Кб 
    0, 02000, 4, 02004, 010, 02010, 014, 02014, 1, 02001, 5, 02005, 011, 02011, 015, 02015 для 512Кб

    Переключение режима осуществляется за счёт последовательной записи числа 6 и номера режима+номера страницы в регистр 0177130. После этого, обычно, в регистр надо записывать 0 для останова двигателя дисковода.

    При установленном бите 010 при записи в регистр 0177130 для контроллеров с количеством ДОЗУ 64 или 128Кб подключается ПЗУ Бейсика. Для остальных контроллеров Бейсик подключается полным его копированием в одну из страниц. Однако бит 010 всё равно надо записать в 0177130 (иначе при чтении по адресам портов контроллера будет читаться не Бейсик, а содержимое портов).

    HALT-режим

    HALT-режим является аналогом терминального режима для других PDP-шек. Известно, что команда HALT и нажатие клавиши СТОП не вызывают непосредственно прерывания по вектору 4. Оно происходит из-за записи в регистр 0177676 содержимого слова состояния процессора (этого регистра в стандартной БК нет). В режимах Hlt10 и Hlt11 запись по этим адресам разрешена, поэтому происходит прерывание по вектору 0160002. Причём, содержимое слова состояния процессора и R7 записывается по адресам 0177676 и 0177674 соответственно. Это позволяет не использовать стек при этом прерывании. Отмечу, что все записываемые значения в системные регистры, записываются не только в них, но и в ОЗУ, поэтому состояние БК можно почти всегда полностью восстановить.

    В слове состояния процессора по адресу 0160004 можно (и нужно) устанавливать бит 02000, который обозначает высокий приоритет для прерываний (в этом случае не работает и HALT-прерывание).

    Программное обеспечение

    Для контроллеров были выпущены следующие программы:
    • Ram-bios v2.04 (AltPro&RSC) - диспетчер дополнительной памяти
    • Basic64M (AltPro&RSC) - программа для запуска Бейсика на БК-0010
    • Basic64M.11 (AltPro&RSC) - программа для запуска Бейсика от БК-0010 на БК-0011м (аналогов нет!)
    • Memory3 (AltPro&RSC) - выводит список модулей, хранящихся в ДОЗУ
    • EXCHANGER (RSC) - позволяет переключаться между двумя операционными системами (ANDOS, MKDOS) с помощью Reset+<цифровая клавиша>
    • OS/A WASP (LXE) - программа с Windows-подобным интерфейсом, оболочка для запуска программ с возможностью их прерывания и записью состояния на диск с возможностью продолжения работы
    • Windows-подобная оболочка от LIS с теми же возможностями (DEMO-версия)
    • Утилита тестирования контроллеров от AltPro

    При написании этого текста использовалось "Техническое описание контроллеров 'АльтПро' с доп. памятью 64-512 Кб и версией ПЗУ не ниже 2.00" (В. Е. Новак, А. И. Глускер 1997-98 гг.)

    Категория: Contrib | Добавил: un7jks (13.08.2012)
    Просмотров: 1693 | Рейтинг: 0.0/0 |

    Хостинг от uCoz