Важная информация

User Tag List

Страница 26 из 27 ПерваяПервая ... 222324252627 ПоследняяПоследняя
Показано с 251 по 260 из 267

Тема: AZ для БК-0010(01) и БК-0011М

  1. #251
    Veteran Аватар для Ратмир
    Регистрация
    07.05.2013
    Адрес
    г. Уфа
    Сообщений
    1,199
    Спасибо Благодарностей отдано 
    342
    Спасибо Благодарностей получено 
    138
    Поблагодарили
    113 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Плату не разьединял. У него в остатках 5900шт. Не ужели можно столько выпаять да и смысл?
    Ок.перехожу в телеграм
    Последний раз редактировалось Ратмир; 13.12.2022 в 09:58.

    Мои скромные железяки


    ATARI 65хе
    YAMAHA YIS503IIIR
    PackardBell
    HP Vectra 286/25n/VE/VL/VL800/VLi8, Kayak XA
    AcerPower 433sv
    Fujitsu-Siemens Scenic/S 2
    Compaq deskpro en

    МС 0511-01
    Микро80(в процессе)
    Микроком85
    Апогей-БК01Ц
    РадиоРК-86
    БК0010/10-01/11/11М
    ПК-8000
    Львов ПК-01
    Агат-9
    ДВК-2(в процессе)
    ДВК-3М
    Вектор-06ц
    Специалист
    ХТ8088 nec-20
    АТ286,386,486
    PI-75-200ММХ
    РII, III,IV

    ZX-Evolution r.C3
    Santaka-002
    Дельта-С
    Ленинград48к
    [свернуть]

  2. #252
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ратмир Посмотреть сообщение
    Макс. Если заменю контроллер, есть шанс восстановить работоспособность?
    начнем с диагностики
    он греется ?
    далее надо проверить корректность соединения плат в "бутерброде" если они разъединялись
    далее проверить напряжения 3.3В на стабилизаторах на верхней плате

    потом попробовать прошить отдельно верхнюю плату
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  3. #253
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обещанная эмуляция БК11М на БК10 заработала
    подробности тут
    https://t.me/pdp11_az/12856
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  4. #254
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    жирным новое (или измененное) в прошивке

    функционал:

    1. палитры, сделано расширение функционала механизма палитр
    подробнее https://forum.maxiol.com/index.php?showtopic=5556

    2. реализовано ручное переключение видеорежима (циклическое 1-2) по сочетанию AR2+KT
    те можно спокойно переключать его в зависимости от программы не напрягаясь!

    3. Реализовано отображение информации в консоли контроллера дисковой подсистемы и сети - переключается по АР2+РУС
    соответственно выделена страница памяти под консоль

    4. изменено - см п 16

    5. полный вывод VGA уже из SDRAM, переключение страниц

    6. перехват переключения палитр БК11М
    - доступ к памяти палитр с шины, чтение+запись
    исправлены ошибки перехвата при обращении к нечетным адресам

    7. Генератор псевдослучайных чисел - технически это LFSR длиной 128бит, младшие 16 в регистре доступном программно.
    сдвиг идет с частотой 65MHz как следствие полностью новое слово доступно будет каждый процессорный такт

    8. загрузка ПЗУ в память полностью реализована

    9. Реализовано распознавание новодела БК11М и подключение ПЗУ

    10. COVOX
    набор регистров доступных и по чтению и по записи
    177200 - 16bit левый канал
    177202 - 16bit правый канал
    177204 - 16bit моно, иначе говоря запись в этот регистр приводит к фактической одновременной записи в регистры 177200 и 177202
    177206 - 8bit стерео/mono, иначе говоря запись в этот регистр приводит к фактической одновременной записи в
    регистры 177200 и 177202 - в старший байт
    режимы stereo/momo определяются по байтовой записи
    те если писать слово в 177206 то это будет стерео
    а если писать младший байт в 177206 то данные будут трактоваться как моно

    запись в 177714 мультирежимная
    ибо у нас есть 2 варианта ковокса
    1. моно 8bit - запись в младший байт
    2. стерео 8bit - МЛБ - левый СТБ-правый
    переключать режимы через регистр 177212

    соответственно запись в 177714
    тоже приводит к фактической одновременной записи в 177200 и 177202
    обеспечивая полную совместимость со старым софтом

    Регистр управления звуком - 177212
    биты:
    00 - легаси перехват ковокса в 177714: 0=моно 1=стерео
    01 - =0 разрешен легаси перехват 177714 =1 запрещен
    02 - =0 разрешен перехват 177716 =1 запрещен
    перехват спикера сделан 3х битный
    03 - =0 YM2149 =1 AY8910 тип эмуляции PSG


    11. DMA контроллер звука
    177160 - регистр управления
    регистр скорости чтения , режима интерпретации данных (8/16 моно стерео), повтора

    00 - старт =1 старт
    01 - =1 однократный запуск =0 циклический , при этом надо записать =0 в 3й бит
    при циклическом запуске, запись 1цы даст останов после завершения цикла, с установкой в =1 бита3
    02 - =1 принудительная остановка до завершения цикла
    03 - на чтение =1 однократный запуск завершился, в начале сбрасывается на ноль, запись =1 не влияет на процесс
    04 - =1 потоковое воспроизведение с подкачкой данных, актуально для IMA_ADPCM в этом режиме на стадии начала цикла не происходит сброса начальных кодов декодирования ADPCM

    06-07-08 - скорость выдачи наружу
    поддерживаемые скорости
    0 - 44100

    09-10-11 - режим интерпретации
    09 - =0 моно =1 стерео
    11 - =0 PCM =1 IMA_ADPCM
    поддерживаемые режимы:
    000-0 PCM 16 mono
    100-4 IMA ADPCM DECODER mono
    101-5 IMA ADPCM DECODER stereo


    177162 - регистр адреса страницы с которой будем читать с дискретностью 10000 (4кБ)
    177164 - старшая часть длины - 8бит
    177166 - младшая часть длины - 16бит
    177170 - номер текущей страницы воспроизведения

    данные с DMA пойдут напрямую на микшер отдельным каналом

    12. Legacy AY через 177714
    работает автоопределение источника звука - или ковокс или AY

    13. Сделан UART - изменена базовая частота - теперь это не 130MHz а 65MHz

    адреса стандартные
    177560 - регистр статуса приемника
    177562 - регистр управления + регистр принятых данных
    177564 - регистр статуса передатчика
    177566 - регистр данных на передачу

    177560 - регистр статуса приемника
    бит 7 - флаг наличия данных: единица означает наличие принятых данных в регистре 177562
    после чтения 177562 - флаг будет сброшен
    регистр доступен на чтение
    запись игнорируется, ошибки не взывает

    177562
    - по чтению - младший байт содержит принятые данные
    - по записи - слово определяющее скорость, подробности ниже
    дефолтное значение 32346(8) что соответствует стандартной скорости в 9600бод

    177564 - регистр статуса передачика
    бит 7 - флаг успешной передачи данных: единица означает что байт из регистра 177566 успешно передан в линию
    после записи в 177566 - флаг будет сброшен тк начнется передача
    регистр доступен на чтение
    запись игнорируется, ошибки не взывает

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

    Слово определяющее скорость - доступно только по записи

    детальное описание UART в AZБК


    14. Сделан конструктор видеорежимов

    177230 - регистр управления
    177232 - регистр номера страницы начала отображения
    177240 - регистр номера страницы начала отображения - средняя страница под спрайты
    177242 - регистр номера страницы начала отображения - нижняя страница - под фон

    177230, далее пойдут биты с описанием
    2;0 - режим цветовой интерпретации
    4;3 - длина строки в словах
    7;6 - растяжение по горизонтали - те количество повторов у точки
    10;9 - количество повторов строк
    15;12 - длина рулона в словах

    теперь подробно
    режим цветовой интерпретации, значение от 0 до 7
    0 - 1 бит на цвет - 2 цвета
    1 - 2 бита на цвет - 4 цвета
    2 - 4 бита на цвет - 16 цветов
    3 - 8 бит на цвет - 256 цветов

    4 - 1 бит на цвет - 8 цветов - сборный "слоеный" режим
    5 - 2 бита на цвет - 4 цвета - включены слои
    6 - 4 бита на цвет - 16 цветов - включены слои
    7 - 8 бит на цвет - 256 цветов - включены слои

    подробное описание работы со слоями тут

    длина строки в словах
    0 - 32 слова
    1 - 64
    2 - 128
    3 - 256
    это значение должно соответствовать вашему режиму - иначе будут повторы или пропуски данных
    расчет прост - к примеру мы выбрали 512х384х16 цветов
    считаем 512точек х 4 бита = 2048бит /16 = 128 слов

    растяжение по горизонтали - те количество повторов у точки
    0 - х1 - те 1024 точки в строке
    1 - х2 - 512
    2 - х3 - 256
    3 - х4 - 128

    количество повторов строк
    0 - х1 - 768 строк
    1 - х2 - 384
    2 - х3 - 256
    3 - х4 - 192

    длина рулона в словах
    0 6144
    1 8192
    2 12288
    3 16384
    4 24576
    5 32768
    6 49152
    7 65536
    8 98304
    9 131072
    10 196608
    11 262144
    длина дает информацию контроллеру для корректной работы вертикального скролинга
    и важный момент - длина рулона может быть БОЛЬШЕ чем экран
    иначе говоря можно объявить экран в 32кБ (к примеру 256х256х16цветов )
    а рулон выбрать в 64кБ, что позволит осуществлять формирование того что выйдет на экран ЗА его пределами ДО его вывода рулоном

    типовые видеорежимы (значение восьмеричные)
    012201 - 256х256х4цвета (экран 16кБ)
    012100 - 512х256х2цвета (экран 16кБ)
    032212 - 256х256х16цветов (экран 32кБ)

    регистр 177232 - адрес страницы начала отображения
    те можно начинать отображение с любой страницы в памяти

    Важно! видеорежимы в состоянии "beta" те я не провел полного тестирования

    15. Добавлена эмуляция 2xAY
    сложение каналов по форумуле
    R=A1+A2+B1+B2
    L=C1+C2+B1+B2

    Прямая доступность регистров на шине, а именно доступны байтовые регистры
    177172 - адрес AY1
    177173 - данные AY1
    177174 - адрес AY2
    177175 - данные AY2

    16. Доработки маппера памяти AZ

    Правки от 2022-12-19


    Концепция:
    маппер V2 - это чисто маппер AZ без костылей и _все_ запросы к мапперам 177716(БК11М) или 177130(СМК) транслируются в маппер AZ который является единым устройством управления памятью
    это сделано для кардинального расширения возможностей БКшек, а именно для отключения 037й
    и как следствие - возможности работы полного маппера AZ. Это означает что на любой адрес в адресном пространстве БК10/БК11М можно подставить любую страницу памяти!

    адресное пространство расширенной памяти разбито на 4 сегмента:
    Код:
       АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ
    
    ╔═══════════════════════════════════════════════════ .....  ════════╗
    ║     АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ                             ║
    ╚═══════════════════════════════════════════════════ .....  ════════╝
       0    128kB    256kB   512kB   1024kB                            32MB
      │       │        │       │        │
      └───────┤        ├───────┴────────┘
       RAM    │        │  ROMs    SMK
       Shadow │        │
              │        │
              └─SYSTEM─┘

    0-128кБ это память для организации "теневой" или эмулируемой памяти БК11М
    первые 128кБ являются полной копией оперативки БК11М - или эмулируемой в БК10
    из этой памяти идет отображение legacy видео режимов
    а также получается есть техническая возможность отобразить на экран любую страницу памяти БК11М
    [attachmentid=9946]
    обращаю внимание на то, что физический адрес - словный
    режим работы этой памяти устанавливается в регистре 177346

    128-256кБ это полноценная R/W память с которой всегда идет RPLY
    но эта память служебная и используется для работы AZ контроллера

    256-512кБ это read-only память, она не доступна на запись со стороны БКшки
    эта память для эмуляции различных ПЗУ, содержимое которых может быть загружено только средствами AZ

    512-1024кБ для эмуляции SMK-512

    Начиная с 1МБ вся оперативная память - полноценная R/W память без ограничений, а именно ее подключение всегда дает RPLY на чтение и на запись если не установлен режим r/o на данной странице в регистре 177342



    маппер памяти AZ
    технически адрес в системе 24bit-а (адрес слова 16bit)
    для маппера памяти используется старшая часть адреса, и получается дискретность привязки памяти к окну - 4кБ

    есть 16 регистров (177300-177336 R/W) куда пишется 13bit адрес начала (11 бит добавляется от адреса с шины и получается 24bit адрес слова)
    старшие 3 бита в резеве и маппер предусматривает расширение до 256МБ.

    Код:
    
      ПРИНЦИП ФОРМИРОВАНИЯ ПОЛНОГО 24bit  АДРЕСА  16bit слова
      ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
      │23│22│21│20│19│18│17│16│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
      └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
       │                                    │ │                              │
       └────────────────────────────────────┘ └──────────────────────────────┘
          АДРЕС В РЕГИСТРЕ ОКНА 13bit             АДРЕС С ШИНЫ МЛАДШИЕ 11bit
    
    
    
    
    Адресное пространство разбито на 16 окон
    для облегчения восприятия я пронумерую их с 0 до 15
    
    
    ┌────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬─
    │0..7777 │10000..17777│20000..27777│30000..37777│40000..47777│50000..57777│60000..67777│70000..77777│
    └────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴─
      0 окно   1 окно        2 окно       3 окно       4 окно        5 окно       6 окно       7 окно
      177300   177302        177304       177306       177310        177312       177314       177316
    
    
      
    ──┬─────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┐
      │100000-107777│110000..117777│120000..127777│130000..137777│140000..147777│150000..157777│160000..167777│170000..177000│
    ──┴─────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
          8 окно         9 окно        10 окно        11 окно       12 окно        13 окно        14 окно        15 окно
          177320         177322        177324         177326        177330         177332         177334         177336
    
    
    
    
    
    
    
             Регистр управления активацией окно - маски окон
             АДРЕС = 177340 R/W
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
    
           пример: для подключения оперативки в окно №14 - 160000-167777
           надо сделать следующее:
        177334 <- 400 (это указатель на первый мегабайт)
        177340 <- 40000 (это разрешение этого окна - 14 бит)
        177342 <- сброс бита 14 тк мы хотим оперативку а не ПЗУ
    
    
            
             Регистр управления r/o на окно
             АДРЕС = 177342 R/W
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
          
           пример: для подключения оперативки в режиме ПЗУ
           в окно №14 - 160000-167777 надо сделать следующее:
        177334 <- 400 (это указатель на первый мегабайт)
        177340 <- 40000 (это разрешение этого окна - 14 бит)
        177342 <- 40000 (это установка r/o тк мы хотим ПЗУ)
    
    
    
             Регистр управления shadow окон - маски окон
             АДРЕС = 177344 R/W
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
    
    shadow это режим копирования всех операций записи в зеркальную память  - см
    
       АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ
    
    ╔═══════════════════════════════════════════════════ .....  ════════╗
    ║     АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ                             ║
    ╚═══════════════════════════════════════════════════ .....  ════════╝
       0    128kB    256kB   512kB   1024kB                            32MB
      │       │                      
      └───────┘        
      SHADOW RAM              
              
    Это нужно для работы на БК11М и формирования изображения на VGA экране
    
    shadow страницы устанавливаются автоматически при работе с маппером БК11М


    для управления маппером предусмотрен регистр маски окон - 177340 R/W
    младший бит соответствует младшему окну (те с 0 до 7777)

    пример: для подключения оперативки в окно 160000-167777 надо сделать следующее:
    177334 <- 400 (это указатель на первый мегабайт)
    177340 <- 40000 (это разрешение этого окна)

    для управления r/o на выбранном окне предусмотрен регистр-маска 177342
    соответственно для установки режима только чтения надо установить соответствующий бит на окне
    к примеру
    177334 <- 400 (это указатель на первый мегабайт)
    177340 <- 40000 (это разрешение этого окна)
    177342 <- 40000 это запрет записи в это (160000-167777) окно


    разбивка на окна соответствует размеру в SMK - те 4кБ начиная со 100000(8)
    обращаю внимание на адресацию, те свойства r/o w/o привязаны к 24bit адресу слова (!)
    также есть регистр управления который осуществляет включение/выключение окон по маске (177342) + для общего управления и совместимостью с SMK

    регистр управления shadow режимом 177344 R/W
    это тоже битовая маска окон, и младший бит соответствует младшему окну
    назначение регистра - управление работой shadow-режима для БК11М

    как уже было сказано - маппер V2 это полный маппер
    и соответственно в режиме БК11М - первые 128кБ это тень памяти БК11М
    для этого в регистры 177330 и далее прописываются соответствия страниц памяти в которые будет "откидываться" вся запись в память БК11М и будет обеспечиваться ее копия в памяти AZ.

    к примеру
    177300 <=13'o030; // 000000-007777
    177302 <=13'o031; // 010000-017777
    177304 <=13'o032; // 020000-027777
    177306 <=13'o033; // 030000-037777
    те это нулевая страница в понятии БК11М
    и соответственно в 177344 устанавливаются биты shadow-режима

    управление shadow осуществляется автоматически в ПЛИС трансляцией запросов из 177716 и согласно режиму работы маппера в 177346

    регистр управления маппером 177346 R/W

    Код:
             Регистр управления маппером
             АДРЕС = 177346
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
            │  ║  │  │  │  ║  ║  │     │  │  │  │  │  │   │      ┌─────────────────────────┐
            │  ║  │  │  │  ║  ║  └─────┤  │  │  │  │  └───┴──────┤ версия аппаратной части │
            │  ║  │  │  │  ║  ║        │  │  │  │  │             └─────────────────────────┘
            │  ║  │  │  │  ║  ║        │  │  │  │  │             ┌─────────────────────────────────┐
            │  ║  │  │  │  ║  ║        │  │  │  │  └─────────────┤ =1 50Hz =0 60Hz кадровый таймер │  
            │  ║  │  │  │  ║  ║        │  │  │  │                └─────────────────────────────────┘
            │  ║  │  │  │  ║  ║        │  │  │  │                ┌─────────────────────────────────┐
            │  ║  │  │  │  ║  ║        │  │  │  └────────────────┤ =1 включить таймер 100й вектор  │
            │  ║  │  │  │  ║  ║        │  │  │                   └─────────────────────────────────┘
            │  ║  │  │  │  ║  ║        │  │  │                   ┌────────┐
            │  ║  │  │  │  ║  ║        │  │  └───────────────────┤ резерв │
            │  ║  │  │  │  ║  ║        │  │                      └────────┘
            │  ║  │  │  │  ║  ║        │  │       ┌─────────────────────────────────────────────┐
            │  ║  │  │  │  ║  ║        │  └───────┤ управление эмуляцией ПЗУ в БК11М =1 включить│
            │  ║  │  │  │  ║  ║        │          └─────────────────────────────────────────────┘
            │  ║  │  │  │  ║  ║        │  ┌──────────────────────────────────────────────────────────────┐
            │  ║  │  │  │  ║  ║        └──┤частота процессора явно те =3 =4 =5 =6 MHz =0 то неопределено │
            │  ║  │  │  │  ║  ║           │ заполняется программно, стартовым ПЗУ                        │
            │  ║  │  │  │  ║  ║           └──────────────────────────────────────────────────────────────┘
            │  ║  │  │  │  ║  ║  ╔═════════════════════════════════════════════════════════════════════════════════╗
            │  ║  │  │  │  ║  ╚══╣  R/W - RAM окно памяти с 0 до 77777 (технически это и окно 100000 до 137777)    ║
            │  ║  │  │  │  ║     ║  в отключенном режиме (=1) на 037ую не проходят запросы с адресов с 0 до 77777  ║
            │  ║  │  │  │  ║     ║  соответственно и 037ая никак не отвечает и не принимает данные на запись       ║
            │  ║  │  │  │  ║     ║  соответственно эта опция включает RPLY на маппере БК11М, а также возможность   ║
            │  ║  │  │  │  ║     ║  читать из маппера !!! при 14 бите =0 опция не работает                         ║
            │  ║  │  │  │  ║     ╚═════════════════════════════════════════════════════════════════════════════════╝
            │  ║  │  │  │  ║     ╔═════════════════════════════════════════════════════╗
            │  ║  │  │  │  ╚═════╣ R/W - ответ на 177660-663 строб 014й =1 отключение  ║
            │  ║  │  │  │        ║  а именно эмуляцию 014й                             ║
            │  ║  │  │  │        ║  те уже пойдет RPLY от AZ на адресах 177660-663     ║
            │  ║  │  │  │        ║  при 14 бите =0 опция не работает                   ║
            │  ║  │  │  │        ╚═════════════════════════════════════════════════════╝
            │  ║  │  │  │  ┌──────────────────────────────────────────────────────────────────┐
            │  ║  │  │  └──┤ R/W - включение эмуляции БК11М =1 включено                       │
            │  ║  │  │     │эта опция может быть активирована только при наличии =1 в бите 12 │
            │  ║  │  │     │(при =0 в бите 12 - игнорируется)                                 │
            │  ║  │  │     └──────────────────────────────────────────────────────────────────┘
            │  ║  │  │     ┌────────────────────────────────────────────────────────────────┐
            │  ║  │  └─────┤ R/W - тип БКшки =0 это 11М, дефолтное состояние  =1 это 10ка   │
            │  ║  │        │ проверяется и устанавливается программно стартовым ПЗУ         │
            │  ║  │        └────────────────────────────────────────────────────────────────┘
            │  ║  │ ┌─────────────────────────────────────────────────────────────────────────────────────────────┐
            │  ║  └─┤ 13 - R/W - наличие работоспособной доработки окна1                                          │
            │  ║    │ =1 - работает отключение окна 1 традиционным методом через оттягивание выхода TM9 на землю  │
            │  ║    │ =0 - доработки нет                                                                          │
            │  ║    │ проверяется и устанавливается программно                                                    │
            │  ║    │ но сбрасывается в 0 при установке бита 14 - см ниже                                         │
            │  ║    └─────────────────────────────────────────────────────────────────────────────────────────────┘
            │  ║ ╔═════════════════════════════════════════════════════════╗
            │  ╚═╣R/O - тип доработки, результат автоопределения в ПЛИС    ║
            │    ║=0 доработка окна 1 или нет доработки                    ║
            │    ║=1 доработка с управлением 037й                          ║
            │    ╚═════════════════════════════════════════════════════════╝
            │    ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
            └────┤ 15 - R/W - =1 отключение окна 1 в БК11М, транслируется из эмуляции SMK                             │
                 │ и в зависимости от типа доработки будет подаваться как сигнал на А22 или как переключение окон 11М │
                 └────────────────────────────────────────────────────────────────────────────────────────────────────┘

    биты
    00 - R/O - версия аппаратной части платы ПЛИС - сейчас там 0
    01 - R/O - версия аппаратной части платы ПЛИС - сейчас там 0

    02 - =1 50Hz =0 60Hz кадровый таймер
    переключение источников таймера, в случае 60Гц - оно идет с VGA модуля, 48Гц генерится из 65MHz

    03 - =1 включить таймер 100й вектор
    включает таймер по 100му вектору безусловно, h

    04 - резерв =0

    05 - управление эмуляцией ПЗУ в БК11М; по-умолчанию расширенные ПЗУ бейсика подключаемые через 177716 в окно 1 (100000-137777)
    ПЗУ 8 [0] - подключает ПЗУ 325, 327 к магистрали
    ПЗУ 9 [1] - подключает ПЗУ 328, 329 к магистрали
    установка этого бита включает полную эмуляцию подключения этих ПЗУ средствами AZБК
    бит независимый от эмуляции БК11М тк может быть случай с БК11М без ПЗУ совсем


    частота процессора явно те =3 =4 =5 =6 MHz =0 то неопределено
    заполняется программно, стартовым ПЗУ
    06 - R/W
    07 - R/W
    08 - R/W


    управление опциями отключения 037й в ПЛИС, доступно программно
    по-умолчанию =0, те опция выключена
    тк все изначально =0, и устанавливаются по HALT-у

    эти опция отключает прохождение SYNC-а на 037 и включает дополнительный функционал
    09 - R/W - RAM окно памяти с 0 до 77777 (технически это и окно 100000 до 137777)
    в отключенном режиме (=1) на 037ую не проходят запросы с адресов с 0 до 77777 соответственно и 037ая никак не отвечает и не принимает данные на запись
    соответственно эта опция включает RPLY на маппере БК11М, а также возможность читать из маппера
    при 14 бите =0 опция не работает

    эти опция отключает прохождение SYNC-а на 037 и включает дополнительный функционал
    10 - R/W - ответ на 177660-663 строб 014й =1 отключение
    а именно эмуляцию 014й
    те уже пойдет RPLY от AZ на адресах 177660-663
    при 14 бите =0 опция не работает

    11 - R/W - включение эмуляции БК11М
    =0 выключено
    =1 включено
    эта опция может быть активирована только при наличии =1 в бите 12 (при =0 в бите 12 - игнорируется)
    функционал эмуляции БК11М на БК10 включает:
    - разрешение записи (RPLY) в 177662
    соответственно работают: палитры + кадровый таймер, частота задается в бите 2

    12 - R/W - тип БКшки
    =0 это 11М, дефолтное состояние
    =1 это 10ка
    проверяется и устанавливается программно стартовым ПЗУ
    опция нужна для дальнейшей работы механизмов эмуляции БК11М на БК10
    наличие в ней =1 обязательно для включения эмуляции БК11М на БК10

    13 - R/W - наличие работоспособной доработки окна1
    =1 - работает отключение окна 1 традиционным методом через оттягивание выхода TM9 на землю
    =0 - доработки нет
    проверяется и устанавливается программно
    но сбрасывается в 0 при установке бита 14 - см ниже

    14 - R/O - тип доработки, результат автоопределения в ПЛИС
    =0 доработка окна 1 или нет доработки
    =1 доработка с управлением 037й

    15 - R/W - =1 отключение окна 1 в БК11М, транслируется из эмуляции SMK
    и в зависимости от типа доработки будет подаваться как сигнал на А22 или как переключение окон 11М

    Регистры-копии данных, доступны только по чтению
    177350 R/O - регистр копия по записи 177130 в режиме записи управления памятью в SMK
    177352 R/O - регистр копия по записи 177716 в режиме записи управления памятью в БК11М

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


    17. RTC часы и энергонезависимая память
    для работы с ними используется новый блок команд AZ
    см https://forum.maxiol.com/index.php?s...ndpost&p=57017


    должны отвечать регистры
    SOUND
    177160-177174
    177200-177212
    AZ
    177220-177226
    дебаг
    177100-177106
    регистры палитр - уже можно экспериментировать
    177230 - видеорежимы
    177232 - номер легаси страницы
    177234 - адрес ячейки палитры [9бит]
    177236 - значение палитры [15бит]
    177240 - регистр номера страницы начала отображения - средняя страница под спрайты
    177242 - регистр номера страницы начала отображения - нижняя страница - под фон

    маппер памяти
    177300-352

    177550 - генератор псевдослучайных чисел
    177560-177566 - UART

    После reset машина стартует автоматически и загружается со первого образа в ini-файле

    В архиве обновленное - надо прошивать ВСЕ
    azboot.ROM
    AZLIB00.ROM
    AZLIB01.ROM
    AZLIB02.ROM
    AZ337.ROM
    AZBK_00014b.hex - новая
    AZBK_00014b.pof - новая

    Контроллер AZ BK: Прошивка 00014b

    Обращаю внимание на необходимость подключить новые ПЗУ в секции ROM

    пример правильной для данной версии прошивки секции ROM
    Код:
    [ROM]
    R00=0:/rom/AZBOOT.ROM
    R01=0:/rom/AZLIB00.ROM
    R02=0:/rom/AZLIB01.ROM
    R03=0:/rom/AZLIB02.ROM
    R08=0:/rom/AZ337.rom
    R16=0:/rom/11m_324.rom
    R18=0:/rom/11m_325.rom
    R20=0:/rom/11m_327.rom
    R22=0:/rom/11m_328.rom
    R24=0:/rom/11m_329.rom
    R26=0:/rom/11m_330.rom
    R28=0:/rom/10_017.rom
    R30=0:/rom/10_018.rom
    R32=0:/rom/10_019.rom
    R34=0:/rom/10_106.rom
    R36=0:/rom/10_107.rom
    R38=0:/rom/10_108.rom

    Также обращаю внимание на необходимость установки часового пояса в секции NETWORK
    пример
    Код:
    [network]
    MAC=002335220510
    DHCPNAME=AZNET-BK10.home.maxiol.com
    DHCP=ON
    TIMEZONE=420
    таймзона - в минутах


    Рабочий комплект
    ANDOS + ПРИНЦ

    на БК10 запускать start2.exe (тк у БК не хватает быстродействия отобразить заставку пришлось внести коррективы)


    Основная особенность этого комплекта это включение эмуляции БК11М на БК10, для запуска на обычной БК10 не пригодна.
    На БК-11М работает штатно


    Про доработку БК-0010(01) читать тут
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  5. #255
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прошивка 00014

    фиксация глобальных изменений!

    жирным новое (или измененное) в прошивке относительно 13й версии прошивки

    функционал:

    1. палитры, сделано расширение функционала механизма палитр
    подробнее https://forum.maxiol.com/index.php?showtopic=5556

    2. реализовано ручное переключение видеорежима (циклическое 1-2) по сочетанию AR2+KT
    те можно спокойно переключать его в зависимости от программы не напрягаясь!

    3. Реализовано отображение информации в консоли контроллера дисковой подсистемы и сети - переключается по АР2+РУС
    соответственно выделена страница памяти под консоль

    4. изменено - см п 16

    5. полный вывод VGA уже из SDRAM, переключение страниц

    6. перехват переключения палитр БК11М
    - доступ к памяти палитр с шины, чтение+запись
    исправлены ошибки перехвата при обращении к нечетным адресам

    7. Генератор псевдослучайных чисел - технически это LFSR длиной 128бит, младшие 16 в регистре доступном программно.
    сдвиг идет с частотой 65MHz как следствие полностью новое слово доступно будет каждый процессорный такт

    8. загрузка ПЗУ в память полностью реализована

    9. Реализовано распознавание новодела БК11М и подключение ПЗУ

    10. COVOX
    набор регистров доступных и по чтению и по записи
    177200 - 16bit левый канал
    177202 - 16bit правый канал
    177204 - 16bit моно, иначе говоря запись в этот регистр приводит к фактической одновременной записи в регистры 177200 и 177202
    177206 - 8bit стерео/mono, иначе говоря запись в этот регистр приводит к фактической одновременной записи в
    регистры 177200 и 177202 - в старший байт
    режимы stereo/momo определяются по байтовой записи
    те если писать слово в 177206 то это будет стерео
    а если писать младший байт в 177206 то данные будут трактоваться как моно

    запись в 177714 мультирежимная
    ибо у нас есть 2 варианта ковокса
    1. моно 8bit - запись в младший байт
    2. стерео 8bit - МЛБ - левый СТБ-правый
    переключать режимы через регистр 177212

    соответственно запись в 177714
    тоже приводит к фактической одновременной записи в 177200 и 177202
    обеспечивая полную совместимость со старым софтом

    Регистр управления звуком - 177212
    биты:
    00 - легаси перехват ковокса в 177714: 0=моно 1=стерео
    01 - =0 разрешен легаси перехват 177714 =1 запрещен
    02 - =0 разрешен перехват 177716 =1 запрещен
    перехват спикера сделан 3х битный
    03 - =0 YM2149 =1 AY8910 тип эмуляции PSG


    11. DMA контроллер звука
    177160 - регистр управления
    регистр скорости чтения , режима интерпретации данных (8/16 моно стерео), повтора

    00 - старт =1 старт
    01 - =1 однократный запуск =0 циклический , при этом надо записать =0 в 3й бит
    при циклическом запуске, запись 1цы даст останов после завершения цикла, с установкой в =1 бита3
    02 - =1 принудительная остановка до завершения цикла
    03 - на чтение =1 однократный запуск завершился, в начале сбрасывается на ноль, запись =1 не влияет на процесс
    04 - =1 потоковое воспроизведение с подкачкой данных, актуально для IMA_ADPCM в этом режиме на стадии начала цикла не происходит сброса начальных кодов декодирования ADPCM

    06-07-08 - скорость выдачи наружу
    поддерживаемые скорости
    0 - 44100

    09-10-11 - режим интерпретации
    09 - =0 моно =1 стерео
    11 - =0 PCM =1 IMA_ADPCM
    поддерживаемые режимы:
    000-0 PCM 16 mono
    100-4 IMA ADPCM DECODER mono
    101-5 IMA ADPCM DECODER stereo


    177162 - регистр адреса страницы с которой будем читать с дискретностью 10000 (4кБ)
    177164 - старшая часть длины - 8бит
    177166 - младшая часть длины - 16бит
    177170 - номер текущей страницы воспроизведения

    данные с DMA пойдут напрямую на микшер отдельным каналом

    12. Legacy AY через 177714
    работает автоопределение источника звука - или ковокс или AY

    13. Сделан UART - изменена базовая частота - теперь это не 130MHz а 65MHz

    адреса стандартные
    177560 - регистр статуса приемника
    177562 - регистр управления + регистр принятых данных
    177564 - регистр статуса передатчика
    177566 - регистр данных на передачу

    177560 - регистр статуса приемника
    бит 7 - флаг наличия данных: единица означает наличие принятых данных в регистре 177562
    после чтения 177562 - флаг будет сброшен
    регистр доступен на чтение
    запись игнорируется, ошибки не взывает

    177562
    - по чтению - младший байт содержит принятые данные
    - по записи - слово определяющее скорость, подробности ниже
    дефолтное значение 32346(8) что соответствует стандартной скорости в 9600бод

    177564 - регистр статуса передачика
    бит 7 - флаг успешной передачи данных: единица означает что байт из регистра 177566 успешно передан в линию
    после записи в 177566 - флаг будет сброшен тк начнется передача
    регистр доступен на чтение
    запись игнорируется, ошибки не взывает

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

    Слово определяющее скорость - доступно только по записи

    детальное описание UART в AZБК


    14. Сделан конструктор видеорежимов

    177230 - регистр управления
    177232 - регистр номера страницы начала отображения
    177240 - регистр номера страницы начала отображения - средняя страница под спрайты
    177242 - регистр номера страницы начала отображения - нижняя страница - под фон

    177230, далее пойдут биты с описанием
    2;0 - режим цветовой интерпретации
    4;3 - длина строки в словах
    7;6 - растяжение по горизонтали - те количество повторов у точки
    10;9 - количество повторов строк
    15;12 - длина рулона в словах

    теперь подробно
    режим цветовой интерпретации, значение от 0 до 7
    0 - 1 бит на цвет - 2 цвета
    1 - 2 бита на цвет - 4 цвета
    2 - 4 бита на цвет - 16 цветов
    3 - 8 бит на цвет - 256 цветов

    4 - 1 бит на цвет - 8 цветов - сборный "слоеный" режим
    5 - 2 бита на цвет - 4 цвета - включены слои
    6 - 4 бита на цвет - 16 цветов - включены слои
    7 - 8 бит на цвет - 256 цветов - включены слои

    подробное описание работы со слоями тут

    длина строки в словах
    0 - 32 слова
    1 - 64
    2 - 128
    3 - 256
    это значение должно соответствовать вашему режиму - иначе будут повторы или пропуски данных
    расчет прост - к примеру мы выбрали 512х384х16 цветов
    считаем 512точек х 4 бита = 2048бит /16 = 128 слов

    растяжение по горизонтали - те количество повторов у точки
    0 - х1 - те 1024 точки в строке
    1 - х2 - 512
    2 - х3 - 256
    3 - х4 - 128

    количество повторов строк
    0 - х1 - 768 строк
    1 - х2 - 384
    2 - х3 - 256
    3 - х4 - 192

    длина рулона в словах
    0 6144
    1 8192
    2 12288
    3 16384
    4 24576
    5 32768
    6 49152
    7 65536
    8 98304
    9 131072
    10 196608
    11 262144
    длина дает информацию контроллеру для корректной работы вертикального скролинга
    и важный момент - длина рулона может быть БОЛЬШЕ чем экран
    иначе говоря можно объявить экран в 32кБ (к примеру 256х256х16цветов )
    а рулон выбрать в 64кБ, что позволит осуществлять формирование того что выйдет на экран ЗА его пределами ДО его вывода рулоном

    типовые видеорежимы (значение восьмеричные)
    012201 - 256х256х4цвета (экран 16кБ)
    012100 - 512х256х2цвета (экран 16кБ)
    032212 - 256х256х16цветов (экран 32кБ)

    регистр 177232 - адрес страницы начала отображения
    те можно начинать отображение с любой страницы в памяти

    Важно! видеорежимы в состоянии "beta" те я не провел полного тестирования

    15. Добавлена эмуляция 2xAY
    сложение каналов по форумуле
    R=A1+A2+B1+B2
    L=C1+C2+B1+B2

    Прямая доступность регистров на шине, а именно доступны байтовые регистры
    177172 - адрес AY1
    177173 - данные AY1
    177174 - адрес AY2
    177175 - данные AY2

    16. Доработки маппера памяти AZ

    Правки от 2023-03-20

    Концепция:
    маппер V2 - это чисто маппер AZ без костылей и _все_ запросы к мапперам 177716(БК11М) или 177130(СМК) транслируются в маппер AZ который является единым устройством управления памятью
    это сделано для кардинального расширения возможностей БКшек, а именно для отключения 037й
    и как следствие - возможности работы полного маппера AZ. Это означает что на любой адрес в адресном пространстве БК10/БК11М можно подставить любую страницу памяти!

    адресное пространство расширенной памяти разбито на 4 сегмента:
    Код:
       АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ
    
    ╔═══════════════════════════════════════════════════ .....  ════════╗
    ║     АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ                             ║
    ╚═══════════════════════════════════════════════════ .....  ════════╝
       0    128kB    256kB   512kB   1024kB                            32MB
      │       │        │       │        │
      └───────┤        ├───────┴────────┘
       RAM    │        │  ROMs    SMK
       Shadow │        │
              │        │
              └─SYSTEM─┘

    0-128кБ это память для организации "теневой" или эмулируемой памяти БК11М
    первые 128кБ являются полной копией оперативки БК11М - или эмулируемой в БК10
    из этой памяти идет отображение legacy видео режимов
    а также получается есть техническая возможность отобразить на экран любую страницу памяти БК11М
    [attachmentid=9946]
    обращаю внимание на то, что физический адрес - словный
    режим работы этой памяти устанавливается в регистре 177346

    128-256кБ это полноценная R/W память с которой всегда идет RPLY
    но эта память служебная и используется для работы AZ контроллера

    256-512кБ это read-only память, она не доступна на запись со стороны БКшки
    эта память для эмуляции различных ПЗУ, содержимое которых может быть загружено только средствами AZ

    512-1024кБ для эмуляции SMK-512

    Начиная с 1МБ вся оперативная память - полноценная R/W память без ограничений, а именно ее подключение всегда дает RPLY на чтение и на запись если не установлен режим r/o на данной странице в регистре 177342



    маппер памяти AZ
    технически адрес в системе 24bit-а (адрес слова 16bit)
    для маппера памяти используется старшая часть адреса, и получается дискретность привязки памяти к окну - 4кБ

    есть 16 регистров (177300-177336 R/W) куда пишется 13bit адрес начала (11 бит добавляется от адреса с шины и получается 24bit адрес слова)
    старшие 3 бита в резеве и маппер предусматривает расширение до 256МБ.

    Код:
    
      ПРИНЦИП ФОРМИРОВАНИЯ ПОЛНОГО 24bit  АДРЕСА  16bit слова
      ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
      │23│22│21│20│19│18│17│16│15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
      └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
       │                                    │ │                              │
       └────────────────────────────────────┘ └──────────────────────────────┘
          АДРЕС В РЕГИСТРЕ ОКНА 13bit             АДРЕС С ШИНЫ МЛАДШИЕ 11bit
    
    
    
    
    Адресное пространство разбито на 16 окон
    для облегчения восприятия я пронумерую их с 0 до 15
    
    
    ┌────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬────────────┬─
    │0..7777 │10000..17777│20000..27777│30000..37777│40000..47777│50000..57777│60000..67777│70000..77777│
    └────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴────────────┴─
      0 окно   1 окно        2 окно       3 окно       4 окно        5 окно       6 окно       7 окно
      177300   177302        177304       177306       177310        177312       177314       177316
    
    
      
    ──┬─────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┐
      │100000-107777│110000..117777│120000..127777│130000..137777│140000..147777│150000..157777│160000..167777│170000..177000│
    ──┴─────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘
          8 окно         9 окно        10 окно        11 окно       12 окно        13 окно        14 окно        15 окно
          177320         177322        177324         177326        177330         177332         177334         177336
    
    
    
    
    
    
    
             Регистр управления активацией окно - маски окон
             АДРЕС = 177340 R/W
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
    
           пример: для подключения оперативки в окно №14 - 160000-167777
           надо сделать следующее:
        177334 <- 400 (это указатель на первый мегабайт)
        177340 <- 40000 (это разрешение этого окна - 14 бит)
        177342 <- сброс бита 14 тк мы хотим оперативку а не ПЗУ
    
    
            
             Регистр управления r/o на окно
             АДРЕС = 177342 R/W
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
          
           пример: для подключения оперативки в режиме ПЗУ
           в окно №14 - 160000-167777 надо сделать следующее:
        177334 <- 400 (это указатель на первый мегабайт)
        177340 <- 40000 (это разрешение этого окна - 14 бит)
        177342 <- 40000 (это установка r/o тк мы хотим ПЗУ)
    
    
    
             Регистр управления shadow окон - маски окон
             АДРЕС = 177344 R/W
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
    
    shadow это режим копирования всех операций записи в зеркальную память  - см
    
       АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ
    
    ╔═══════════════════════════════════════════════════ .....  ════════╗
    ║     АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ В AZ                             ║
    ╚═══════════════════════════════════════════════════ .....  ════════╝
       0    128kB    256kB   512kB   1024kB                            32MB
      │       │                      
      └───────┘        
      SHADOW RAM              
              
    Это нужно для работы на БК11М и формирования изображения на VGA экране
    
    shadow страницы устанавливаются автоматически при работе с маппером БК11М


    для управления маппером предусмотрен регистр маски окон - 177340 R/W
    младший бит соответствует младшему окну (те с 0 до 7777)

    пример: для подключения оперативки в окно 160000-167777 надо сделать следующее:
    177334 <- 400 (это указатель на первый мегабайт)
    177340 <- 40000 (это разрешение этого окна)

    для управления r/o на выбранном окне предусмотрен регистр-маска 177342
    соответственно для установки режима только чтения надо установить соответствующий бит на окне
    к примеру
    177334 <- 400 (это указатель на первый мегабайт)
    177340 <- 40000 (это разрешение этого окна)
    177342 <- 40000 это запрет записи в это (160000-167777) окно


    разбивка на окна соответствует размеру в SMK - те 4кБ начиная со 100000(8)
    обращаю внимание на адресацию, те свойства r/o w/o привязаны к 24bit адресу слова (!)
    также есть регистр управления который осуществляет включение/выключение окон по маске (177342) + для общего управления и совместимостью с SMK

    регистр управления shadow режимом 177344 R/W
    это тоже битовая маска окон, и младший бит соответствует младшему окну
    назначение регистра - управление работой shadow-режима для БК11М

    как уже было сказано - маппер V2 это полный маппер
    и соответственно в режиме БК11М - первые 128кБ это тень памяти БК11М
    для этого в регистры 177330 и далее прописываются соответствия страниц памяти в которые будет "откидываться" вся запись в память БК11М и будет обеспечиваться ее копия в памяти AZ.

    к примеру
    177300 <=13'o030; // 000000-007777
    177302 <=13'o031; // 010000-017777
    177304 <=13'o032; // 020000-027777
    177306 <=13'o033; // 030000-037777
    те это нулевая страница в понятии БК11М
    и соответственно в 177344 устанавливаются биты shadow-режима

    управление shadow осуществляется автоматически в ПЛИС трансляцией запросов из 177716 и согласно режиму работы маппера в 177346

    регистр управления маппером 177346 R/W

    Код:
             Регистр управления маппером
             АДРЕС = 177346
             ФОРМАТ РЕГИСТРА
           ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐
           │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│
           └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
            │  ║  │  │  │  ║  ║  │     │  │  │  │  │  │   │      ┌─────────────────────────┐
            │  ║  │  │  │  ║  ║  └─────┤  │  │  │  │  └───┴──────┤ версия аппаратной части │
            │  ║  │  │  │  ║  ║        │  │  │  │  │             └─────────────────────────┘
            │  ║  │  │  │  ║  ║        │  │  │  │  │             ┌─────────────────────────────────┐
            │  ║  │  │  │  ║  ║        │  │  │  │  └─────────────┤ =1 50Hz =0 60Hz кадровый таймер │  
            │  ║  │  │  │  ║  ║        │  │  │  │                └─────────────────────────────────┘
            │  ║  │  │  │  ║  ║        │  │  │  │                ┌─────────────────────────────────┐
            │  ║  │  │  │  ║  ║        │  │  │  └────────────────┤ =1 включить таймер 100й вектор  │
            │  ║  │  │  │  ║  ║        │  │  │                   └─────────────────────────────────┘
            │  ║  │  │  │  ║  ║        │  │  │                   ┌────────┐
            │  ║  │  │  │  ║  ║        │  │  └───────────────────┤ резерв │
            │  ║  │  │  │  ║  ║        │  │                      └────────┘
            │  ║  │  │  │  ║  ║        │  │       ┌─────────────────────────────────────────────┐
            │  ║  │  │  │  ║  ║        │  └───────┤ управление эмуляцией ПЗУ в БК11М =1 включить│
            │  ║  │  │  │  ║  ║        │          └─────────────────────────────────────────────┘
            │  ║  │  │  │  ║  ║        │  ┌──────────────────────────────────────────────────────────────┐
            │  ║  │  │  │  ║  ║        └──┤частота процессора явно те =3 =4 =5 =6 MHz =0 то неопределено │
            │  ║  │  │  │  ║  ║           │ заполняется программно, стартовым ПЗУ                        │
            │  ║  │  │  │  ║  ║           └──────────────────────────────────────────────────────────────┘
            │  ║  │  │  │  ║  ║  ╔═════════════════════════════════════════════════════════════════════════════════╗
            │  ║  │  │  │  ║  ╚══╣  R/W - RAM окно памяти с 0 до 77777 (технически это и окно 100000 до 137777)    ║
            │  ║  │  │  │  ║     ║  в отключенном режиме (=1) на 037ую не проходят запросы с адресов с 0 до 77777  ║
            │  ║  │  │  │  ║     ║  соответственно и 037ая никак не отвечает и не принимает данные на запись       ║
            │  ║  │  │  │  ║     ║  соответственно эта опция включает RPLY на маппере БК11М, а также возможность   ║
            │  ║  │  │  │  ║     ║  читать из маппера !!! при 14 бите =0 опция не работает                         ║
            │  ║  │  │  │  ║     ╚═════════════════════════════════════════════════════════════════════════════════╝
            │  ║  │  │  │  ║     ╔═════════════════════════════════════════════════════╗
            │  ║  │  │  │  ╚═════╣ R/W - ответ на 177660-663 строб 014й =1 отключение  ║
            │  ║  │  │  │        ║  а именно эмуляцию 014й                             ║
            │  ║  │  │  │        ║  те уже пойдет RPLY от AZ на адресах 177660-663     ║
            │  ║  │  │  │        ║  при 14 бите =0 опция не работает                   ║
            │  ║  │  │  │        ╚═════════════════════════════════════════════════════╝
            │  ║  │  │  │  ┌──────────────────────────────────────────────────────────────────┐
            │  ║  │  │  └──┤ R/W - включение эмуляции БК11М =1 включено                       │
            │  ║  │  │     │эта опция может быть активирована только при наличии =1 в бите 12 │
            │  ║  │  │     │(при =0 в бите 12 - игнорируется)                                 │
            │  ║  │  │     └──────────────────────────────────────────────────────────────────┘
            │  ║  │  │     ┌────────────────────────────────────────────────────────────────┐
            │  ║  │  └─────┤ R/W - тип БКшки =0 это 11М, дефолтное состояние  =1 это 10ка   │
            │  ║  │        │ проверяется и устанавливается программно стартовым ПЗУ         │
            │  ║  │        └────────────────────────────────────────────────────────────────┘
            │  ║  │ ┌─────────────────────────────────────────────────────────────────────────────────────────────┐
            │  ║  └─┤ 13 - R/W - наличие работоспособной доработки окна1                                          │
            │  ║    │ =1 - работает отключение окна 1 традиционным методом через оттягивание выхода TM9 на землю  │
            │  ║    │ =0 - доработки нет                                                                          │
            │  ║    │ проверяется и устанавливается программно                                                    │
            │  ║    │ но сбрасывается в 0 при установке бита 14 - см ниже                                         │
            │  ║    └─────────────────────────────────────────────────────────────────────────────────────────────┘
            │  ║ ╔═════════════════════════════════════════════════════════╗
            │  ╚═╣R/O - тип доработки, результат автоопределения в ПЛИС    ║
            │    ║=0 доработка окна 1 или нет доработки                    ║
            │    ║=1 доработка с управлением 037й                          ║
            │    ╚═════════════════════════════════════════════════════════╝
            │    ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
            └────┤ 15 - R/W - =1 отключение окна 1 в БК11М, транслируется из эмуляции SMK                             │
                 │ и в зависимости от типа доработки будет подаваться как сигнал на А22 или как переключение окон 11М │
                 └────────────────────────────────────────────────────────────────────────────────────────────────────┘

    биты
    00 - R/O - версия аппаратной части платы ПЛИС - сейчас там 0
    01 - R/O - версия аппаратной части платы ПЛИС - сейчас там 0

    02 - =1 50Hz =0 60Hz кадровый таймер
    переключение источников таймера, в случае 60Гц - оно идет с VGA модуля, 48Гц генерится из 65MHz

    03 - =1 включить таймер 100й вектор
    включает таймер по 100му вектору безусловно, h

    04 - резерв =0

    05 - управление эмуляцией ПЗУ в БК11М; по-умолчанию расширенные ПЗУ бейсика подключаемые через 177716 в окно 1 (100000-137777)
    ПЗУ 8 [0] - подключает ПЗУ 325, 327 к магистрали
    ПЗУ 9 [1] - подключает ПЗУ 328, 329 к магистрали
    установка этого бита включает полную эмуляцию подключения этих ПЗУ средствами AZБК
    бит независимый от эмуляции БК11М тк может быть случай с БК11М без ПЗУ совсем


    частота процессора явно те =3 =4 =5 =6 MHz =0 то неопределено
    заполняется программно, стартовым ПЗУ
    06 - R/W
    07 - R/W
    08 - R/W


    управление опциями отключения 037й в ПЛИС, доступно программно
    по-умолчанию =0, те опция выключена
    тк все изначально =0, и устанавливаются по HALT-у

    эти опция отключает прохождение SYNC-а на 037 и включает дополнительный функционал
    09 - R/W - RAM окно памяти с 0 до 77777 (технически это и окно 100000 до 137777)
    в отключенном режиме (=1) на 037ую не проходят запросы с адресов с 0 до 77777 соответственно и 037ая никак не отвечает и не принимает данные на запись
    соответственно эта опция включает RPLY на маппере БК11М, а также возможность читать из маппера
    при 14 бите =0 опция не работает

    эти опция отключает прохождение SYNC-а на 037 и включает дополнительный функционал
    10 - R/W - ответ на 177660-663 строб 014й =1 отключение
    а именно эмуляцию 014й
    те уже пойдет RPLY от AZ на адресах 177660-663
    при 14 бите =0 опция не работает

    11 - R/W - включение эмуляции БК11М
    =0 выключено
    =1 включено
    эта опция может быть активирована только при наличии =1 в бите 12 (при =0 в бите 12 - игнорируется)
    функционал эмуляции БК11М на БК10 включает:
    - разрешение записи (RPLY) в 177662
    соответственно работают: палитры + кадровый таймер, частота задается в бите 2

    12 - R/W - тип БКшки
    =0 это 11М, дефолтное состояние
    =1 это 10ка
    проверяется и устанавливается программно стартовым ПЗУ
    опция нужна для дальнейшей работы механизмов эмуляции БК11М на БК10
    наличие в ней =1 обязательно для включения эмуляции БК11М на БК10

    13 - R/W - наличие работоспособной доработки окна1
    =1 - работает отключение окна 1 традиционным методом через оттягивание выхода TM9 на землю
    =0 - доработки нет
    проверяется и устанавливается программно
    но сбрасывается в 0 при установке бита 14 - см ниже

    14 - R/O - тип доработки, результат автоопределения в ПЛИС
    =0 доработка окна 1 или нет доработки
    =1 доработка с управлением 037й

    15 - R/W - =1 отключение окна 1 в БК11М, транслируется из эмуляции SMK
    и в зависимости от типа доработки будет подаваться как сигнал на А22 или как переключение окон 11М

    Регистры-копии данных, доступны только по чтению
    177350 R/O - регистр копия по записи 177130 в режиме записи управления памятью в SMK
    177352 R/O - регистр копия по записи 177716 в режиме записи управления памятью в БК11М

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


    17. RTC часы и энергонезависимая память
    для работы с ними используется новый блок команд AZ
    см https://forum.maxiol.com/index.php?s...ndpost&p=57017


    должны отвечать регистры
    SOUND
    177160-177174
    177200-177212
    AZ
    177220-177226
    дебаг
    177100-177106
    регистры палитр - уже можно экспериментировать
    177230 - видеорежимы
    177232 - номер легаси страницы
    177234 - адрес ячейки палитры [9бит]
    177236 - значение палитры [15бит]
    177240 - регистр номера страницы начала отображения - средняя страница под спрайты
    177242 - регистр номера страницы начала отображения - нижняя страница - под фон

    маппер памяти
    177300-352

    177550 - генератор псевдослучайных чисел
    177560-177566 - UART

    После reset машина стартует автоматически и загружается со первого образа в ini-файле

    В архиве обновленное - надо прошивать ВСЕ
    azboot.ROM
    AZLIB00.ROM
    AZLIB01.ROM
    AZLIB02.ROM
    AZLIB03.ROM
    SETUP.ROM
    AZBK_00014.hex - новая
    AZBK_00014.pof - новая

    Контроллер AZ BK: Прошивка 00014

    Обращаю внимание на необходимость подключить новые ПЗУ в секции ROM

    пример правильной для данной версии прошивки секции ROM
    Код:
    [ROM]
    R00=0:/rom/AZBOOT.ROM
    R01=0:/rom/AZLIB00.ROM
    R02=0:/rom/AZLIB01.ROM
    R03=0:/rom/AZLIB02.ROM
    R04=0:/rom/AZLIB03.ROM
    R08=0:/rom/AZ337.rom
    R16=0:/rom/11m_324.rom
    R18=0:/rom/11m_325.rom
    R20=0:/rom/11m_327.rom
    R22=0:/rom/11m_328.rom
    R24=0:/rom/11m_329.rom
    R26=0:/rom/11m_330.rom
    R28=0:/rom/10_017.rom
    R30=0:/rom/10_018.rom
    R32=0:/rom/10_019.rom
    R34=0:/rom/10_106.rom
    R36=0:/rom/10_107.rom
    R38=0:/rom/10_108.rom
    R56=0:/rom/SETUP.rom


    Установку и настройку сети теперь можно сделать как и в AZ.INI так и в SETUP-е
    пример
    Код:
    [network]
    MAC=002335220510
    DHCPNAME=AZNET-BK10.home.maxiol.com
    DHCP=ON
    TIMEZONE=420
    таймзона - в минутах


    Setup сделан в интуитивно понятном стиле

    Добавлю пояснения по расширенным опциям:

    Для БК11М
    1. для работы дискового бейсика 11М - включаем опцию "ROM 11emulation"
    также эта опция позволит работать на БК11М вообще без каких-либо ПЗУ

    2. V-sync таймер это расширенный таймер через 177346 (см выше)

    Для БК10
    в зависимости от доработок будут доступны опции
    - FastRAM - это режим 10ки но с быстрой нижней памятю
    - BK11 emulation - режим эмуляции БК11М
    - внешняя PS/2 клавиатура

    Горячие кнопки:
    после появления надписи "Press KT to run Setup"
    доступны следующие горячие кнопки
    1. КТ - запуск SETUP-а, это не мгновенно, не беспокойтесь!
    2. Пробел - выход в монитор (БК10 или БК11М - в зависимости от БК и ее режима)
    3. Цифры от 0 до 9 - загрузка с выбранного диска
    /также напоминаю, что выбор дефолтного бутового диска в SETUP-е/


    Рабочие комплекты
    ANDOS + ПРИНЦ

    на БК10 с 3MHz запускать start2.exe (тк у БК не хватает быстродействия отобразить заставку пришлось внести коррективы)



    Про доработку БК-0010(01) читать тут
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  6. #256
    Junior
    Регистрация
    12.12.2008
    Адрес
    Москва
    Сообщений
    2
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    177560-177566 - UART
    Насколько помню, регистры БКшного ИРПС размещаются с адреса 176560.
    В исходниках Бейсик-Вильнюс константа IRPSRG==176560.

    И в официальной документации тоже 176560:
    https://gid.pdp-11.ru/books/00001-01...#_Toc381877467

  7. Этот пользователь поблагодарил a153 за это полезное сообщение:

    SuperMax (06.11.2023)

  8. #256
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  9. #257
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мне тут были заданны вопросы по поводу формата и качества звука формируемого при помощи AZБК

    итак, все детально

    1. через единый выход вы получите:
    - звук со спикера
    - звук с ковокса (stereo и mono, есть и 8 и 16 бит)
    - звук с legacy AY причем возможно выбирать какое звучание вам ближе: YM2149 или AY8910
    - звук с 2x AY ( и тоже возможно выбирать какое звучание вам ближе: YM2149 или AY8910 )
    - звук с DMA контроллера IMA ADPCM - это 16 бит х 44100

    2. теперь про качество
    - звуковой тракт усилителя целиком питается от отдельного преобразователья +12 -12В (иначе говоря обеспечена полная развязка питания)
    - используется профессиональный (можно сказать аудиофильский ЦАП) TDA1387, питатся от отдельного стабилизатора
    - частота дискретизации на ЦАП - NTSC/34 => те в районе 100кГц, иначе говоря все преобразования происходят наиболее качественно, на уровне современного высококачественного звука

    На основании вышеизложенного, могу с чистой совестью сказать, что AZБК это самый качественный и самый мультиформатный вывод звука из БК, да и впрочем относительно других платформ на данный момент тоже.
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  10. #258
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак в AZБК начал работать блиттер, он сейчас в разработке

    смотреть тут
    https://t.me/pdp11_az/15708/16267

    читать тут
    https://forum.maxiol.com/index.php?s...ndpost&p=58014
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  11. #259
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Блиттер в стадии полного тестирования, соответственно в канале доступна прошивка и диск с тестами
    https://t.me/pdp11_az/14373/16541

    На форуме выкладываю исходники и видео работы блиттера
    https://forum.maxiol.com/index.php?s...ndpost&p=58282
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  12. #260
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,181
    Спасибо Благодарностей отдано 
    313
    Спасибо Благодарностей получено 
    353
    Поблагодарили
    248 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Разработал калькулятор команд блиттера
    http://master.pdp-11.ru/blitter_calc...lculator2.html
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

Страница 26 из 27 ПерваяПервая ... 222324252627 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор БК-0010-01, БК-0011 и БК-0011М
    от Doronetty в разделе Эмуляторы отечественных компьютеров
    Ответов: 191
    Последнее: 11.05.2024, 09:15
  2. Режим совместимости БК-0011М с БК-0010
    от Oleg N. Cher в разделе БК-0010/0011
    Ответов: 62
    Последнее: 19.12.2021, 12:03
  3. Отличия БК-0011М от БК-0010(01)?
    от nzeemin в разделе БК-0010/0011
    Ответов: 22
    Последнее: 30.03.2021, 18:47
  4. Ответов: 37
    Последнее: 16.04.2019, 21:21
  5. Ответов: 66
    Последнее: 03.05.2014, 14:58

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •